Arduino Nano ESP32 Web Temperatur mit DIYables ESP32 WebApps-Bibliothek
Übersicht
Dieses Tutorial behandelt die Klasse DIYablesWebTemperaturePage aus der DIYables ESP32 WebApps-Bibliothek. Die Browser-Seite rendert ein quecksilberähnliches Thermometer, das einen Echtzeit-Temperaturwert anzeigt, der vom Arduino Nano ESP32 über WebSocket empfangen wird. Der Temperaturbereich, die Einheit und die Skala werden im Konstruktor konfiguriert und beim Verbinden an den Browser übertragen.
Schauen Sie sich eine Demonstration der Web-Temperatur-App mit einem DS18B20-Sensor an:

Was dieses Tutorial abdeckt
- Konfiguration des Thermometer-Bereichs und der Einheit im Konstruktor
- Versorgung mit Temperaturmessungen über einen Callback
- Senden von aktualisierten Werten von echten Sensoren (DS18B20, DHT22)
- Zugriff auf die Thermometer-Seite von einem Browser aus
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 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.
Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Wenn Sie den Arduino Nano ESP32 zum ersten Mal verwenden, lesen Sie das Tutorial zum Einrichten der Arduino Nano ESP32-Entwicklungsumgebung.
- Verbinden Sie die Arduino Nano ESP32-Platine mit Ihrem Computer über ein USB-Kabel.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie die entsprechende Platine (z. B. Arduino Nano ESP32) und den COM-Port aus.
- Navigieren Sie zum Symbol Bibliotheken in der linken Leiste der Arduino IDE.
- Suchen Sie nach "DIYables ESP32 WebApps", dann finden Sie die DIYables ESP32 WebApps-Bibliothek von DIYables
- Klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Sie werden aufgefordert, einige andere Bibliotheksabhängigkeiten zu installieren
- Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.
- In der Arduino IDE gehen Sie zu Datei Beispiele DIYables ESP32 WebApps WebTemperature Beispiel, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
- Aktualisieren Sie die WiFi-Anmeldedaten in der Skizze:
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um Code zum Arduino Nano ESP32 hochzuladen
- Öffnen Sie den seriellen Monitor
- Die Ausgabe des seriellen Monitors sollte wie folgt aussehen:
- Wenn nichts angezeigt wird, drücken Sie die Reset-Taste auf der Platine.
- Geben Sie die IP-Adresse aus dem seriellen Monitor in einen Browser im selben Netzwerk ein.
- Beispiel: http://192.168.0.2
- Die Startseite zeigt eine Karte für die Temperaturanwendung:

- Wählen Sie die Web-Temperatur-Karte aus, um die Thermometer-Seite zu öffnen:

- Die Seite ist auch direkt unter http://192.168.0.2/web-temperature erreichbar.
Thermometer-Konfiguration
Konstruktor
Legen Sie die Mindesttemperatur, die maximale Temperatur und die Einheitszeichenfolge im Konstruktor fest. Diese Werte werden beim Verbinden an den Browser gesendet und bestimmen die Skala des Thermometers.
Häufige Konfigurationen:
| Min | Max | Einheit |
|---|---|---|
| -10.0 | 50.0 | °C |
| 32.0 | 122.0 | °F |
| 263.15 | 323.15 | K |
Callback
Registrieren Sie onTemperatureValueRequested, um eine Messung jedes Mal zu liefern, wenn der Browser um eine Aktualisierung anfordert:
Wert senden
Lesen Sie den Sensor in der Callback-Funktion und rufen Sie sendTemperatureValue() auf:
Lesen von echten Sensoren
DS18B20 (1-Wire)
DHT22 (Single-Wire)
Fehlerbehebung
Thermometer zeigt keinen Wert
- Überprüfen Sie, dass onTemperatureValueRequested vor webAppsServer.begin() registriert ist
- Bestätigen Sie, dass sendTemperatureValue() innerhalb des Callbacks aufgerufen wird
Sensor gibt NaN zurück
- Für DS18B20: überprüfen Sie den OneWire-Daten-Pin und Pull-up-Widerstand (4,7 kΩ zwischen Daten und 3,3 V)
- Für DHT22: fügen Sie einen 10-kΩ-Pull-up auf der Datenleitung hinzu; das minimale Leseintervall beträgt 2 s
Quecksilberniveau stimmt nicht mit dem erwarteten Wert überein
- Überprüfen Sie, dass der gemeldete Wert innerhalb des konfigurierten Min/Max-Bereichs liegt
- Werte außerhalb des Bereichs werden an den Thermometergrenzen begrenzt
Seite ist nicht erreichbar
- Überprüfen Sie die IP-Adresse aus dem seriellen Monitor
- Bestätigen Sie, dass sich die Platine und das Browser-Gerät im selben WiFi-Netzwerk befinden