You are here

Projekt 1: Stationäres Sensor-Bundle

A'la sensebox home (sensebox.de) mit zusätzlicher Schadstofferfassung

Sensoren:

  1. VEML-6070 UV-Sensor, I2C, 5V
    http://www.watterott.com/de/VEML6070-Breakout-UV-Lichtsensor
    https://learn.adafruit.com/adafruit-veml6070-uv-light-sensor-breakout?vi...

  2. BME 280, Feuchte-, Luftdruck-, Temperatur-Sensor, I2C, 3.3V
    https://www.adafruit.com/product/2652
    https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-...

  3. TSL2561 Lichtsensor, I2C, 3.3V
    I2C Addr 0x39, erster Test am 23.2.2018
    https://paradisetronic.com/de/sensoren/tsl2561-lichtsensor-modul-i2c
    https://github.com/adafruit/TSL2561-Arduino-Library
    Der Beispiel-Sketch verwendet 4926 Bytes (15%) des Arduino-UNO-Speichers.

  4. Grove - Multichannel Gas Sensor, I2C, 3,3V,
    bestellt am 29.01.2018, erhalten (aus China) am 21.2.2018, erster Test am 23.2.2018
    http://wiki.seeed.cc/Grove-Multichannel_Gas_Sensor/
    Der Beispiel-Sketch verwendet 8986 Bytes (27%) des Arduino-UNO-Speichers.

  5. SDS011 Feinstaubsensor, SW-seriell, 5V
    Test 23.2.2018 OK
    https://github.com/sensebox/SDS011-select-serial
    Der Beispiel-Sketch verwendet 7614 Bytes (23%) des Arduino-UNO-Speichers.

 

Um festzustellen, ob sich die Sensoren überhaupt alle zusammen an einem UNO betreiben lassen, machen wir eine Abschätzung, indem wir die Größe der Beispiel-Sketche zweier einzelner Sensoren mit der Größe eines Sketches vergleichen, in dem mehrere verschiedene Sensoren bedient werden.

Feinstaub und Licht: Der Beispiel-Sketch verwendet 10722 Bytes (33%) des Arduino-UNO-Speichers.
Feinstaub, Licht und LCD2004: Der Beispiel-Sketch verwendet 12376 Bytes (38%) des Arduino-UNO-Speichers.

Vermutlich könnte der Programmspeicher für die insgesamt 7 Komponenten reichen.

 

Ein-/Ausgabe:

WIFI über einen ESP8266 oder ESP32 (die eigentlich für sich alleine schon deutlich mehr Verarbeitungskapazität wie der UNO haben), SW-Seriell, 3,3V
http://www.mikrocontroller-elektronik.de/nodemcu-esp8266-tutorial-wlan-b...
https://www.heise.de/developer/artikel/Arduino-goes-ESP8266-3240085.html
https://create.arduino.cc/projecthub/circuito-io-team/simple-arduino-uno...
https://learn.sparkfun.com/tutorials/esp8266-wifi-shield-hookup-guide
http://www.instructables.com/id/Cheap-Arduino-WiFi-Shield-With-ESP8266/

https://www.heise.de/developer/artikel/Make-your-own-ESP8266-WiFi-Shield...
https://github.com/bportaluri/WiFiEsp/blob/master/test/EspDebug/EspDebug...

Wifi-ConnectWithWPA via SPI: Der Beispiel-Sketch verwendet 6562 bytes (20%) des Arduino-UNO-Speichers.
wifisample01 via SWSerial: Der Beispiel-Sketch verwendet 10758 bytes (33%) des Arduino-UNO-Speichers.

Mit einem Micro-USB an einen USB-2 Port anstöpseln und z.B. mit miniterm.py AT Kommandos testen.

  • AT+CWMODE?  Sollte "1" zurückgeben (=station/client mode)
  • AT+CWLAP  listet die in Reichweite befindlichen APs auf (benötigt CWMODE=1)
  • AT+CWJAP_CUR="ssid","password"  verbindet mit einem AP
  • AT+CWJAP?  fragt ab, mit welchem AP eine Verbindung besteht
  • AT+CIFSR  liefert die IP-Adresse und die MAC

http://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/
https://www.espressif.com/sites/default/files/documentation/4a-esp8266_a...

Status 4.3.2018:  Nach diversen verschiedenen erfolglosen Versuchen, vom Arduino aus mit dem ESP8266 über SoftwareSerial oder NeoSWSerial zu reden, überlegen wir uns, ob das Projekt nicht doch besser mit einem ESP32 durchzuführen wäre.


Ein angeschlossenes LCD oder OLED (damit man auch sieht, was gerade so abläuft)
Sainsmart2004i2c: Der Beispiel-Sketch verwendet 4666 Bytes (14%) des Arduino-UNO-Speichers.

als Backup bei Ausfall der WiFi Verbindung ggfs. eine SD-Karte (über SDI Bus)

 

Systemübersicht:

 

Magenta und Blau: Datenverbindungen