Thanks to visit codestin.com
Credit goes to github.com

Skip to content

rand338/esp32-Zeitschaltuhr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

🌱 Smart Zeitschaltuhr auf ESP32 Basis

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.

✨ Features

  • 📅 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.

🛠️ Hardware & Pinout

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).

🚀 Inbetriebnahme

1. Installation

  1. Installiere die Arduino IDE.
  2. Installiere die ESP32 Board-Definitionen.
  3. Installiere folgende Bibliotheken (ZIP oder Bibliotheksverwalter):
    • ESPAsyncWebServer
    • AsyncTCP
    • RTClib (Adafruit)
  4. Lade die Datei zeitschalter.ino auf 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.

2. Erste Einrichtung (WLAN)

  1. Nach dem Start findet der ESP32 noch kein WLAN.
  2. Suche mit dem Smartphone/PC nach dem WLAN Gewaechshaus-Setup.
  3. Verbinde dich und öffne im Browser 192.168.4.1.
  4. Gib deine WLAN-Daten (SSID und Passwort) ein und speichere.
  5. Der ESP32 startet neu und verbindet sich mit deinem Heimnetzwerk.

3. Zugriff & Nutzung

  • Ö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.

⚙️ Fehlerbehebung

  • 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.
  • Smartphone lädt Seite nicht?
    • Versuche die direkte IP-Adresse statt .local. Deaktiviere mobile Daten kurzzeitig.

📦 Abhängigkeiten

About

Smarte Zeitschaltuhr auf bassis eines esp32 mit diversen features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages