#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <DHT.h>
// Konfigurasi WiFi
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Konfigurasi DHT
#define DHTPIN 35 // Pin yang terhubung dengan sensor DHT22
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Inisialisasi web server
AsyncWebServer server(80);
void setup() {
// Memulai serial monitor
Serial.begin(115200);
// Memulai DHT sensor
dht.begin();
// Menghubungkan ke WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
Serial.println(WiFi.localIP());
// Menyiapkan route pada web server
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
request->send(500, "text/plain", "Failed to read from DHT sensor");
return;
}
String html = "<!DOCTYPE html><html><head><title>ESP32 Web Server</title></head><body>";
html += "<h1>ESP32 DHT22 Web Server</h1>";
html += "<p>Temperature: " + String(temperature) + " °C</p>";
html += "<p>Humidity: " + String(humidity) + " %</p>";
html += "</body></html>";
request->send(200, "text/html", html);
});
// Memulai web server
server.begin();
}
void loop() {
// Tidak perlu kode di loop karena kita menggunakan AsyncWebServer
}