Categories
IoT

#8: Luftqualitäts-Sensor

Während meiner Auseinandersetzung mit IoT, MQTT und Tasmota bin ich irgendwann über SuperHouse.tv des Australiers Jonathan Oxer gestolpert.

Er zeigt im Beitrag #38, wie man einen Luftqualitäts-Sensor vorgestellt, der mit Hilfe eines Laserscatter Sensors, Partikel verschiedener Grössen in einem Volumen von Luft bestimmt und diese Werte via einem ESP8266 nach MQTT und dann nach InfluxDB zu schreiben.

Warum einen Luftqualitäts-Sensor bauen? Die ganze Covid-Pandemie hat ja durchaus aufgezeigt, welchen Sinn oder Unsinn das Wissen über Luftqualität haben kann. Kombiniert mit einem CO2 Sensor kann so ein Partikel-Sensor durchaus hinweise darauf geben, ob man Lüften sollte oder nicht.

Schaut man sich bei Adafruit um findet man diesen Artikel (siehe auch die Abbildung), der Aufzeigt, was man mit dem PMS5003 Partikelsensor so alles messen kann.

Adafruit über PMS5003

Viren kann man zwar keine mit dem Sensor detektieren – oder besser gesagt Partikel in der Grösse von Viren, aber ich denke, wenn man einen deutlichen Anstieg von Partikeln an der unteren Messauflösung feststellt, könnte man mal Lüften… . Das ist mal meine Annahme.

Concentration Units (standard)
---------------------------------------
PM 1.0:
PM 2.5:

Concentration Units (environmental)
---------------------------------------
PM 1.0:
PM 2.5:
PM 10:

---------------------------------------
Partikel > 0.3um / 0.1L Luft:
Partikel > 0.5um / 0.1L Luft:
Partikel > 1.0um / 0.1L Luft:
Partikel > 2.5um / 0.1L Luft:
Partikel > 5.0um / 0.1L Luft:
Partikel > 10 um / 0.1L Luft:
---------------------------------------

0.3 um sind schon recht klein.

Konzept

Der Sensor selbst besitzt keinen Micocontroller oder Kommunikations-schnittstelle sondern muss über seinen Schnittstellenstecker mit Strom versorgt und an die Serielle Kommunikation angebunden werden.

Hier muss man etwas aufpassen! Power (VCC) ist 5.0V und alle Logik ist 3.3V (Rx, Tx). Mit den 3.3V ist man dann bei eine ESP8266 als Micocontroller gut bedient. Der kann WLAN, Bluetooth und lässt sich mit Tasmota als Firmware flashen. Damit steh der Umsetzung wie in der folgenden Grafik gezeigt nichts im Weg.

PMS5003 Sensor und IoT Stack (Bild: Axel T.)

Der Sensor sammelt vom EPS8266 getrieben alle paar Minuten die Messdaten ein. Dabei ist er in ein abgeschottetes virtuelles Netzwerk integriert und liefert so seine Daten an den IoT Stack – genauer gesagt an den MQTT Server. Von dort sammelt Node-RED die Daten ein und füllt sie in der InfluxDB ab. Aus dieser bedient sich Grafana für die Visualisierung der Werte über die Zeit.

Bau

Auf Grund der guten Beschreibung von Jonathan Oxer war es ein leichtes, schnell mal eben die notwendigen Komponeten wie der PMS5003 und der ESP8266 plus ein OLED Display auf eine Platine zu bringen.

Platine Air Quality Sensor (Bild Axel T.)

Die Produktion mit Versand der Platine hat 5 Tage gedauert. Danach hatte ich die selbstgezeichnete Platine auf dem Schreibtisch liegen und konnte loslegen.

Komponenten (Bild Axel T.)

Alle Komponenten, die auf der Platine Platz finden. Die Platine selbst könnte man wahrscheinlich noch deutlich kompakter aufbauen, aber für DIY ist so aus meiner Sicht völlig ausreichend. Auf dem Beschriftungslayer habe ich die notwendigen Informationen untergebracht, die das Montieren vereinfachen.

Plantower PMS 5003 (Bild Axel T.)

Der besagte Sensor in seiner blauen Schutzfolie, die man noch entfernen sollte/muss, damit man den Sensor mit Doppelklebeband auf die Platine kleben kann.

OLED Display (Bild Axel T.)

Das OLED Display ist ein ganz einfaches xxxx basiertes Display, was einen Teil der Messwerte anzeigt und mit einem Taster an bzw. ausgeschaltet werden kann. Je nach Ort der Aufstellung, kann das Display recht nervig leuchten. Wenn man den Sensor z.B. im Schlafzimmer nutzen möchte, stört mich das blau leuchtende Display.

Wemos D1 Mini – ESP8266 mit externer Antenne (Bild Axel T.)

Der Wemos D1 Mini Pro mit einer externen Antenne ist die Komandozentrale für den Luftqualitäts-Sensor. Über die USB Schnittstelle kann man den Baustein einfach mit der Tasmota Firmaware flashen und über die Pinleiste lässt sich das Ding einfach in die Sockel stecken.

Die USB Schnittstelle übernimmt auch die Stromversorgung aller Komponenten auf der gesamte Platine.

Software

Für die Software hat man mehrere Möglichkeiten.

Entweder lädt man sich den Code von Jonathan Oxer (siehe oben) herunter und passt den auf die eigenen Gegebenheiten an, oder man verwendet Tasmota in der Version für “Sensoren”.

Ich verwende PlattformIO und VCode von Microsoft und habe mir den Code für Tasmota heruntergeladen.

VCode mit Tasmota (Auswahl für Sensor)

To be continued…

Leave a Reply