Una stazione meteo ESP32 completa, con dashboard web live e grafici, che si lascia accesa e si consulta da qualsiasi dispositivo sulla rete. Niente app, niente cloud: apri il browser e i dati sono li. Il sistema legge temperatura, umidità, pressione atmosferica e luce ambientale, e li mostra in tempo reale con quattro grafici a linee.
Il cuore è una scheda ESP32 Dev Board (ESP32-WROOM-32). Tre sensori fanno il lavoro: il DHT22 misura temperatura e umidità, il BMP280 pressione e temperatura, il BH1750 la luce in lux. I dati vengono letti ogni 3 secondi e aggiornano la dashboard. Ogni 5 minuti, il sistema salva un punto in un log circolare nella RAM, mantenendo una cronologia di 60 minuti, ovvero 12 punti. La dashboard usa Chart.js per disegnare i grafici, che si aggiornano da soli.
I numeri dei sensori della stazione meteo ESP32
I componenti scelti coprono bene l’uso domestico. Il DHT22 misura l’umidità da 0 a 100% RH con accuratezza di ±2% RH, e la temperatura da -40°C a 80°C con ±0.5°C. La frequenza di campionamento è di circa una lettura ogni 2 secondi. Il BMP280 legge la pressione da 300 a 1100 hPa con accuratezza assoluta di ±1 hPa, e la temperatura da -40°C a 85°C. Comunica via I2C all’indirizzo 0x76 o 0x77.
Il BH1750 misura la luce da 1 a 65.535 lux con risoluzione di 1 lux, e usa l’indirizzo I2C predefinito 0x23, oppure 0x5C se il pin ADDR è alto. Per dare un riferimento: la luce solare diretta può arrivare a 30.000-100.000 lux, una giornata nuvolosa a 1.000-10.000 lux, una stanza ben illuminata a 200-500 lux. Il valore di luce viene convertito da lux a percentuale (0-100%) usando un massimo configurabile, che nella scheda è impostato a 20000.0 lux.
Pulsante di reset e firmware
Un pulsante fisico collegato al GPIO 0 avvia la modalità di configurazione WiFi tramite WiFiManager. Così si cambia rete WiFi senza ricaricare il firmware: una comodità non da poco quando si sposta la stazione in un’altra stanza o casa. Il codice si compila con Arduino IDE (1.8.19 o 2.x), usando il pacchetto ESP32 Board Package e le librerie Adafruit per DHT e BMP280, la libreria BH1750 di Christopher Laws, ArduinoJson 6.x e WiFiManager di tzapu.
L’offset GMT per il fuso orario è impostato a 19800 secondi, pari a +5:30 IST. La stazione meteo ESP32 è un progetto completo e funzionale, che si può lasciare accesa e consultare da qualsiasi dispositivo sulla rete, senza bisogno di app o cloud. Per chi vuole approfondire il codice e i collegamenti, il sito del maker raccoglie tutti i dettagli del progetto.
- ESP32 Dev Board (ESP32-WROOM-32)
- DHT22 (AM2302) per temperatura e umidità
- BMP280 per pressione e temperatura
- BH1750 per la luce ambientale in lux
- Resistore 10kΩ e pulsante momentaneo
Fonte: https://www.circuitschools.com/esp32-weather-station-live-web-dashboard-with-charts/
