Ich möchte an dieser Stelle etwas ausführlicher über den erfolgreichen Abschluss eines meiner Teilprojekte zum Thema Umweltmonitoring von Feinstaub-Emissionen auf Basis des Raspberry Pi berichten.
Wie im Beitrag "Wetterdaten mit dem Pi Temperatur Sentinel (PiTS) aufzeichnen und darstellen" geschildert, unterstützt PiTS bzw. die PiTS-It! Management Software viele verschiedene Sensoren, darunter auch den seriellen Feinstaubsensor PMS7003 von PLANTOWER.
Für alle die selbst die Feinstaubbelastung vor Ort mit Hilfe eines Raspberry Pi ermitteln möchten, hier die Stückliste an erforderlicher Hardware:
- 1 x Raspberry Pi (vorzugsweise PiZeroW) inkl. SD-Card und Stromversorgung
- 1 x PLANTOWER PMS7003 Feinstaubsensor
- 2m vier- oder fünfadriges Datenkabel
- 1 x geeignetes Gehäuse für den Sensor und den RasPi
Als Software kommt das aktuelle Release der PiTS-It! Management Software zum Einsatz.
Die Verkabelung des seriellen Feinstaubsensors an die UART-Schnittstelle ist beispielhaft auf folgenden Anschlussplan skizziert.
Bei der Verbindung der UART-Schnittstelle kann auf die Leitung TxD (GPIO14), vom Raspberry Pi aus gesehen, verzichtet werden, da keine Daten an den Sensor übermittelt werden müssen. Daher reicht ein vieradriges Kabel für den Anschluss des Sensors an den Raspberry Pi aus.
Wie man die UART-Schnittstelle an der GPIO-Stiftleiste am einfachsten aktiviert, ist in der FAQ beschrieben.
Zunächst wurde der Sensor mehrere Wochen an einem Testsystem (Raspberry Pi 3) in einer Büroumgebung betrieben und auf "Herz und Nieren" geprüft. Die Feinstaubbelastung im Büro wurde zuverlässig gemessen und aufgezeichnet.
Nun ist der PLANTOWER PMS7003 Feinstaub Sensor an einen PiZeroW angeschlossen und hat seinen Platz zusätzlich im Gehäuse des remote PiTS-Außensensor gefunden.
Seitdem zeichnet dieses PiTS-System quasi kontinuierlich die Veränderungen der Feinstaubbelastung im Außenbereich auf. Eine Messung erfolgt alle fünf Minuten. Dabei wird der Feinstaubsensor jeweils für 30 Sekunden über einen GPIO (z.B. GPIO18) aktiviert. Während der Messzeit wird die Luft mit Hilfe eines im Sensor eingebauten Miniaturlüfters angesaugt und in die Messsensorik geleitet. Der Sensor benötigt eine Vorlaufzeit von etwa 15 Sekunden, um aussagekräftige Daten zur Feinstaubkonzentration und der Anzahl der einzelnen Partikelgrößen im Luftstrom ermitteln zu können. Während des Messzeitraums werden die Messwerte als einzelne Datenpakete über die UART-Schnittstelle an die Software gesendet. Die Messwerte der letzten 10 Datenpakete werden gemittelt und die jeweiligen Mittelwerte aufgezeichnet.
Hier sieht man den Verlauf der Feinstaubkonzentration der vergangenen Woche:
Im Plot sind die jeweiligen Partikelgrößen in unterschiedlichen Farben (PM10 = rot, PM2.5 = blau, PM1 = gelb) dargestellt. Die Min-/Max- und Durchschnittswerte beziehen sich auf PM10.
Die Darstellung der Feinstaubwerte im WebUI der Software sieht folgendermaßen aus:
Optional bietet die PiTS-It! Management Software auch die Möglichkeit im Rahmen von Citizen Science und Open Data an Plattformen für offene Sensordaten wie openSenseMap oder Luftdaten.info teilzunehmen.
Hier zur Veranschaulichung die Darstellung der Feinstaubmesswerte des PiTS-Systems bei diesen Plattformen:
-
Map bei Luftdaten.info (Sensor ID 13030)
-
Map bei openSenseMap
Darüber hinaus bietet das aktuelle Release der PiTS-It! Management Software die Möglichkeit zur optionalen Übertragung der Messwerte an SmartHome Steuerungszentralen wie:
- HomeMatic CCU2 oder RaspberryMatic,
- Gira HomeServer,
- openHAB basierte Systeme.
Vielleicht inspirieren obige Abbildungen hier zum Nachbau oder zur Adaption in eigene Projekte. Macht mit beim Citizen Science.
VG
TGD