Mein smartes System zur Wetter- und Temperaturüberwachung: Von Arduino bis zum Home Server

Ich habe ein eigenes, vielseitiges System zur Überwachung der Wetter- und Temperaturdaten in meiner Wohnung und im Freien entwickelt. Im Herzen dieses Systems arbeiten ein Arduino Mega und mehrere ESP8266 (NodeMCU)-Module zusammen, um präzise Messwerte zu erfassen und bereitzustellen.


Der Arduino Mega: Die zentrale Messstation

Mein Arduino Mega bildet die Basis für die Datenerfassung. Er ist mit verschiedenen Sensoren ausgestattet, um eine breite Palette von Umweltdaten zu sammeln:

  • DS18B20: Für präzise Temperaturmessungen.
  • DHT11: Erfasst Temperatur und Luftfeuchtigkeit.
  • BMP180: Misst Luftdruck und ebenfalls Temperatur.

Um die erfassten Daten effizient zu verarbeiten und bereitzustellen, ist ein Keyestudio W5100 Ethernet Shield an den Arduino Mega angeschlossen. Dieses Shield ermöglicht es dem Arduino, sich nahtlos in mein Heimnetzwerk zu integrieren. Sekündlich werden die Sensordaten auf einer SD-Karte gespeichert, während gleichzeitig über die Ethernet-Schnittstelle eine XML-Datei bereitgestellt wird. Mein Home Server ruft diese XML-Datei alle fünf Minuten ab, speichert die Daten in einer MySQL-Datenbank und leitet sie an meinen MQTT-Server weiter.

Du kannst die verschiedenen Versionen meiner Arduino-Software auf meiner GitHub-Seite finden:

  • Version 2.0.2: Erfasst alle Daten als CSV auf SD-Karte und stellt XML via LAN bereit. Link zu GitHub
  • Version 2.1.2.1: Bietet dieselben Funktionen wie 2.0.2, ergänzt um die Ansteuerung von bis zu sechs LEDs (im Skript wird aktuell eine angesteuert). Link zu GitHub

Die ESP8266 (NodeMCU): Smarte Sensoren in der Wohnung

Meine im Haus verteilten ESP8266-Module sorgen für zusätzliche Messpunkte in verschiedenen Räumen. Früher habe ich hierfür eigene Skripte verwendet, die ebenfalls XML-Dateien im Heimnetzwerk bereitstellten. Mittlerweile setze ich auf die flexible Firmware ESP Easy, die mir zwei Hauptfunktionen ermöglicht:

  • HTTP GET: Die gesammelten Daten werden an ein PHP-Skript auf meinem Server übergeben.
  • MQTT: Die Daten werden direkt an meinen MQTT-Server übermittelt.

Das Skript für die ESPs findest du ebenfalls auf GitHub: Link zum ESP-Skript


Verarbeitung und Visualisierung der Messdaten

Alle gesammelten Messdaten, einschließlich der Daten eines Feinstaubsensors, werden von meinem Home Server (ein HP 260G2 DM/8184 mit Debian 10) empfangen und in einer MySQL-Datenbank gespeichert. Zusätzlich werden die Daten des Arduino Mega und des Feinstaubsensors an einen MQTT-Server gesendet. Von dort werden sie von meinem Smart-Home-Steuerungssystem ioBroker übernommen.

Über eine spezielle API sind die aktuellen Messdaten auch direkt auf meiner Webseite verfügbar, sodass du jederzeit einen Überblick über die Umgebungsbedingungen erhalten kannst: Aktuelle Messdaten auf meiner Webseite


Offizielle Links und weitere Informationen

Möchtest du mehr über mein Projekt erfahren oder die Daten selbst erkunden? Hier sind einige nützliche Links:

Dieses Projekt ist ein großartiges Beispiel dafür, was man mit Arduino, ESP und ein wenig Programmierkenntnissen erreichen kann. Ich freue mich immer über Feedback und Austausch!