#include <WiFi.h>
#include "DHT.h"
#define DHTPIN 4 // DHT22 pin
#define DHTTYPE DHT22
#define LED 2 // LED pin
DHT dht(DHTPIN, DHTTYPE);
// Replace with your WiFi credentials
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LED, OUTPUT);
// Connect to WiFi
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connected");
Serial.print("ESP32 IP Address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (temperature > 30) {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
WiFiClient client = server.available();
if (client) {
String request = client.readStringUntil('\r');
client.flush();
String html = "<!DOCTYPE html><html><head><meta http-equiv='refresh' content='2'/>"
"<title>ESP32 Temperature</title></head><body>"
"<h1>ESP32 DHT22 Sensor</h1>"
"<p>Temperature: " + String(temperature) + " °C</p>"
"<p>Humidity: " + String(humidity) + " %</p>"
"</body></html>";
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();
client.print(html);
client.stop();
}
delay(2000);
}