In diesem Projekt zeige ich dir, wie du eine smarte Wetterstation baust, die aktuelle Wetterdaten und Vorhersagen von OpenWeatherMap abruft und auf einem OLED-Display anzeigt. Diese Wetterstation nutzt den ESP8266 oder ESP32 Mikrocontroller, um sich automatisch mit deinem WLAN zu verbinden und die Wetterinformationen drahtlos zu beziehen. Sie ist ideal für dein Smart Home und lässt sich leicht an deine Bedürfnisse anpassen. Hier findest du eine detaillierte Anleitung und den kompletten Code, um das Projekt nachzubauen.
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
1. Übersicht des Projekts
Die Wetterstation holt sich regelmäßig aktuelle Wetterdaten sowie eine Vorhersage von OpenWeatherMap und zeigt sie auf einem 0,96 Zoll OLED-Display an. Sie bietet folgende Funktionen:
- Automatische WLAN-Verbindung: Die Wetterstation verbindet sich beim Einschalten automatisch mit deinem Heimnetzwerk.
- Abruf der Wetterdaten: Die Station fragt alle 20 Minuten aktuelle Wetterdaten und Vorhersagen über die OpenWeatherMap-API ab.
- Anzeige der Daten: Temperatur, Wetterzustand (z. B. sonnig, bewölkt) und eine 4-Tages-Vorhersage werden auf dem OLED-Display dargestellt.
- Uhrzeit und Datum: Die Station zeigt zusätzlich die aktuelle Uhrzeit und das Datum an, die sie über das Netzwerk abruft.
2. Benötigte Hardware
- ESP8266 oder ESP32 Mikrocontroller
- 0,96 Zoll OLED-Display (SSD1306)
- Jumper-Kabel für die Verbindungen
- Stromversorgung für den Mikrocontroller (z. B. Micro-USB-Kabel)
3. Software und Bibliotheken
Für dieses Projekt verwenden wir die Arduino IDE und mehrere Bibliotheken, die wir installieren müssen:
- WiFi für die Verbindung ins Internet
- SSD1306Wire für die Steuerung des OLED-Displays
- OpenWeatherMap API für den Abruf der Wetterdaten
- NTP (Network Time Protocol) für die automatische Zeitsynchronisation
4. Funktionsweise des Codes
WiFi-Verbindung
Im Code musst du deinen WLAN-Namen und das Passwort eintragen. Der ESP8266/ESP32 verbindet sich damit automatisch beim Einschalten mit deinem Netzwerk. Sollte die Verbindung fehlschlagen, wird dies auf dem OLED-Display angezeigt, bis eine erfolgreiche Verbindung hergestellt ist.
OpenWeatherMap API
Um die aktuellen Wetterdaten abzurufen, benötigst du einen API-Schlüssel von OpenWeatherMap, den du kostenlos auf ihrer Website erstellen kannst. Der Code ist so konfiguriert, dass er die Daten für einen bestimmten Ort abfragt, den du mit der Location-ID anpassen kannst. Diese findest du ebenfalls auf der Website, indem du nach deinem Ort suchst.
OLED-Display
Das 0,96 Zoll OLED-Display zeigt die Daten in verschiedenen Ansichten an:
- Aktuelles Wetter: Temperatur, Wetterbeschreibung und ein passendes Symbol (z. B. Sonne, Wolken).
- 4-Tages-Vorhersage: Kurzfristige Wettervorhersage für die kommenden Tage mit Symbolen und Temperaturen.
- Datum und Uhrzeit: Synchronisiert über NTP, um die korrekte Uhrzeit anzuzeigen.
Automatische Datenaktualisierung
Der Code aktualisiert die Wetterdaten alle 20 Minuten automatisch. Während der Aktualisierung zeigt das Display eine Fortschrittsanzeige an, damit du weißt, wann die neuen Daten geladen werden.
5. Detaillierte Schritte zur Umsetzung
1. Hardware-Aufbau
Verbinde den ESP8266/ESP32 über I2C mit dem OLED-Display:
- SDA (Serial Data Line): Mit GPIO12 (D6 beim ESP8266)
- SCL (Serial Clock Line): Mit GPIO14 (D5 beim ESP8266)
2. Code-Anpassung
Öffne die Arduino IDE und lade den Code herunter. Bevor du ihn auf deinen ESP8266/ESP32 hochlädst, musst du folgende Parameter im Code anpassen:
- WLAN-Name und Passwort: Ersetze die Platzhalter mit deinem WLAN-Namen und Passwort.
- API-Schlüssel: Erstelle einen OpenWeatherMap API-Schlüssel und trage ihn in den Code ein.
- Location-ID: Ersetze die Location-ID durch die ID deiner Stadt.
3. Bibliotheken installieren
In der Arduino IDE musst du die benötigten Bibliotheken installieren:
- ESP8266WiFi oder WiFi.h (je nach Mikrocontroller)
- SSD1306Wire für das OLED-Display
- OpenWeatherMap API-Bibliotheken für die Wetterdaten
4. Hochladen und Testen
Nachdem du den Code angepasst hast, lade ihn über die Arduino IDE auf deinen ESP8266 oder ESP32. Die Wetterstation sollte sich jetzt mit deinem WLAN verbinden und nach wenigen Sekunden die aktuellen Wetterdaten anzeigen. Wenn du Probleme hast, überprüfe die serielle Ausgabe in der IDE für Fehlermeldungen.
6. Anpassungsmöglichkeiten
Dieses Projekt ist sehr flexibel. Hier sind einige Möglichkeiten zur Anpassung:
- Sprache der Wetterdaten: Du kannst die Sprache für die Wetterbeschreibung ändern, z. B. auf Deutsch ("de") oder Spanisch ("es").
- Einheitensystem: Ändere die Temperaturanzeige von Celsius (°C) auf Fahrenheit (°F), indem du die Variable
IS_METRIC
auffalse
setzt. - Display-Layout: Passe das Layout der angezeigten Informationen auf dem OLED-Display nach deinen Wünschen an.
7. Weitere Funktionen
- Benachrichtigungen: Du kannst den Code erweitern, um Benachrichtigungen zu senden, wenn bestimmte Wetterbedingungen eintreten, wie z. B. Regen oder Sturm.
- Energiemanagement: Falls du das Projekt batteriebetrieben einsetzen möchtest, kannst du Energiesparmodi des ESP8266/ESP32 verwenden, um den Stromverbrauch zu reduzieren.
8. Fazit
Dieses Projekt ist ideal für alle, die mit Mikrocontrollern arbeiten und praktische Anwendungen im Smart Home Bereich entwickeln möchten. Mit der Wetterstation hast du eine praktische Anzeige, die dir in Echtzeit die aktuellen Wetterdaten und Vorhersagen anzeigt – perfekt für den Einsatz auf deinem Schreibtisch oder in deiner Wohnung.
Besuche meine Website, um den vollständigen Code herunterzuladen, und lass mich wissen, wenn du Fragen hast oder Unterstützung brauchst. Viel Spaß beim Nachbauen!