Aktionen

Workshop Luftdaten

Aus exmediawiki

  • Feinstaub-Messtation selber bauen
  • Luftqualität messen und visualisieren
  • Aus den übermittelten Daten generiert luftdaten.info eine sich ständig aktualisierende Feinstaub-Karte.


https://luftdaten.info/feinstaubsensor-bauen/
https://www.hackair.eu/

Einkaufsliste

https://luftdaten.info/feinstaubsensor-bauen/

  • NodeMCU ESP8266, CPU/WLAN, Reichelt, 8,50€
  • SDS011 Feinstaubsensor (früher PPD42NS), Reichelt, ca. 30€
  • DHT22, Temperatur & Luftfeuchtigkeit (optional), Reichelt, ca. 5€
  • (kurzes) Micro-USB-Kabel Reichelt
  • Wetterschutz, z.B. Bauhaus
  • Steckbrückenkabel f/f
  • Plastikschlauch für Anschluss an Sensor (Durchmesser?)
  • USB-Ladegerät 5V, Reichelt



Vorab kann man sich hier die Videoanleitungen für einen groben Überblick anschauen
https://luftdaten.info/faq/


Vorgehensweise

https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen


USB2serial Treiber installieren


Identifizieren der Version des NodeMCU - wir haben den älteren CP2102 (V2)

Achtung, der Link zum Treiber von Lilicon Labs ist veraltet, hier ein aktueller:
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

Wenn man das runtergeladete .dmg file entpackt, findet man darin einen Folder "Legacy MacVCP Driver"

About the Legacy Driver
This is the 4.x Mac VCP Driver for CP210x parts. This supports MacOS X version 10.9 and up. This is provided in case you need support for the older versions of MacOS X because version 5.0 supports 10.11 and up. The legacy driver does not have GPIO support.


hilfreicher Blogpost_:
https://www.silabs.com/community/interface/forum.topic.html/cp210x_usb_to_uartb-LJMf

If it's installed, there should be a "SiLabsUSBDriver.kext" file in /Library/Extensions with a date created of June 16, 2017.
Irgendwo stand man muss es zwei mal installieren...

Jetzt müsste der Treiber mal instlliert sein. Und jetzt?


Firmware einspielen mit der Arduini IDE

Arduino öffnen (ich benutze mal Arduino 1.8.5)

siehe https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen#firmware-einspielen
Erweiterung für ESP8266 gemäß Anleitung zur Installation mit Boards Manager installieren.

Unter Werkzeuge > Port erscheint jetzt /dev/cu.SLAB_USBtoUART
Das heißt der Treiber für das Board wurde wohl erkannt bzw. funktioniert
Bei Werkzeuge > Board das entsprechende Board auswählen (bei mir: generic ESp8266 modue)
Arduino IDE beenden

Port identifizieren
Unter Werkzeuge > Port den richtigen Port auswählen

   MAC: Beim CP2102 wäre das auf der /dev/cu.SLAB_USBtoUART, für den CH340G ist es der Port /dev/cu.wchusbserialXXXXXXXX.
   Windows: Windows COM3. Wenn dies nicht der richtige ist, dann einfach den nächsten in der Liste auswählen.
   Linux: /dev/ttyUSB0

Dann Werkzeuge > Boardinformation

Bei mir erscheint:
BN: Unbekanntes Board
VID: 10C4
PID: EA60
SN: Laden Sie irgendeinen Sketch hoch, um sie abzurufen
Arduino IDE wieder schließen.


Firmware kompilieren und übertragen



Ging irgendwie alles nicht, letztendlich habe ich esptool mit pip installiert wie hier beschrieben:

https://alexbloggt.com/nodemcu-einfuehrung/

Successfully built esptool pyaes Installing collected packages: pyserial, pyaes, ecdsa, esptool Successfully installed ecdsa-0.15 esptool-2.8 pyaes-1.6.1 pyserial-3.4


pffffffff ahhhhh
letztendlich hab ich jetzt dies hier befolgt und über Kommandozeile esptool installiert, das jetzt in Dokumente liegt
https://diyprojects.io/esptool-update-of-firmware-nodemcu-esp8266-on-macos/#.Xo3pXm7grMU

per kommandozwile nochmal gucken wo es drainhängt
ls /dev/tty.*
Antwort: /dev/tty.SLAB_USBtoUART

sudo python esptool.py --baud 921600 --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 ~/Downloads/latest_de-1.bin
bzw. /Downloads/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin
hat irgendwas gemacht, scheint funktioniert zu haben !?

  • esptool.py v3.0-dev
  • Serial port /dev/tty.SLAB_USBtoUART
  • Connecting........_
  • Detecting chip type... ESP8266
  • Chip is ESP8266EX
  • Features: WiFi
  • Crystal is 26MHz
  • MAC: 84:0d:8e:92:ed:29
  • Uploading stub...
  • Running stub...
  • Stub running...
  • Changing baud rate to 921600
  • Changed.
  • Configuring flash size...
  • Auto-detected Flash size: 4MB
  • Compressed 522736 bytes to 365461...
  • Wrote 522736 bytes (365461 compressed) at 0x00000000 in 5.5 seconds (effective 755.7 kbit/s)...
  • Hash of data verified.
  • Leaving...
  • Hard resetting via RTS pin...
  • (base) VerenaFichsMBP2:esptool heavythinking$


Wie hier beschrieben https://github.com/opendata-stuttgart/sensors-software/tree/master/airrohr-firmware hat das teil jetzt ein eigenes WiFi network erzeugt und ich kann es in der Liste sehen....

im Arduino Serial Monitor erscheint:

  • 0⸮~?⸮4⸮Ҷ�⸮⸮�OCA⸮⸮⸮airRohr: NRZ-2020-129/DE
  • mounting FS...
  • failed to open config file.
  • output debug text to displays...
  • Connecting to Freifunk-disabled
  • ........................................
  • output debug text to displays...
  • Starting WiFiManager
  • AP ID: airRohr-9628969
  • Password:
  • scan for wifi networks...
  • AP Password is:
  • Starting Webserver... (IP unset)

Hardware zusammenbauen

Liste Bauteile

  • 1 x NodeMCU (V2) mit fertig aufgespielter Firware
  • 1 x Feinstaubsensor SDS011
  • 1 x Sensor Temperatur & Luftfeuchtigkeit DHT22
  • Verbindungskabel, Länge 20cm (sog. Dupont-Kabel, Buchse auf Buchse)
  • Steckernetzteil USB, USB-Verlängerungskabek
  • Schlauch...
  • 2 X Marley-Bogen
  • Kabelbinder klein
  • Heißklebepistole


Siehe zum Einstieg https://luftdaten.info/feinstaubsensor-bauen/#komponenten-schaltung
Diese Anleitung bezieht sich jedoch auf Version 3 der NodeMCU (V3), wir haben jedoch V2 – daher ist die Pinbelegung geringfügig anders als hier abgebildet...

Zu den unterschiedlichen Pin-Layouts siehe auch:
https://github.com/opendata-stuttgart/meta/wiki/Pinouts-NodeMCU-v2,-v3
oder besser gleich hier:
https://github.com/opendata-stuttgart/meta/wiki/Zusammenbau-der-Komponenten-(Schaltung)

Anleitung Elektronische Schaltung


Der Temperatur- und Luftfeuchtigkeitssensor DHT22 sowie der Feinstaubsensor SDS011 werden mit Dupont-Kabeln an den Chip (NodeMCU) angeschlossen.

Anschluss des DHT22 Sensors an den NodeMCU


Esp8266-nodemcu-pins-DHT22.jpg


Der DHT22 hat 4 Pins, davon werden jedoch nur 3 genutzt und mit dem NodeMCU verbunden.
Pins sind von LINKS nach RECHTS nummeriert, Vorderseite ist das "Gitter".

In diesem Fall ist die Pinbelegung für V2 und V3 gleich.

  • DHT22 Pin 1 -> Pin 3V3 (3.3V)
  • DHT22 Pin 2 -> Pin D7 (GPIO13)
  • DHT22 Pin 3 -> unused
  • DHT22 Pin 4 -> Pin GND


Alternative:
Hier gibt es noch eine Alternative bzw. bessere Variante.
Und zwar dass man Pin 1 des DHT22 (der normalerweise nur an 3V3 geht), auch an 5V(VU an ESP), z.B. mit doppelt männlichem Dupont-Kabel auf VU Dupontbuchse hinten aufstecken (neben das Kabel, es ist eng und kann schwierig sein).

Anschluss des SDS011 an den NodeMCU (V2)

Esp8266-nodemcu-pins-sds011.jpg


  • SDS011 Pin TXD -> Pin D1 / GPIO5
  • SDS011 Pin RXD -> Pin D2 / GPIO4
  • SDS011 Pin GND -> GND
  • SDS011 Pin 4 -> unused
  • SDS011 Pin 5V -> VIN (VU für NodeMCU V3)
  • SDS011 Pin 6 -> unused
  • SDS011 Pin 7 -> unused


Anders als bei Version 3 sind für die Version 2 des NodeMCU die Anschlüsse VIN und GND neben dem MicroUSB-Anschluß zu nutzen (anstelle oben links).
Beim Verbinden darauf achten, dass die Kabel wirklich auf den Pins stecken, da die meisten Dupont-Kabel auch "neben" die Pins passen

Mechanischer Aufbau


Hier kann mal wieder vorab mal hier auf die Bilder schauen:
https://luftdaten.info/feinstaubsensor-bauen/#komponenten-zusammenbau
oder hier zur genaueren Anleitung auf Github:

  • NodeMCU und Feinstaubsensor mit Kabelbinder verbinden (an den Ösen so zusammenbinden, dass die WLAN Antenne vom Sensor weg zeigt)
  • Den Plastikschlauch auf ca. 20cm kürzen und auf den SDS011 aufstecken
  • Mit dem zweiten Kabelbinder den Temperatursensor DHT22 am Schlauch befestigen.

Inbetriebnahme der Messstation

Internetverbindung

...


Wenn keine weiteren Änderungen vorgenommen worden als das Eintragen der WLAN-Daten, kann der Sensor nach ca. 10 Minuten auf den folgenden Seiten ‚getestet werden. Gesucht werden muss auf diesen Seiten nach der ChipID (z.B. die 13597771).
Sensordaten
WLAN-Signal


Sensor registrieren

hier müsste man sich eigentlich registrieren können, es kommt aber keine Mail.... https://meine.luftdaten.info/