Die Idee ist, Geräte von extern ein-/auszuschalten und das Timer gesteuert. Dafür wurde ein ESP32-S3 und eine Echtzeituhr DS3231 mit I2C Interface genutzt. Ein 4×20 LCD-Display dient zur Anzeige der aktuellen Daten.
Das Modul DS3231 hat noch ein eingebautes Thermometer, welches zu ungenau ist. darum habe ich noch das Modul BME280 benutzt, um die Raumtemperatur anzuzeigen und zu kommunizieren.
Die Daten werden in einer Firebase Datenbank ausgetauscht, die auch die responsive Webseite zur Anzeige der Daten bereitstellt.
Die Timer-Daten werden zusätzlich im EEPROM des ESP32 gespeichert. Die Echtzeituhr wird, solange das Internet verfügbar ist, über NTP nachgeführt.
Als Basis für alles wurde der Kurs „Firebase Web App mit ESP32 und ESP8266“ von RANDOM NERD TUTORIALS verwendet.
Dies ist die JSON-Struktur der Datenbank
In „inputs“ wird der Status der Box gemeldet und in „outputs“ werden LED, die 4 Relais und die 4 Timer gesetzt. Jeder Timer hat die Struktur: Day;hh:mm;hh:mm;Repeat;Relay.
Alles eingebaut in diese Box
Die beiden 220V Steckdosen werden von den Relais 1 und 2 gesteuert. Das Display stellt Datum, IP-Adresse und Temperatur dar. In der 4ten Zeile werden ggf. auch Meldungen ausgegeben.
ESP32 Software
Die ESP32 ist in mehrere Module aufgeteilt und kann hier in eine ZIP-Datei heruntergeladen werden.