Monitoraggio antincendio IoT con NodeMCU e dashboard KiwisIoT

Un NodeMCU ESP8266 raccoglie i dati di tre sensori e li manda via Wi-Fi a una dashboard KiwisIoT. Il sistema di monitoraggio antincendio IoT di Valli legge una fiamma, un livello di fumo, la temperatura e l’umidità, poi pubblica tutto su quattro canali distinti. La fiamma diventa un testo, il fumo un numero da 0 a 100, temperatura e umidità due valori separati. Chi guarda la dashboard vede lo stato della stanza senza essere sul posto.

È un prototipo didattico, non un prodotto certificato. Serve a mostrare come si combinano più sensori su un solo ESP8266 e come si porta il risultato su una dashboard IoT. Il valore sta nel montaggio: quattro sensori, quattro canali, una lettura ogni 5000 ms.

Il cablaggio: fiamma su D5, MQ-2 su A0, DHT11 su D2

Il NodeMCU ESP8266 è il centro del circuito. Il sensore di fiamma DFRobot Gravity lavora in digitale e occupa il pin D5. Il MQ-2 Seeed Studio Grove è un sensore analogico e va sul pin A0, l’unico ingresso analogico disponibile su questa scheda. Il DHT11 a tre pin sta su D2.

L’alimentazione segue due strade diverse. Il sensore di fiamma e il DHT11 sono alimentati a 3.3 V, quindi si collegano direttamente ai pin di alimentazione del NodeMCU. Il MQ-2 invece richiede più corrente e va alimentato tramite il pin VIN. Inoltre il suo riscaldatore interno ha bisogno di qualche secondo prima di dare letture stabili.

  • NodeMCU ESP8266 Breakout Board
  • Sensore di fiamma DFRobot Gravity con uscita digitale
  • Sensore di gas Seeed Studio Grove MQ-2
  • Sensore DHT11 di temperatura e umidità a tre pin
  • Jumper wires e cavo USB

Per chi vuole partire dal sensore di temperatura e umidità, il modulo DHT11 a tre pin di uscita è lo stesso componente che il progetto usa su D2. Il cablaggio resta corto: tre fili per il DHT11, tre per il sensore di fiamma, tre per l’MQ-2.

Il firmware: setup, loop e quattro canali KiwisIoT

Il codice gira in Arduino IDE con il pacchetto delle board ESP8266, la DHT Sensor Library e la libreria KiwisIoT. Nel setup() il NodeMCU avvia la comunicazione seriale a 115200 baud, configura il pin del sensore di fiamma come input, inizializza il DHT11 e apre la connessione a KiwisIoT.

Nel loop() la chiamata kiwisiot.run() tiene viva la comunicazione con la dashboard. Poi arrivano le letture. Il sensore di fiamma viene letto digitalmente su D5: un segnale LOW indica fiamma rilevata, quindi il canale 0 riceve la stringa FLAME DETECTED oppure NO FLAME.

Il MQ-2 viene letto su A0 e restituisce un valore grezzo da 0 a 1023. La funzione map() lo converte in un livello normalizzato da 0 a 100, che parte verso il canale 1. Il DHT11 su D2 fornisce temperatura e umidità, inviate ai canali 2 e 3 solo se il valore non è NaN. Di conseguenza una lettura fallita non sporca la dashboard. Il ciclo si ripete ogni 5000 ms.

Chi vuole rifare il progetto trova il punto di partenza nella pagina del progetto su Hackster.io firmata da Valli, dove stanno lo sketch e la sequenza di configurazione della dashboard.

Vale la pena fissare due numeri prima di saldare: la seriale a 115200 baud serve per il debug, e i 5000 ms di pausa sono il compromesso tra reattività e stabilità della lettura. Se il MQ-2 scalda troppo, il valore normalizzato tende a salire da solo e la soglia di allarme va ritoccata.


Fonte: https://www.hackster.io/valli1192003/iot-fire-monitoring-system-using-esp8266-sensors-kiwisiot-d52b01

Lascia un commento

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

Menu