Mit diesem Projekt werden mit einem SDS011-Sensor Partikel in der Luft gemessen, deren Masse aller im Gesamtstaub enthaltenen Partikel einen aerodynamischen Durchmesser von 2,5µm bzw 10µm haben. Der SDS011 nutzt das Prinzip der Laserstreuung und hat eine Auflösung von 0,3 µgr/m3. Der Messwert wird mit einem OLED-Desplay angezeigt und bezieht sich auf die Partikel in µgr/m3.
Nach dem Start erscheint eine Minute lang ein Smiley im Display. Die Zeit wird für die erste, zuverlässige Messung genutzt. Die folgenden Messungen finden im 5 Minuten-Zyklus statt. Nach jeder Messung geht die Schaltung in den Sleep-Modus, um Energie zu sparen.
Die Stückliste für die Partikel Messung:
- 1 x ESP8266
- 1 x ESP8266-Shield (optional)
- 1 x SDS011-Sensor
- 1 x OLED-Display 1,3"
- 1 x Akku
- Kleinmaterial, Schaltdraht
ESP8266 - SDS011-Sensor:
GND GND +5V +5V D3 RXD D4 TXD
ESP8266 - OLED Display 1,3":
GND GND +5V +5V SCL SCK SDA SDA
Die Software wird mit der Arduino IDE in den ESP8266 geladen.
- Nach dem Programm-Download in den ESP8266 werden nach 1min die Sensordaten am Dsplay angezeigt.
C++ Code: SDS011-Sensor am OLED Display
Versuchsaufbau
Sensordaten im Seriellen Monitor.
Sensordaten im OLED Display.
Das Projekt wird um zwei ESP32 LoRa-Module erweitert. LoRa steht für "Long Range" und ist eine Funktechnologie, welche neu für das IoT (Internet of Things) entwickelt wurde. Neben der speziell grossen Funkreichweite von bis zu > 10 km wurden bei der LoRa Technologie besonders auf einen geringen Energieverbrauch und auf eine möglichst kostengünstige Implementierung geachtet. LoRa kann eigenständig als Punkt-zu-Punkt Verbindung eingesetzt aber auch in einem privaten oder öffentlichen Netzwerk wie z.B. dem LoRaWAN (Long Range Wide Area Network) betrieben werden. Diese unterschiedlichen Betriebsarten machen LoRa sehr flexibel und daher ist die Technologie äusserst interessant für verschiedenste Anwendungen.
Bei der nachfolgenden Punkt-zu-Punkt-Kommunikation kommunizieren zwei LoRa-fähige Geräte miteinander. Das Sende-Modul ist ein HELTEC WLAN LORA 32, verbunden mit dem SDS011 Partikel-Sensor. Das Empfänger-Modul ist ein TTGO Lora32-OLED, dass die Sensor-Daten auf einen WEB-Server abbildet. Beide Module liefern wichtige Infos auch über den Seriellen Monitor. Beim SDS11 Sensor werden die PWM-Ausgänge für die Messwerte genützt.
C++ Code: LoRa Sender
C++ Code: LoRa Empfänger
HTML Code: Index.html Datei im Empfänger-Ordner "data" des LoRa WEB-Servers (SPIFFS)
LoRa-Sender
LoRa Empfänger
LoRa Serieller Monitor des Empfänger
LoRa Web-Server mit Zeitstempel, Sendeleistung und Meßwerte