0% found this document useful (0 votes)
5 views4 pages

Include

This document contains an Arduino sketch for an ESP32 microcontroller that connects to a WiFi network and serves a web page displaying temperature and humidity readings from a DHT11 sensor. The web page refreshes every 4 seconds and uses HTML and CSS for formatting. The code includes functions to read temperature and humidity from the sensor and handle HTTP requests from clients.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views4 pages

Include

This document contains an Arduino sketch for an ESP32 microcontroller that connects to a WiFi network and serves a web page displaying temperature and humidity readings from a DHT11 sensor. The web page refreshes every 4 seconds and uses HTML and CSS for formatting. The code includes functions to read temperature and humidity from the sensor and handle HTTP requests from clients.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

#include <WiFi.

h>
#include <WiFiClient.h>
#include <WebServer.h>
#include <ESPmDNS.h>
#include <DHT.h>

const char *ssid = "My-Network";


const char *password = "chaker123456";

WebServer server(80);
DHT dht(26, DHT11);

void handleRoot() {
char msg[1500];

snprintf(msg, 1500,
"<html>\
<head>\
<meta http-equiv='refresh' content='4'/>\
<meta name='viewport' content='width=device-width, initial-scale=1'>\
<link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.7.2/css/all.css'
integrity='sha384-
fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr'
crossorigin='anonymous'>\
<title>ESP32 DHT Server</title>\
<style>\
html { font-family: Arial; display: inline-block; margin: 0px auto; text-align: center;}\
h2 { font-size: 3.0rem; }\
p { font-size: 3.0rem; }\
.units { font-size: 1.2rem; }\
.dht-labels{ font-size: 1.5rem; vertical-align:middle; padding-bottom: 15px;}\
</style>\
</head>\
<body>\
<h2>ESP32 DHT Server!</h2>\
<p>\
<i class='fas fa-thermometer-half' style='color:#ca3517;'></i>\
<span class='dht-labels'>Temperature</span>\
<span>%.2f</span>\
<sup class='units'>&deg;C</sup>\
</p>\
<p>\
<i class='fas fa-tint' style='color:#00add6;'></i>\
<span class='dht-labels'>Humidity</span>\
<span>%.2f</span>\
<sup class='units'>&percnt;</sup>\
</p>\
</body>\
</html>",
readDHTTemperature(), readDHTHumidity()
);
server.send(200, "text/html", msg);
}

void setup(void) {

Serial.begin(115200);
dht.begin();

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");

// Wait for connection


while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

if (MDNS.begin("esp32")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);

server.begin();
Serial.println("HTTP server started");
}

void loop(void) {
server.handleClient();
delay(2);//allow the cpu to switch to other tasks
}

float readDHTTemperature() {
// Sensor readings may also be up to 2 seconds
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
if (isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return -1;
}
else {
Serial.println(t);
return t;
}
}

float readDHTHumidity() {
// Sensor readings may also be up to 2 seconds
float h = dht.readHumidity();
if (isnan(h)) {
Serial.println("Failed to read from DHT sensor!");
return -1;
}
else {
Serial.println(h);
return h;
}
}

You might also like