Benutzer-Werkzeuge

Webseiten-Werkzeuge


nodemcu:feinstaubsensor

Feinstaubsensor

Im Frühjahr 2018 bin ich über das Citizen Science-Projekt https://luftdaten.info gestolpert und war sofort begeistert. Die Idee hinter dem Projekt ist, verteilt über die ganze Welt die Feinstaubbelastung der Luft zu messen und in Echtzeit auf einer Karte darzustellen. Für die Erfassung des Feinstaubs kommt der Feinstaubsensor SDS011 zum Einsatz, außerdem werden die Lufttemperatur- und Feuchte sowie der Luftdruck mit dem BME280 gemessen. Die Daten werden ca. alle zweieinhalb Minuten über das WLAN an den Server von Luftdaten.info übertragen. Der Zusammenbau des Sensors ist sehr einfach. Ich habe mir für den Sensor ein formschönes und unauffälliges Gehäuse gedruckt.

Elektrischer Aufbau und Programmierung

Verbaut wurden der Feinstaubsensor SDS011 unf der Temperatur- und Luftfeuchtigkeitsstensor BME280, der zusätzlich auch den Luftdruck misst. Die Sensoren wurden wie bei Luftdaten.info beschrieben angeschlossen.

Um die Elektronik gegen Verpolung und Überspannung zu schützen, habe ich einen Pololu 5V, 2.5A Step-Down Spannungsregler (D24V22F5) vorgeschaltet. Dieser Spannungsregler ist zwar völlig überdimensioniert, sein Vorzug gegenüber kleineren Spannungsreglern von Polopu ist aber der integrierte Verpolungsschutz. Die Eingangsspannung darf damit zwischen 6 und 36 Volt liegen. Die Spannungsversorgung erfolgt mit einem Steckernetzteil mit 12 Volt. Der Stromverbrauch liegt in den Messpausen bei ca. 60 mA und steigt während der Messung auf ca. 110 mA. Der NodeMCU ist auf eine kleine Lochrasterplatine gesteckt, so dass bei Bedarf ein einfacher Austausch möglich ist.

Die größte Herausforderung was das Einspielen der Firmware. Auf einem Computer mit Windows 10 klappte das nicht, auf einem älteren Laptop mit Windows 7 funktionierte die Übertragung wie bei Luftdaten.info beschrieben. Hilfreich was auch dieses Video-Tutorial. Mein Kommandozeilenbefehl sieht wie folgt aus:

Users\Peter\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12\esptool.exe -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp COM5 -cf Users\Peter\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12\latest_de.bin

Hilfreiche Webseiten für die Konfiguration:

Die ID meines Feinstaubsensors ist 10443411.

Gehäuse

Um die Elektronik gegen Wind und Wetter zu schützen, habe ich ein Gehäuse gedruckt. Der Feinstaubsensor und der NodeMCU nebst Spannungsregler sind zweiseitig auf einen Komponententräger geschraubt, der hochkant von unten in das Gehäuse geschoben wird. Anschließend wird ein Deckel in das Gehäuse geschoben und mit zwei Schrauben mit dem Gehäuse verschraubt. Der Deckel führt den Silikonschlauch des Feinstaubsensors an ein Fliegengitter und bietet dem BME280 ein Zuhause, der dicht an dem Fliegengitter montiert ist. Das Fliegengitter wird schließlich von einer Wabengitterstruktur fixiert, die mit einer einzelnen Schraube mit dem Deckel verbunden wird.

Die STL-Dateien für das Gehäuse habe ich bei Thingiverse hochgeladen.

Daten abrufen

Aus dem Heimnetz können die aktuellsten Messergebnisse hier eingesehen werden. Außerdem - und das ist der interessantere Teil - werden die Daten des Feinstaubsensors etwa alle 2,5 Minuten an die Server von Luftdaten.info, Madavi.de und OpenSenseMap übertragen.

Luftdaten.info

Bei Luftdateninfo ist die ID meines Feinstaubsensors 11016 und die des Temperatur- und Luftfeuchtesensors 11017.

Madavi.de

OpenSenseMap.org

Eine Anleitung, wie man eine so genannte SenseBox bei OpenSenseMap einrichtet und die Daten des eigenen Sensors übermittelt, gibt es hier.

Auf dieser Seite werden Cookies für die Bereitstellung personalisierter Inhalte und die Seitenanalyse mit Matomo verwendet. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Weitere Information
nodemcu/feinstaubsensor.txt · Zuletzt geändert: 15.04.2018 17:11 von Frickelpiet