Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie

mercoledì 18 aprile 2018

Home Automation System - Misurazione dei consumi...invio dei dati con MQTT





Rieccomi qua. Riprendiamo il discorso sulla rilevazione del consumo di energia da integrare in OpenHAB; ho fatto alcune passi avanti con le mie sperimentazioni.

Nel post precedente avevo fatto i primi test con il dispositivo PZEM-004T Energy Module, abbinato ad un Arduino UNO.




Test andati più che bene...ed adesso, come da programma, voglio sostituire Arduino UNO con un molto più economico Esp8266 NodeMCU

Ci sono un paio di osservazioni da fare in merito a questa sostituzione, in quanto Esp8266 NodeMCU lavora a 3.3V, rispetto ad Arduino che lavora a 5V, così come il PZEM-004T Energy Module, che, come abbiamo visto, necessita di 5V di alimentazione per la parte a bassa tensione.

Nel test precedente i 5V li prendevo direttamente da Arduino e quindi non avevo bisogno di diverse alimentazioni. In questo caso devo studiarmi qualcosa per evitare di dover alimentare il NodeMCU con 3.3V e il PZEM-004T con 5V.

Ogni tanto la fortuna aiuta gli audaci...le ultime schedine Esp8266 NodeMCU che ho comprato sono un modello particolare della LoLin che è in grado di essere alimentato a 5V tramite solito connettore microUSB ed ha un PIN di uscita della tensione di alimentazione (cosa che gli altri modelli non hanno...forniscono in uscita solo 3.3V)

Quindi, con un alimentatore di un vecchio cellulare, che fornisce 5V e 400mA e che ha l'attacco microUSB, riesco a fare tutto.


E allora, cabliamo il tutto.

Ecco le due schedine pronte per il collaudo.



Manca ancora la creazione del software. 

Come primo step, scrivo un programma del tutto simile a quello usato con Arduino, per verificare che i due dispositivi lavorino bene. Questa volta ho usato l'editor Visual Studio Code con plugin Platformio.

Ecco l'output della seriale durante il test.

Prima ho acceso una lampadina da circa 18W



E poi una da 100W


Il sistema reagisce bene...ottimo!

Non mi resta che modificare il software e fare in modo che le informazioni vengano mandate tramite MQTT, per una successiva integrazione su OpenHAB e Grafana.

Se i valori di consumo rimangono costanti, invio i dati circa ogni minuto; altrimenti, quando il sistema rileva un cambiamento di consumi sopra una certa soglia, invia i dati. Ho fatto in questo modo per evitare di inviare una mole di dati identici inutilmente.

Per adesso imposto un topic MQTT di test:

nodemcu/test/esp8266mcu12/powerconsumption/state

e attraverso il solito MQTT-SPY verifico la ricezione dei dati:


Tutto funziona egregiamente...non mi rimane altro che integrare il tutto in OpenHAB e vedere i dati tramite le sue sitemap e attraverso le dashboard di Grafana

Alla prossima puntata...