Impressum


Feinstaubalarm oder wie gut ist die Luft? geschrieben am 05.02.2017

Die Tage habe ich mich dem Feinstaubprojekt/luftdaten.info aus Stuttgart angeschlossen.

Dort möchten sie die öffentlichen Messstellen mit eigenen Sensoren unterstützen.

Hardware & Investition

Das Projekt basiert auf einem NodeMcu mit ESP8266 Chip und einem SDS011 Sensor.
NodeMcu V3 ESP8266

Meine Einkaufsliste sieht wie folgt aus:
2x Rohrbogen DN75, 87° 2,58€
NodeMcu V3 Lua WIFI ESP8266 2,94€
Nova PM sensor SDS011 21,69€
5m USB-micro 7,99€
DHT22 ca. 1-2€
Stück Schlauch durchsichtig 6mm aus der Restekiste

Für mich lagen die Kosten bei ca. 37 Euro. Den SDS011 und NodeMcu haben ich in China bestellt, die Rohrbogen aus dem Baumarkt geholt und den Rest in Deutschland bestellt.
Der Schlauch wird am Sensor angeschlossen und ist so lang, dass er etwas aus den Rohstücken hervor guckt. Damit ist gewährleistet das frische Luft angesaugt wird.

Siehe auch: http://luftdaten.info/feinstaubsensor-bauen/.

Firmware

Die Software kann mit dem Arduino auf die ESP8266 kompiliert werden. Das Projekt ist auf github.com/opendata-stuttgart/sensors-software... zu finden. Dort gibt es auch alle weiteren Erklärungen.

Anbringung des Sensors

Balkon
Ich habe den Sensor hinter der Balkonabsperrung aufgehangen. Durch die offene Bauweise kommt dort genug Luft vorbei.

Funktion

Das Programm auf dem ESP8266 misst einmal in der Sekunde die Staubbelastung und sendet die Daten an das Projekt. Es gibt aber auch die Möglichkeit die Daten selber zu nutzen.

einstellungen

rp1 ist hier mein lokaler Server und die URL des Empfängerscript ist "io/feindata.php".

Software

Um die Daten selber zu nutzen habe ich auf meinem Raspi ein php-Script erstellt, welches die Daten empfängt und wegspeichert:
php $logURL="feinstaub.log"; $logToOrdner="feinstaublog/".date('Ymd').".log"; $itime= time();//timestamp Januar 1 1970 00:00:00 GMT $datum= date('Y-m-d'); $zeit= date('G:i:s'); $daten = file_get_contents('php://input'); //aktuelles Messwert $handle=fopen($logURL,'w');//Datei überschreiben fwrite ($handle, "{" ); fwrite ($handle, '"time":'.$itime.','); fwrite ($handle, '"datum":"'.$datum.'",'); fwrite ($handle, '"zeit":"'.$zeit.'",'); fwrite ($handle, '"daten":'.$daten ); fwrite ($handle, "}".chr(10) ); fclose ($handle); //als Datensätze in Ordner, $add=file_exists($logToOrdner); $handle=fopen($logToOrdner,'a');//Daten anhängen if($add)fwrite ($handle, "," ); fwrite ($handle, "{" ); fwrite ($handle, '"time":'.$itime.','); fwrite ($handle, '"datum":"'.$datum.'",'); fwrite ($handle, '"zeit":"'.$zeit.'",'); fwrite ($handle, '"daten":'.$daten ); fwrite ($handle, "}".chr(10) ); fclose ($handle);
Der Knackpunkt an der Geschichte war, das ich die Daten nicht per $_POST empfangen konnte - es läuft hier über file_get_contents.

Ein Datensatz vom Sensor sieht so aus:
JavaScript{ "software_version": "NRZ-2016-062", "sensordatavalues":[ {"value_type":"SDS_P1","value":"19.75"}, {"value_type":"SDS_P2","value":"6.52"}, {"value_type":"temperature","value":"5.20"}, {"value_type":"humidity","value":"81.90"}, {"value_type":"samples","value":"339826"}, {"value_type":"min_micro","value":"160"}, {"value_type":"max_micro","value":"26707"}, {"value_type":"signal","value":"-61 dBm"} ] } Ich habe neben dem Feinstaubsensor (Nova PM sensor SDS011) noch ein DHT22 Temperatur und Feuchtigkeitssensor angebaut.

Auswertung

Nun läuft der Sensor seit ca. einem Monat. Ich habe mir mit etwas Javascript die Daten angezeigt:
Feinstaubmessung Februar 2017
Die rote 50µg/m³ Linie markiert den Punkt über dem die Belastung nicht gehen sollte (siehe auch feinstaub-stuttgart.info/fragen-antworten).

Was zu beobachten ist, das wenn feuchtes Regenwetter ist (ab 20.2.2017) die Kurven (lila-PM2.5 & braun-PM10) fallen. Die Luft wurde durch den Regen schön gereinigt.
Zwischen dem 13.2.2017 und 17.2.2917 war es eher trocken und die Linien waren oberhalb der roten Markierung.
Interessanterweise stiegen die Messwerte am Wochenende an und fielen montags wieder ab, ich hätte gedacht das es durch den Berufsverkehr eher am Anfang der Woche schlimmer wird.

offizielle Auswertung

Vom Projekt gibt es auch eine Karte wo alle Sensoren mit aktuellen Werten angezeigt werden.
Hier ein Screenshot vom 26.2.2017
Screenshot
Wie man sieht haben sich auch Leute außerhalb Deutschland gefunden, die das Projekt nutzen.
Meiner ist übrigens zur Zeit der nördlichste Punkt, ganz oben auf der Karte.

Fazit

Der Aufbau ist sehr einfach, die Hardware muss nur zusammen gesteckt werden. Die Lieferung aus China dauert wie gewohnt ein paar Tage (20-30). Die Software lässt sich einfach aufspielen.
Für das private Vergnügen lassen sich die Daten auch nutzen um Kurvendiagramme zu erstellen.



schreibe den ersten Kommentar:


Inhalt zur freien Verwendung gibs es beim Thema Downloads.
nach oben springen
Instagram