Denn Staub bist du und zum Staub kehrst du zurück

Feinstaubsensor mit Controller und Temperaturfühler

Feinstaub wird zur Zeit heiß diskutiert. Und beinahe wäre es gelungen den Schuldigen zum Opfer zu machen. Da tritt ein Arzt auf den Plan und erklärt uns, er hätte noch nie jemanden an zu viel inhalliertem Staub sterben sehen. Die Autoindustrie war schon im Begriff den staubigen Mantel abzustreifen, alle Schuld vergessen zu machen, um dem armen Bürger seinen Staubbläser erhalten und um Abgase weiter versilbern zu können. Am Ende werden wir alle zu Staub, der Manager, der die manipulierte Software gebilligt hat, der Arzt, der sich um den Faktor 1000 verrechnete, der Besitzer eines völlig überdimensionierten Autos und der Rentner, der sich nur eine alte Kiste leisten kann. Ob wir nun aber am Staub zu Grunde gehen? Zumindest kann man ihn jetzt messen, auch mit kleinem Geldbeutel, wenn auch nicht so genau, aber immerhin.

Eigentlich ist der unten verlinkten Anleitung nichts mehr hinzuzufügen. Trotzdem möchte ich hier dokumentieren wie ich es gemacht habe.

Controller für Feinstaubsensor

Ein Minirechner zur Steuerung und Datenübermittelung

Ein 32-Bit-Mikrocontroller übernimmt die Steuerung. Die ca. 5cm und 2cm breite Platine esp8266 hat neben einem Micro-USB-Anschluss eine W-LAN-Antenne und zahlreiche Pins zum Anschluss von Modulen. Dieser Mikrocontroller benötigt ein Betriebssystem. Das System auf den Chip zu übertragen nennt man flashen. Bevor wir den Controller dazu mit dem Computer verbinden sind folgende Schritte nötig.

Software auf dem Computer vorbereiten

Ich habe dazu unter ubuntu-Linux die Arduino-IDE installiert:

Controller mit Laptop

Mikrocontroller mit PC verbinden und Software aufspielen

Zur Verbindung mit dem PC habe ich ein USB-Handy-Kabel benutzt. Das erste Kabel war nur fürs Laden gedacht und für den Anschluss des Controllers nicht geeignet. Der Computer hat einfach nicht mitbekommen, dass der Controller angeschlossen war. Leider sieht man das dem Kabel von außen nicht an. Kabel, die Power-Banks beiliegen, können solche eingeschränkte Funktionalität haben. Mit dem zweiten Kabel, dass ich ausprobierte, tat sich endlich etwas. Im Terminal: ls -la /dev zeigt ein zusätzliches /dev/ttyUSB0, das ist mein Controller! Diese Angabe wird für das Überspielen der Software benötigt und kann auf anderen Computern anders lauten. Damit dieser Port zur Übertragung genutzt werden kann, ist noch eine Rechtefrage zu klären:

  • sudo usermod -a -G dialout ${USER}

Mit diesem Befehl wird der aktuelle Benutzer der Gruppe dialout zugefügt. Erst mit dieser Berechtigung können wir weiter machen. Dazu einmal aus- und wieder einloggen.

Nun kann geflasht werden. Der Befehl dazu lautet:

~/.arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/ttyUSB0 -cf /home/USER/Downloads/latest_de.bin

Eine kurze Erklärung des Befehls:

  • ~/.arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9 Das ist das Programm welches ausgeführt werden soll. Es wurde mit der Arduino-IDE installiert
  • -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/ttyUSB0 -cf Optionen des Programms
  • /home/USER/Downloads/latest_de.bin Die Datei, die das Betriebssystem enthält und die im vorangegangene Abschnitt heruntergeladen wurde. (USER mit dem eigenen Benutzernamen ersetzen)

Nun sollte der Controller heftig blau blinken. Bei mir tat er es aber nicht, es ging nach dieser Meldung einfach nicht weiter opening port /dev/ttyUSB0 at 57600. Ich hatte zwar ein voll belegtes USB-Kabel, aber es war schadhaft. Ein abermaliges Wechseln des USB-Kabels führte dann zum Erfolg.

Feinstaubsensor Anschlüsse

Hardware zusammenbauen

Drei Komponenten sind elektrisch zu verkabeln. Der Controller, der Feinstaubsensor und der Temperatur- und Luftfeuchtefühler. Die Verbindung erfolgt mit kleinen Steckkäbelchen, ein Lötkolben ist nicht nötig. Die Anschlussbelegung ist im Tutorial von luftdaten.info gut dokumentiert. Zur Fixierung der Steckkontakte habe ich zusätzlich ein wenig Heißkleber aufgetragen. Der Feinstaubsensor saugt die Luft durch einen Stutzen an, auf den man ein kurzes Stück Schlauch aufsteckt. Er sollte nicht transparent sein, weil sich sonst ein “biologischer” Belag auf und in dem Schlauch bilden kann. Transparenter Schlauch ist aber leichter zu beschaffen. Deshalb habe ich auf den transparenten Schlauch ein Stück schwarzen Schrumpfschlauch geschoben.

Nun können die drei verbundenen Teile in ein gut belüftetes Rohr geschoben werden. Geht man wie im Tutorial vor, so ist keine weitere mechanische Fixierung nötig. Ich habe einen Drainagebogen benutzt, der von Bauarbeiten übrig war. Darin habe ich die Apparatur mit Kabelbindern und Heißkleber fixiert.

Feinstaubsensor Konfiguration

W-LAN einrichten und erste Messungen

Der Sensor übermittelt die Meßwerte via W-LAN über das Hausnetz an die Server von luftdaten. Dazu müssen die W-LAN-Einstellungen des Controllers angepasst werden. Solange dies nicht der Fall ist und der Controller mit Strom versorgt wird, erzeugt er einen W-LAN Accesspoint. Verbindet man nun z.B. ein Handy oder Computer mit dem Accesspoint Feinstaubsensor, kann man die W-LAN-Einstellungen vornehmen.

Wichtig! Auf der Startseite des Accesspoints wird die Sensor-ID angezeigt. Dies muss man unbedingt notieren!

Nachdem man die WLAN Zugangsdaten eingetragen und gespeichert hat, wird der Sensor neu gestartet. Nun erzeugt der Controller keinen Accesspoint mehr, sondern ist im W-LAN als Gerät, bei mir mit der Bezeichnung esp_nnnn, zu finden. Wenn alles funktioniert kann man nun schon in Abständen hören, wie der Lüfter des Sensors Luft ansaugt. Nach ein paar Minuten sollte der Sensor unter der Nummer, die man sich notiert hat, auf dem Madavi Server zu finden sein.

Feinstaubsensor montiert in einem Rohrbogen

Am endgültigen Standort einrichten

Der Sensor sollte mindestens in einer Höhe von 2 Metern und einem Mindestabstand von 50cm vom Gebäude aufgestellt werden. Damit es sich Insekten im Innern des Rohres nicht gemütlich machen, kann an die Öffnungen ein Netz geklebt werden. Zur Stromversorgung habe ich übrigens ein altes Handy-Netzteil verwendet.

Weiterführende Informationen

This article was updated on February 12, 2022