Zum Inhalt

Getting Started

Diese Anleitung führt dich durch den kompletten Aufbau des E-Paper Weather Displays.

Einleitung

Dieses Wetter-Display setzt auf eine bewusst einfache und minimalistische Schaltung. Dadurch gibt es keinen Verpolungs- oder Überspannungsschutz, was etwas Sorgfalt beim Aufbau erfordert, den Aufbau aber sehr kompakt hält.

Die gezeigte Kombination aus E-Paper Display und Lolin32 (ESP32) eignet sich nicht nur für ein Wetter-Display, sondern kann leicht als Grundlage für viele andere stromsparende Anzeige-Projekte verwendet werden.

Voraussetzungen

Hardware

Komponente Link
Lolin32 ESP32 Board Amazon
Waveshare 7.5" E-Paper HAT V2 Amazon
18650 Batterie-Holder Amazon
IKEA RÖDALM Rahmen 13×18 cm IKEA
JST-PH 2.0mm Kabel* Amazon
M3 Schrauben Set* Amazon

Hinweis: *Diese Komponenten entsprechen nicht den exakt verwendeten Bauteilen im Projekt, da ich vorhandene Kabel und Schrauben verwendet habe. Die verlinkten Produkte sind ähnliche Alternativen.

Software

Installation

1. Arduino IDE einrichten

ESP32 Board Support installieren

Bibliotheken installieren

Über den Bibliotheksverwalter (WerkzeugeBibliotheken verwalten) installieren:

  • GxEPD2 (von Jean-Marc Zingg)
  • ArduinoJson (Version 7.x)

Die folgenden Bibliotheken sind bereits im ESP32 Board Package enthalten:

  • WiFi
  • HTTPClient
  • Time

2. OpenWeatherMap API Key erhalten

  1. Auf openweathermap.org registrieren
  2. Im Account-Bereich → API Keys
  3. Neuen API Key erstellen (kostenlos für 1000 Anfragen/Tag)
  4. API Key kopieren (wird später benötigt)

3. Projekt herunterladen

git clone https://github.com/bli-blu-bla/e-paper-display.git
cd e-paper-display

4. Konfiguration erstellen

  1. Im Ordner weather-station/ die Datei config.sample.h kopieren oder zu config.h umbenennen:

  2. config.h mit einem Texteditor öffnen und anpassen:

// WiFi Zugangsdaten
const char* WIFI_SSID = "Dein_WiFi_Name";
const char* WIFI_PASSWORD = "Dein_WiFi_Passwort";

// OpenWeatherMap API
const char* OWM_API_KEY = "dein_api_key_hier";
const char* OWM_CITY = "Berlin";
const char* OWM_COUNTRY_CODE = "DE";

// Weckzeiten anpassen (optional)
const WakeTime WAKE_SCHEDULE[] = {
  {6, 0},    // 6:00 Uhr
  {12, 0},   // 12:00 Uhr
  {18, 0},   // 18:00 Uhr
  {22, 0}    // 22:00 Uhr
};

Weitere Informationen zu den Einstellungen findest duhier

Die Datei config.h enthält deine privaten Zugangsdaten. Niemals ins Repository committen oder mit anderen teilen!

5. Upload auf ESP32

  1. ESP32 via USB verbinden
  2. Arduino IDE öffnen → weather-station.ino
  3. Board einstellen:

    • WerkzeugeBoardESP32 ArduinoESP32 Dev Module
    • WerkzeugePort → Richtigen Port auswählen
    • WerkzeugeUpload Speed115200
  4. Hochladen:

    • Upload-Button klicken (→)
    • Warten bis "Connecting..." erscheint
    • Falls nötig: BOOT-Taste am ESP32 drücken
  5. Serielle Konsole öffnen (WerkzeugeSerieller Monitor, 115200 baud):

    ========================================
    Weather Display aufgewacht!
    WiFi verbunden!
    IP: 192.168.1.123
    NTP Zeit wird synchronisiert...
    Zeit synchronisiert!
    Hole aktuelle Wetterdaten...
    Aktuelle Wetterdaten aktualisiert
    Temperatur: 2.0°C
    Hole Vorhersage...
    Vorhersage aktualisiert
    _PowerOn : 133001
    _Update_Full : 3655001
    _PowerOff : 40001
    Display aktualisiert
    Aktuelle Zeit: 22:33
    Naechste Weckzeit morgen: 05:30
    Sleep-Dauer: 417 Minuten (25020 Sekunden)
    ========================================
    Gehe in Deep Sleep...
    ========================================
    

6. Hardware verbinden

Schematic

Zusammenbau vom Rahmen

Tipp: vor dem ersten Zusammenbau und Verlöten, dass Display und die Schaltung auf einem Breadboard aufbauen und testen.

Fehlerbehebung

Display bleibt weiß

  • Verkabelung überprüfen (besonders BUSY-Pin)
  • PWR und VCC mussen auf 3.3V und GND verbunden sein
  • Display-Reset durchführen (ESP32 neu starten)
  • In der Konsole auf Fehlermeldungen achten

WiFi verbindet nicht

  • SSID und Passwort in config.h überprüfen
  • 2.4 GHz WiFi verwenden (ESP32 unterstützt kein 5 GHz)
  • Router-Einstellungen prüfen (SSID sichtbar, MAC-Filter)

Keine Wetterdaten

  • API Key überprüfen
  • Stadt und Ländercode korrekt? (z.B. "Berlin", "DE")
  • OpenWeatherMap API-Limit überprüft? (1000 Anfragen/Tag im Free-Plan)
  • Internetverbindung testen
  • Teste deine Anfrage manuell im Browser:
  • Template http://api.openweathermap.org/data/2.5/weather?q=[CITY],[LÄNDER_KÜRZEL]&appid=[API_KEY]&units=metric&lang=de
  • Beispiel: http://api.openweathermap.org/data/2.5/weather?q=Berlin,DE&appid=dein_api_key_hier&units=metric&lang=de

Display aktualisiert nicht automatisch

  • Deep Sleep funktioniert nur mit funktionierender Zeit-Synchronisation
  • NTP-Server erreichbar?
  • Zeitzonen-String korrekt für deine Region?