ESP8266 - Temperatur über das Web
Dieses Tutorial zeigt dir, wie du den ESP8266 so programmierst, dass er zu einem Webserver wird, wodurch du über eine Weboberfläche auf Temperaturdaten zugreifen kannst. Mithilfe eines angeschlossenen DS18B20-Temperatursensors kannst du die aktuelle Temperatur ganz einfach prüfen, indem du dein Smartphone oder deinen PC benutzt, um die vom ESP8266 bereitgestellte Webseite zu besuchen. Hier ist ein kurzer Überblick darüber, wie es funktioniert:
- ESP8266 ist als Webserver programmiert.
- Geben Sie die IP-Adresse des ESP8266 in einen Webbrowser auf Ihrem Smartphone oder PC ein.
- ESP8266 antwortet auf die Anfrage des Webbrowsers mit einer Webseite, die die vom DS18B20-Sensor gemessene Temperatur enthält.

Wir werden zwei Beispielcodes durchgehen:
- ESP8266-Code, der eine sehr einfache Webseite bereitstellt, die die Temperatur des DS18B20-Sensors anzeigt. Dies erleichtert Ihnen das Verständnis dafür, wie sie funktioniert. Der HTML-Inhalt ist im ESP8266-Code eingebettet.
- ESP8266-Code, der eine grafische Webseite bereitstellt, die die Temperatur des DS18B20-Sensors anzeigt. Der HTML-Inhalt ist vom ESP8266-Code getrennt.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.
Über ESP8266-Webserver und DS18B20-Temperatursensor
Wenn Sie nichts über den ESP8266-Webserver und den DS18B20-Temperatursensor (Pinbelegung, Funktionsweise, Programmierung …) wissen, informieren Sie sich in den folgenden Tutorials darüber:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
ESP8266 Code - Eine einfache Webseite
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schau dir das how to setup environment for ESP8266 on Arduino IDE Tutorial an, falls dies dein erster Umgang mit ESP8266 ist.
- Verbinde die Komponenten wie im Diagramm gezeigt.
- Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
- Öffne die Arduino IDE auf deinem Computer.
- Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Module), und den entsprechenden COM-Port.
- Klicke auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
- Gib „Dallas“ in das Suchfeld ein, und suche dann nach der DallasTemperature-Bibliothek von Miles Burton.
- Klicke auf die Install-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.

- Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren, um die OneWire-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
- Ändern Sie die WLAN-Informationen (SSID und Passwort) im Code auf Ihre eigenen.
- Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den ESP8266 hochzuladen.
- Öffnen Sie den Seriellen Monitor.
- Überprüfen Sie das Ergebnis im Seriellen Monitor.
- Sie finden eine IP-Adresse. Geben Sie diese IP-Adresse in die Adresszeile eines Webbrowsers auf Ihrem Smartphone oder PC ein.
- Sie sehen die folgende Ausgabe im seriellen Monitor.
- Sie werden im Webbrowser eine sehr einfache Webseite des ESP8266-Boards sehen, wie unten dargestellt:

※ Notiz:
Mit dem oben genannten Code müssen Sie die Seite im Webbrowser neu laden, um die Temperaturaktualisierung zu erhalten. Im nächsten Teil werden wir lernen, wie man eine Webseite dazu bringt, den Temperaturwert im Hintergrund zu aktualisieren, ohne die Webseite neu zu laden.
ESP8266-Code - Grafische Webseite
Da eine grafische Webseite eine große Menge HTML-Inhalte enthält, wird das Einbetten in den ESP8266-Code wie zuvor unpraktisch. Um dem entgegenzuwirken, müssen wir den ESP8266-Code und den HTML-Code in verschiedene Dateien aufteilen:
- Der ESP8266-Code wird in eine .ino-Datei eingefügt.
- Der HTML-Code (einschließlich HTML, CSS und JavaScript) wird in eine .h-Datei eingefügt.
Für Details dazu, wie man den HTML-Code vom ESP8266-Code trennt, verweisen Sie bitte auf das Tutorial ESP8266 - Web Server.
Schnelle Schritte
- Öffne die Arduino-IDE und erstelle einen neuen Sketch. Gib ihm einen Namen, zum Beispiel newbiely.com.ino.
- Kopiere den untenstehenden Code und öffne ihn mit der Arduino-IDE.
- Passe die WiFi-Informationen (SSID und Passwort) im Code an
- Erstelle die Datei index.h in der Arduino-IDE durch:
- Entweder klicke auf den Button direkt unter dem Symbol des Seriellen Monitors und wähle Neue Registerkarte, oder verwende die Tastenkombination Strg+Umschalt+N.
- Geben Sie den Dateinamen index.h ein und klicken Sie auf die Schaltfläche OK
- Kopiere den untenstehenden Code und füge ihn in die index.h ein.
- Jetzt haben Sie den Code in zwei Dateien: newbiely.com.ino und index.h
- Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den ESP8266 hochzuladen
- Greifen Sie wie zuvor über den Webbrowser auf die Webseite des ESP8266-Boards zu. Sie sehen sie unten dargestellt:
- Wenn Sie den HTML-Inhalt in der index.h ändern und nichts in der newbiely.com.ino-Datei berühren, aktualisiert die Arduino IDE den HTML-Inhalt beim Kompilieren und Hochladen des Codes auf den ESP8266 nicht.
- Um die Arduino IDE in diesem Fall dazu zu bringen, den HTML-Inhalt zu aktualisieren, nehmen Sie eine Änderung in der newbiely.com.ino-Datei vor (z. B. eine leere Zeile hinzufügen, einen Kommentar hinzufügen ...).



※ Notiz: