ESP32 Tutorial 51/55 - Temperatur und Luftfeuchtigkeit über WiFi mit DHT | SunFounder's ESP32 IoT Lernkit

ESP32 Tutorial 51/55 - Temperatur und Luftfeuchtigkeit über WiFi mit DHT | SunFounder's ESP32 IoT Lernkit

In diesem Tutorial werden wir lernen, wie man den SunFounder ESP32 mit einem DHT11- oder DHT22-Sensor verwendet, um Temperatur und Luftfeuchtigkeit zu messen. Dieses Projekt ermöglicht es uns, die Sensordaten über Wi-Fi auf unseren mobilen Geräten oder Browsern abzurufen und zeigt die Fähigkeiten des ESP32 als Webserver. Wir werden den ESP32 einrichten, die Komponenten korrekt verdrahten und den notwendigen Code schreiben, um alles reibungslos zum Laufen zu bringen (im Video bei :15).

esp32-51-dht-wifi

Der ESP32-Mikrocontroller ist ein leistungsstarkes Gerät mit integriertem Wi-Fi und Bluetooth. Dies ermöglicht es uns, eine Verbindung zum Internet herzustellen und Sensordaten drahtlos zu übertragen. Der DHT-Sensor misst die Temperatur und Luftfeuchtigkeit, die dann auf einer Webseite angezeigt werden, die über die IP-Adresse des ESP32 zugänglich ist. Dieses Setup eignet sich hervorragend zur Fernüberwachung von Umweltbedingungen.

Hardware erklärt

Für dieses Projekt werden wir die folgenden Hauptkomponenten verwenden:

  • ESP32-Mikrocontroller:Dies ist der Kern des Projekts, der die Wi-Fi-Konnektivität verwaltet und als Webserver dient, um die Sensordaten anzuzeigen.
  • DHT11 oder DHT22 Sensor:Diese Sensoren messen Temperatur und Luftfeuchtigkeit. Der DHT11 eignet sich für grundlegende Anwendungen, während der DHT22 eine bessere Genauigkeit und einen größeren Bereich bietet.

Der DHT-Sensor kommuniziert mit dem ESP32 über einen einzigen Datenpin. Er sendet Temperatur- und Feuchtigkeitsmessungen in einem digitalen Format, das der ESP32 leicht interpretieren kann. Der ESP32 wird dann eine Webseite hosten, die diese Messwerte in Echtzeit anzeigt.

Datenblattdetails

Hersteller Adafruit
Teilenummer DHT11/DHT22
Logik/IO-Spannung 3,3 V - 5,5 V
Versorgungsspannung 3,3 V - 5,5 V
Ausgangsstrom (pro Kanal) 0,5 mA (typ.)
Spitzenstrom (pro Kanal) 2,5 mA (max.)
Antwortzeit 1 s (typ.)
Feuchtigkeitsbereich 20% bis 90% RH
Temperaturbereich -40°C bis 80°C
Paket DIP-4

  • Stellen Sie sicher, dass der DHT-Sensor an den richtigen GPIO-Pin des ESP32 angeschlossen ist.
  • Verwenden Sie Pull-up-Widerstände, um die Datenleitung zu stabilisieren.
  • Achten Sie auf die Versorgungsspannung; sowohl der DHT11 als auch der DHT22 funktionieren gut bei 3,3 V.
  • Halten Sie die Verdrahtung kurz, um Signalverschlechterungen zu vermeiden.
  • Überprüfen Sie die korrekte Bibliotheksinstallation für DHT-Sensoren in der Arduino-IDE.

Verdrahtungsanweisungen

ESP32-28_dht_temperature-sensor-wiring

Um den DHT-Sensor an den ESP32 anzuschließen, verbinden Sie die folgenden Pins:

  • DHT-Sensor VCC:Schließe den 3,3V-Pin am ESP32 an.
  • DHT-Sensor GND:Verbinde dich mit einem GND-Pin am ESP32.
  • DHT-Sensordaten:Verbinde mit GPIO 14 auf dem ESP32 (dies ist im Code definiert alsDHTPIN).

Stellen Sie sicher, dass der richtige Widerstand (typischerweise 4,7kΩ) zwischen VCC und dem Datenpin für eine ordnungsgemäße Signalqualität angeschlossen ist. Wenn Sie den DHT22 verwenden, ändern Sie einfach dieDHTTYPEim Code vonDHT11zuDHT22um die Unterschiede in den Sensoreigenschaften zu berücksichtigen.

Code-Beispiele und Anleitung

Im Code beginnen wir mit der Einbindung der erforderlichen Bibliotheken und der Definition einiger wichtiger Bezeichner. Zum Beispiel,refreshist auf 3 Sekunden eingestellt, was bestimmt, wie oft die Temperatur- und Feuchtigkeitsmessungen aktualisiert werden.

const int refresh=3; // read every 3 seconds
boolean showSerial = true; // true or false

DieshowSerialDie Variable ermöglicht es uns zu steuern, ob Messwerte auf dem Serial Monitor ausgegeben werden. Als Nächstes definieren wir den Sensor-Pin und den Typ:

#define DHTPIN 14  // Set the pin connected to the DHT11 data pin
#define DHTTYPE DHT11 // DHT 11 
DHT dht(DHTPIN, DHTTYPE);

Hier, dieDHTEin Objekt wird erstellt, das mit dem angegebenen Pin und Sensortyp verbunden ist. Die Hauptfunktion zum Senden von Temperaturdaten über das Internet wird definiert alssendTemp():

void sendTemp() {
    String page = "\n";
    page += "\n";
    page += "\n";
    page += "\n";
    page += "\n";
    // Additional HTML content...
}

Diese Funktion generiert eine HTML-Seite, die die Temperatur- und Feuchtigkeitswerte anzeigt. Die Seite wird basierend auf derrefreshfrüher definiertes Intervall. Für vollständige Code-Details bitte auf den vollständigen Code verweisen, der unter dem Artikel geladen wurde.

Demonstration / Was zu erwarten ist

DHT_Wifi_Browser

Nachdem Sie den Code auf den ESP32 hochgeladen haben, sollten Sie die IP-Adresse im seriellen Monitor angezeigt bekommen. Öffnen Sie einen Webbrowser und geben Sie die IP-Adresse ein, um die Temperatur- und Feuchtigkeitswerte anzuzeigen. Die Werte werden alle 3 Sekunden aktualisiert und bieten Echtzeitdaten (im Video um 12:30).

Sei vorsichtig bei häufigen Fallstricken, wie zum Beispiel sicherzustellen, dass das ESP32-Modul und dein Gerät mit demselben Wi-Fi-Netzwerk verbunden sind. Wenn du auf Probleme stößt, überprüfe die Verkabelung und stelle sicher, dass der DHT-Sensor ordnungsgemäß funktioniert.

Video-Zeitstempel

  • 00:00 Start
  • 1:45 Einführung in das DHT-WLAN-Projekt
  • 3:59 Arduino-Code für ESP32 DHT Wifi
  • 13:31 Auswahl des ESP32-Boards und des COM-Ports in der Arduino IDE
  • 15:13 Demonstration der Temperatur über Wifi

Bilder

ESP32-28_dht_temperature-sensor-wiring
ESP32-28_dht_temperature-sensor-wiring
esp32-51-dht-wifi
esp32-51-dht-wifi
DHT_Wifi_browser
DHT_Wifi_browser
368-ESP32 Tutorial 50/55- Display temperature on Browser screen using DHT11, DHT22 with ESP32
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Dateien📁

Keine Dateien verfügbar.