Smartes System zur Luftqualitäts- & Abfallüberwachung mit Raspberry Pi, Arduino & IOTA
Benötigte Hardware
- Raspberry Pi 3 Model B (Zentraleinheit, MQTT-Broker, IOTA-Client)
- Arduino UNO (Sensor-Interface für DHT11, MQ-2, MQ-7)
- NodeMCU ESP8266 (Ultraschall-Sensor für Abfallbehälter, MQTT-Client)
- Sensoren:
- DHT11 (Temperatur & Luftfeuchte)
- MQ-2 (LPG/Gas)
- MQ-7 (CO)
- HC-SR04 / SRF05 (Ultraschall, Füllstand)
- Netzteile, Kabel, Jumper-Wires, 5V-Batterie (Puffer)
Software & Dienste
- Raspbian OS auf Raspberry Pi
- Node.js (v8.x) für IOTA-Skripte
- MQTT Broker (Mosquitto) auf Raspberry Pi
- IOTA Tangle (Masked Authenticated Messaging – MAM) für manipulationssichere Datenspeicherung
- Arduino IDE für Firmware auf Arduino & NodeMCU
- Bibliotheken:
node-dht-sensor,iota.lib.js,mam.client.js,serialport,PubSubClient(MQTT für ESP8266)
Projektübersicht
Das Projekt demonstriert Building Automation mit IOTA Tangle (DAG-basiert, gebührenfrei, skalierbar). Es ist in drei Versionen unterteilt:
- Luftqualität v1: DHT11 an Raspberry Pi → IOTA Tangle (MAM)
- Luftqualität v2: DHT11, MQ-2, MQ-7 an Arduino UNO → Raspberry Pi (Serial) → IOTA Tangle (MAM)
- Abfallüberwachung: Ultraschall an NodeMCU → MQTT → Raspberry Pi → IOTA Tangle (MAM)
Version 1: Luftqualität (Raspberry Pi direkt)
- Sensor: DHT11 an GPIO 4
- Skripte:
sensor.js(Test),mam_sensor.js(Publish),mam_receive.js(Subscribe) - Daten: Stadt, Gebäude, UTC-Zeitstempel, Temperatur (°C/°F), Luftfeuchte (%)
- IOTA-Node:
https://potato.iotasalad.org:14265(Restricted Mode, Sidekey: „mysecret“)
Version 2: Erweiterte Luftqualität (Arduino UNO + Raspberry Pi)
- Arduino liest DHT11, MQ-2, MQ-7 → seriell an Raspberry Pi (9600 Baud)
- Node.js-Skripte (
mam_sensorArduino.js,mam_receiveArduino.js) lesen Serial-Port und publizieren via MAM - Daten: LPG (ppm), CO (ppm), Temperatur (°C), Luftfeuchte (%)
- Simulierter Standort: New York, Gebäude 13
Version 3: Abfallüberwachung (NodeMCU + MQTT + IOTA)
- NodeMCU misst Füllstand per Ultraschall (HC-SR04) → Prozentwert
- MQTT-Publish an Mosquitto auf Raspberry Pi (Topic: Füllstand)
- Node.js-Skript
nodemcu_mqtt_mam.jsabonniert MQTT, publiziert an IOTA Tangle - Daten: Stadt (Berlin), Gebäude (7), UTC-Zeitstempel, Füllstand (%)
Installation & Inbetriebnahme (Kurzfassung)
- Raspbian installieren, Node.js 8.x, BCM2835-Library (für DHT11 auf Pi) kompilieren.
- Projekt-Repo klonen:
git clone https://github.com/guillengap/indoor-air-quality-and-garbage-monitoring-system.git npm install+npm install serialportim Projektordner.- Mosquitto MQTT-Broker auf Pi installieren & konfigurieren.
- Arduino IDE: ESP8266-Boardmanager-URL hinzufügen, Board installieren, PubSubClient-Library installieren.
- Firmwares flashen:
sensorArduino.ino(UNO),trashcan.ino(NodeMCU mit WLAN/MQTT-Config). - Serielle Ports prüfen (
node listportsArduino.js). - MAM-Skripte starten:
node mam_sensor.js,node mam_sensorArduino.js,node nodemcu_mqtt_mam.js. - Daten empfangen:
node mam_receive.js <ROOT>etc.
Fazit
- v1: Einfacher Einstieg, funktioniert zuverlässig für Temp/Hum.
- v2: Praktische Erweiterung um Gassensoren (LPG, CO) – geeignet für Smart Buildings & Industrie.
- Abfall: Füllstandserkennung in Echtzeit – verhindert Geruchsbildung, optimiert Leerungsintervalle.
Alle Daten liegen unveränderbar im IOTA Tangle (MAM) – ideal für Audit-Trails, Compliance & IoT-Datenintegrität.
Quellcode & Schematics
Alle JavaScript- und Arduino-Skripte sowie Schaltpläne sind im GitHub-Repository des Projekts enthalten.
Herstellungsprozess
- Raspberry Pi Luftqualitäts- & Wetterstation mit InfluxDB & Grafana bauen
- Raumeffizient Temperaturen mit Raspberry Pi und Nagios überwachen
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Home Energy Centre: Solar PV, Thermische Panels & Raumtemperaturen mit Raspberry Pi & Moteino überwachen
- DIY Infrarot-Bewegungsmelder für Raspberry Pi – Schritt-für-Schritt-Anleitung
- Raspberry Pi Lichtsensor mit Logging & Alert – Kostengünstiger Fotowiderstand mit Python
- Multi-Sensor Temperatur- & Licht-Überwachung mit Raspberry Pi & DS18B20
- Raspberry Pi Badezimmer-Belegungssensor mit Sprach- & SMS-Benachrichtigung via Twilio
- Raspberry Pi Sensor & Aktuator Steuerung meistern: Beschleunigungsmesser, Servo und Datenstreaming
- Automatisiertes Aeroponik-System mit Raspberry Pi und Feuchtigkeitssensor bauen