Rilevamento pioggia e meteo IoT con ESP8266 NodeMCU

Un sistema di rilevamento pioggia e monitoraggio meteo sta in piedi con pochi componenti. La scheda ESP8266 NodeMCU legge un sensore di pioggia resistivo, un DHT11 e un BMP280, poi spedisce tutto via Wi-Fi a un dashboard cloud. Un LED locale segnala la pioggia quando il valore analogico scende sotto la soglia configurata. Quindi il circuito funziona anche senza guardare lo schermo, e la base è pronta per agricoltura intelligente, serre e smart city.

Il cuore è la scheda ESP8266 NodeMCU, una sola nel progetto. Intorno ci sono un modulo sensore di pioggia YL-83 o FC-37, un DHT11 di temperatura e umidità, un BMP280 di pressione e un LED. Servono una resistenza da 220Ω, 14 jumper wire e un cavo USB-A to B. Chi vuole rifare il progetto trova nel catalogo una scheda con sensore temperatura e umidità DHT11 a tre pin di uscita, comoda per la parte termoigrometrica.

I collegamenti su A0, D4, D2 e D1

Il sensore di pioggia lavora a 3,3 V e la sua uscita analogica AO va al pin A0 dell’ESP8266. La lettura cambia quando l’acqua raggiunge la piastra sensibile. Il DHT11 ha VCC a 3,3 V, GND a GND e DATA su D4. Il BMP280 comunica in I2C con VIN a 3,3 V, GND a GND, SDA su D2 e SCL su D1, e misura la pressione atmosferica. L’indirizzo I2C usato è 0x76.

Il LED ha l’anodo su D5 attraverso la resistenza da 220Ω e il catodo a GND. Si accende quando il valore analogico del sensore di pioggia scende sotto 500, cioè quando c’è rilevamento di pioggia. Inoltre la soglia resta configurabile nel firmware, quindi si adatta a piastre diverse e a installazioni all’aperto.

  • Sensore di pioggia YL-83 o FC-37: alimentazione a 3,3 V, uscita AO su A0
  • DHT11: VCC a 3,3 V, GND a GND, DATA su D4
  • BMP280: VIN a 3,3 V, GND a GND, SDA su D2, SCL su D1, indirizzo 0x76
  • LED: anodo su D5 con resistenza da 220Ω, catodo a GND
  • Soglia di pioggia: valore analogico sotto 500

Firmware in Arduino IDE e invio MQTT ogni 2 secondi

Il firmware si scrive in Arduino IDE, con il pacchetto della scheda ESP8266 installato dal Boards Manager. Servono la libreria ESP8266WiFi, la libreria KiwisIoT, la DHT Sensor Library, la Adafruit Unified Sensor, la Adafruit BMP280 Library e Wire. La scheda legge i sensori, converte la pressione da pascal a hPa dividendo per 100.0 e invia i valori a KiwisIoT via MQTT. Il dashboard mostra temperatura, umidità, pressione e valore del sensore di pioggia.

I dati partono verso il dashboard ogni 2 secondi e gli stessi valori finiscono sul monitor seriale, impostato a 115200 baud. Perciò si può seguire la messa a punto senza aprire il cloud. Lo schema si disegna in Fritzing, quindi il cablaggio resta leggibile anche per chi monta il circuito la prima volta.

La pagina del progetto su Hackster.io raccoglie il lavoro attorno a questo sistema di rilevamento pioggia, con i dettagli di cablaggio e firmware. Il montaggio completo richiede 14 jumper wire, un LED, una resistenza da 220Ω e un cavo USB-A to B. Con questi pezzi il sistema è pronto a stare in una serra o su un balcone.


Fonte: https://www.hackster.io/varunprasadeng/iot-rain-detection-weather-monitoring-with-esp8266-e29aff

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu