Eine webbasierte Zeitschaltuhr für z.B. Gewächshausbeleuchtungen, Pumpen oder Lüfter, basierend auf dem ESP32 und einem RTC-Modul.
Das System arbeitet autark (auch ohne Internet), bietet eine moderne Web-Oberfläche und ist speziell für Szenarien entwickelt, in denen WLAN zwar vorhanden, aber Internetzugang (NTP) unzuverlässig sein kann.
- 📅 Flexibler Zeitplan: Individuelle Start- und Endzeiten für jeden Wochentag oder globale Einstellung für alle Tage.
- 🌐 Web-Interface:
- Dashboard: Schneller Überblick über Status und manuelle Steuerung.
- Schaltzeiten: Grafische Einstellung der Zeiten (24h Format).
- Einstellungen: Systemstatus, WLAN-Reset und Hostname-Konfiguration.
- 🔌 Ausfallsicherheit:
- Nutzung eines RTC-Moduls (DS1307/DS3231) puffert die Uhrzeit bei Stromausfall.
- NTP-Fallback: Versucht Zeit aus dem Internet zu holen. Bei Fehlschlag (kein WAN) wird der Versuch gestoppt, um Timeouts zu verhindern.
- Manuelle Zeit-Sync: Uhrzeit kann per Klick direkt vom PC/Smartphone-Browser auf den ESP übertragen werden.
- 📶 Asynchroner Webserver: Stabil auch bei Zugriffen durch Smartphones (verhindert Ladefehler).
- 📱 Setup-Modus: Startet einen eigenen Access Point (
Gewaechshaus-Setup), falls kein bekanntes WLAN verfügbar ist.
| Komponente | ESP32 Pin | Verbindung |
|---|---|---|
| Relais | GPIO 18 | Signal (IN) |
| RTC (SDA) | GPIO 21 | I2C Data |
| RTC (SCL) | GPIO 22 | I2C Clock |
| Reset WiFi | GPIO 0 | (Boot Button) |
| VCC | VIN (5V) | Stromversorgung Relais/RTC |
| GND | GND | Masse |
Hinweis: Das Relais schaltet standardmäßig auf
HIGH. Achte auf die korrekte Verkabelung der 230V Seite (COM und NO verwenden).
- Installiere die Arduino IDE.
- Installiere die ESP32 Board-Definitionen.
- Installiere folgende Bibliotheken (ZIP oder Bibliotheksverwalter):
ESPAsyncWebServerAsyncTCPRTClib(Adafruit)
- Lade die Datei
zeitschalter.inoauf den ESP32 hoch.
Wichtig: Setze die Zeit des RTC-Moduls beim ersten Mal, indem du den Sketch hochlädst. Der Code setzt das RTC initial auf die Kompilierzeit, falls die Uhr steht.
- Nach dem Start findet der ESP32 noch kein WLAN.
- Suche mit dem Smartphone/PC nach dem WLAN
Gewaechshaus-Setup. - Verbinde dich und öffne im Browser
192.168.4.1. - Gib deine WLAN-Daten (SSID und Passwort) ein und speichere.
- Der ESP32 startet neu und verbindet sich mit deinem Heimnetzwerk.
- Öffne im Browser:
http://licht.local- (Falls mDNS in deinem Netzwerk nicht geht, nutze die IP-Adresse, die du im Router findest).
- Manuelle Steuerung: Auf dem Dashboard kannst du das Licht jederzeit an/aus schalten.
- Zeitplan: Gehe auf "Schaltzeiten", um die Automatik zu konfigurieren.
- Kein NTP Sync?
- Kein Problem. Gehe auf "Einstellungen" und klicke auf "Uhrzeit vom PC übernehmen".
- WLAN ändern?
- Drücke den BOOT-Button (GPIO 0) am ESP32 für ca. 5 Sekunden, bis er neu startet. Die WLAN-Daten werden gelöscht und der AP-Modus (
Gewaechshaus-Setup) startet erneut.
- Drücke den BOOT-Button (GPIO 0) am ESP32 für ca. 5 Sekunden, bis er neu startet. Die WLAN-Daten werden gelöscht und der AP-Modus (
- Smartphone lädt Seite nicht?
- Versuche die direkte IP-Adresse statt
.local. Deaktiviere mobile Daten kurzzeitig.
- Versuche die direkte IP-Adresse statt