ESP32 der besondere Alleskönner
Den ESP32 gibt es in unterschiedlichen Varianten. Diese unterscheiden sich in Bauart, Variation der Prozessorkerne und des verbauten Speicher wie RAM und ROM.
Auch kann zur Programmierung, die in C++ erfolgt, unterschiedliche IDE genutzt werden. Die Haupt IDE ist Arduino 2.X. Hier findet der Programmierer alles was er braucht. Leider ist die IDE nicht die Schnellste beim Übersetzen. Ein anderer Weg zu einem Programm zu kommen ist Visual Studio mit einem Plugin. Ich nutze hier das Plugin von VISUAL MICRO. Hier hat man die autom. Editiererweiterungen von Visual Studio und bei bedarf ein paralleles Kompilieren der Sourcen.
Nicht vergessen werden soll die ESP IDF von ESPRESSIF. Die Verwendung von ESP-IDF ist deutlich komplexer als die der Arduino IDE. Man benötigt wesentlich mehr Kenntnisse über die Funktionsweise des Systems und der Hardware und muss Konfigurationen für Speichermanagement, FreeRTOS-Tasks, Peripherieinitialisierung und vieles mehr erstellen und verstehen.
Projekt: Steckdosen mit Timer von außerhaus steuern
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, was benutzt wird, 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 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.