Repository-Projekt - Github: WLAN-Thermostat
Unterstützen Sie das WiFi-Thermostat-Projekt über PayPal. Der Support ermöglicht es Ihnen, in Zukunft neue Funktionen hinzuzufügen und den Quellcode der Anwendung zu öffnen: PayPal donate
ESP8266 ESP32 WiFi DS18B20 OneWire Dallas HTML Webserver WebSocket JSON mDNS UART

Start des WiFi-Thermostat-Projekts - ESP8266 / ESP32


Das WiFi-Thermostat-Projekt existiert in mehreren Versionen, die auf Githube im Repository des gesamten Projekts verfügbar sind. Die Versionen unterscheiden sich in der Funktionalität nur in der Möglichkeit des Zugriffs auf den WiFi-Thermostat über einen Domänennamen im mDNS-Dienst und in der Möglichkeit des manuellen Ausgangssteuerungsmodus - GPIO. Die Firmware liegt in kompilierter - binärer Form vor, die für die Zielplattform ausführbar ist. Somit ist es vorgetestet und für die Zielplattform getestet. Die Firmware ist universell, was garantiert, dass sie mit dem geklonten Binärprogramm auf allen Mikrocontrollern gleich funktioniert. Die Zugangsdaten zum WiFi-Netzwerk werden im ESP32-Speicher gespeichert, Sie müssen ihn nur einmal konfigurieren, wenn der Datensatz nicht bereits aus früheren Projekten gespeichert wurde.

Die kostenlose Version ist nur in Form eines kompilierten Binärprogramms ohne Zugriff auf eine im .ino-Format geschriebene Anwendung verfügbar.


Firmware-Verteilung basierend auf unterstützten WiFi-Plattformen


  • ESP8266 - Zielplattform mit ESP8266-Chip in den Versionen 12E bis 12F (zB Wemos D1 Mini, NodeMCU) - (konditioniert durch DIO-Flash-Methode)
  • ESP32 - Zielplattform mit ESP-32S-Chip (AI-Thinker), ESP32-WROOM-32 (Espressif Systems) - (konditioniert durch DIO-Flash-Methode)

  • Firmwareverteilung nach Funktion


    Verfügbare Firmware (.bin) für ESP8266- und ESP32-Mikrocontroller. Der Firmware-Upload erfolgt über das esptool-Tool – Teil des heruntergeladenen .zip-Firmware-Archivs.
    Der Name des Firmware-Ordners Firmware-Funktionen ESP8266 ESP32
    WiFi_TERMOSTAT Thermostat mit der Möglichkeit, die Solltemperatur und Hysterese über ein Webinterface einzustellen, automatisch gesteuert ESP8266 EN Firmware ESP32 EN Firmware
    WiFi_TERMOSTAT_mDNS Thermostat mit der Möglichkeit, die Solltemperatur und Hysterese über ein Webinterface einzustellen, automatisch gesteuert. Möglichkeit zur Verwendung des Domainnamens im LAN-Netzwerk (mDNS-Record) ESP8266 EN Firmware ESP32 EN Firmware
    WiFi_TERMOSTAT_MANUAL_experimental Thermostat mit der Möglichkeit, die Solltemperatur und Hysterese über ein Webinterface einzustellen, automatisch gesteuert. Experimentelle Möglichkeit der manuellen Steuerung der SW-Ausgabe durch eine Schaltfläche von einem Webserver. Umschalten der Heizungssteuerungsmodi automatisch / manuell. ESP8266 SK Firmware ESP32 SK Firmware

    Um das Binärprogramm auf die ESP-Plattform hochzuladen, muss das ESPTOOL-Tool verwendet werden. Das Tool verwendet beispielsweise auch die Arduino IDE-Umgebung zum Hochladen des Programms nach der Kompilierung oder das Entwicklungsframework von Espressif Systems - ESP-IDF. Für die ESP32-Plattform ist es erforderlich, die BOOT-Taste bis zum Beginn des Aufnahmevorgangs "Connecting ........_____...." gedrückt zu halten oder einen Pulldown auf GPIO 0 ( wenn das Entwicklungskit keine BOOT-Taste auf der Platine hat). Ein automatisch ausführbares .bat-Skript ist im Ordner jeder Firmware vorbereitet (er hat den COM-Port des Mikrocontrollers auf COM7 für ESP8266 und COM17 für ESP32 eingestellt), das das beiliegende ESPTOOL startet und das Programm mit der spezifischen Firmware lädt, die sich in befindet den angegebenen Ordner.

    Geräte-Manager - Windows - ein registrierter ESP-Mikrocontroller

    Der Ziel-COM-Port muss basierend auf dem COM-Port geändert werden, an dem sich Ihr Board / Mikrocontroller anmeldet - (kann über den Peripherals and Drivers Manager gefunden werden an welchem COM-Port ESP eingeloggt ist). Der ESP8266 Mikrocontroller auf den NodeMCU / Wemos D1 Mini Development Kits besitzt meistens einen CH340 USB-UART Konverter und agiert auch im Gerätemanager unter diesem Namen. Im Fall des ESP32-Mikrocontrollers ist der am häufigsten verwendete USB-UART-Konverter CP2102 von Silicon Labs – auch als CP210X USB UART Bridge bezeichnet. Die Programmimplementierung für ESP8266 geht davon aus, dass das Board die grundlegenden Teile des Flash-Speichers geladen hat - die Partitionstabelle und so weiter ... Das Binärprogramm ist ausschließlich eine Thermostatanwendung ohne andere gebündelte Teile des Programms. Nach dem Laden des Programms fährt das ESPTOOL-Programmfenster automatisch herunter und führt einen Software-Neustart der ESP-Plattform durch, die dann die neue Firmware bootet und den WiFi-Thermostat für den Einsatz vorbereitet. Beim ESP8266-Mikrocontroller wird die Firmware auf den Standard-Offset 0x00000 geschrieben - (die Partitionstabelle ist nicht Bestandteil der Firmware, sie wird nicht benötigt). Die Firmware für ESP32 enthält außerdem eine Partitionstabelle, die auf Offset 0x8000 geschrieben wird, der Bootloader auf Offset 0x1000. Die Firmware selbst wird auf den Standard-Offset 0x10000 geschrieben.

    Firmware-Upload auf ESP-Mikrocontroller über ESPTOOL
    Nach erfolgreichem Laden des Binärprogramms - Firmware ist der Thermostat voll betriebsbereit.

    Wenn sein Flash-Speicher keine Daten für ein vorhandenes WiFi-Netzwerk speichert (z. B. von einer zuvor aufgezeichneten Skizze), beginnt er mit der Übertragung seiner eigenen SSID - WiFi_TERMOSTAT_AP . Nach der Verbindung zu einem WiFi-Netzwerk mit einem Smartphone / Computer steht unter 192.168.4.1 die WiFi Manager-Weboberfläche zur Verfügung, die die Möglichkeit bietet, einen WiFi-Thermostat für Ihr WiFi-Heimnetzwerk zu konfigurieren. In der Benutzeroberfläche ist es möglich, den Namen und das Passwort des bestehenden WiFi-Netzwerks einzugeben, mit dem sich der WiFi-Thermostat verbindet.

    Die Thermostatfunktion wird erst nach Anschluss des ESP8266 / ESP32 Mikrocontrollers an Ihr LAN gestartet! Nachdem Sie eine IP-Adresse für die Konnektivität in Ihrem Netzwerk zugewiesen haben.
    Nach der Verbindung mit dem heimischen WiFi-Netzwerk stoppt der ESP die Übertragung der SSID, wechselt in den STA (Station)-Modus und arbeitet bereits im Thermostat-Modus, der vollständig genutzt werden kann. Die eingegebenen Daten über das WLAN-Netzwerk werden im Flash-Speicher des Thermostats gespeichert und müssen bei Neustart des Thermostats, Stromausfall, Geräteneustart nicht mehr neu eingegeben werden. Wenn das Netzwerk nicht verfügbar ist, sendet ESP erneut seine eigene SSID: WiFi_TERMOSTAT_AP und die Anmeldeinformationen können erneut eingegeben werden. Der Thermostat ist über seine IP-Adresse (die er alle 10 Sekunden auch auf dem UART druckt) oder auf dem lokalen mDNS verfügbar --> http://wifi-termostat.local sofern die mDNS-Firmware verwendet wird.
    Der mDNS-Dienst funktioniert nur, wenn er mit einem bestehenden WLAN-Netzwerk verbunden ist. In dem Moment, in dem der Thermostat seine eigene SSID übermittelt, ist es nicht möglich, über einen Domainnamen auf das Gerät zuzugreifen. Unter Windows müssen Sie Multicast DNS (mDNS) aktivieren, um auf den lokalen Postfix-Domänennamen zuzugreifen! Unter MacOS kann der Dienst nach der Installation von Bonjour den mDNS-Domainnamen verwenden! Das Programm arbeitet auf Basis des Projektschaltplans und der Logik aus der Beschreibung.


    WiFi-Thermostateinstellungen (ESP8266 / ESP32) über WiFiManager


    WiFi-Thermostat - ESP8266 AP - Android - Netzwerkverbindung

    WiFi-Thermostat - HTTP-Webserver - Funktionsthermostat nach Verbindung mit dem LAN-Netzwerk


    Aktualisieren Sie das Webinterface automatisch alle 30 Sekunden
    Funktionierender WiFi-Thermostat an der IP-Adresse im lokalen WiFi-Netzwerk

    WiFiManager - UART-Ausgabe - Systeminformationen und Logikliste


    Ausgabe an UART automatisch alle 10 Sekunden + Temperaturmessung auf dem OneWire-Bus durch den DS18B20-Sensor
    ESP - WiFi-Thermostat - UART-Anweisung - Systemlogik - Kesselsteuerung, zugewiesene IP-Adresse im Heim-LAN