#include <WiFi.h>
#include <WebServer.h>
#include "DHT.h"
// DHT settings
#define DHTPIN 21 // Pin a cui è collegato il sensore
#define DHTTYPE DHT22 // Tipo di sensore
DHT dht(DHTPIN, DHTTYPE);
// WiFi credentials
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WebServer server(80);
void handleRoot() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Controllo validità letture
if (isnan(temperature) || isnan(humidity)) {
server.send(500, "text/plain", "Errore nella lettura del sensore DHT");
return;
}
String html = "<!DOCTYPE html><html><head><title>DHT22 Monitor</title></head><body>";
html += "<h1>Dati dal sensore DHT22</h1>";
html += "<p>Temperatura: " + String(temperature) + " °C</p>";
html += "<p>Umidità: " + String(humidity) + " %</p>";
html += "</body></html>";
server.send(200, "text/html", html);
}
void setup() {
Serial.begin(115200);
dht.begin();
// Connessione WiFi
WiFi.begin(ssid, password);
Serial.print("Connessione a WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" connesso!");
Serial.print("IP assegnato: ");
Serial.println(WiFi.localIP());
// Imposta la pagina principale
server.on("/", handleRoot);
server.begin();
Serial.println("Server HTTP avviato");
}
void loop() {
server.handleClient();
}