Jak rozchodit ESP32 a DHT22 jako webserver
Tento návod tě provede krok za krokem, jak změřit teplotu a vlhkost pomocí senzoru DHT22 a vývojové desky ESP32. Na konci budeš mít webovou stránku, kde si tyto hodnoty zobrazíš.
1. Co budeš potřebovat
- ESP32 desku
- DHT22 senzor (nebo AM2302)
- 3 vodiče Dupont
- Arduino IDE
- USB kabel
2. Přidání ESP32 do Arduino IDE
- Otevři Arduino IDE
- Jdi do Soubor → Předvolby
- Do pole "Správce dalších desek – URL" vlož:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Potvrď kliknutím na OK
- Jdi do Nástroje → Deska → Správce desek, vyhledej esp32 a nainstaluj
3. Instalace knihoven
- DHT sensor library (od Adafruit)
- Adafruit Unified Sensor
- ESPAsyncWebServer
- AsyncTCP
4. Zapojení DHT22
- VCC → 3.3V nebo 5V na ESP32
- GND → GND
- DATA → GPIO4 (nebo jiný dle kódu)
5. Kód pro webový server
#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include "DHT.h"
const char* ssid = "TVOJE_WIFI";
const char* password = "TVOJE_HESLO";
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
AsyncWebServer server(80);
String getSensorReadings() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
return "Chyba při čtení ze senzoru!";
}
String readings = "ESP32 - DHT22
";
readings += "Teplota: " + String(temperature) + " °C
";
readings += "Vlhkost: " + String(humidity) + " %
";
return readings;
}
void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
}
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", getSensorReadings());
});
server.begin();
}
void loop() {
}
🚀 9. Nahrání do ESP32
Klikni na tlačítko ✓ Zkontrolovat (Verify)
Klikni na tlačítko → Nahrát (Upload)
Po úspěšném nahrání otevři Sériový monitor (lupa vpravo nahoře)
Zobrazí se IP adresa ESP32
Tu zadej do webového prohlížeče (např. http://192.168.1.125)
Žádné komentáře:
Okomentovat