Home Automation System - Misuriamo la temperatura con il SONOFF mini - Preparazione Software

in #ita5 years ago (edited)


image.png
Fonte PIXABAY - CC0 Creative Commons

Dopo aver preso un pò di dimestichezza con il mio nuovo SONOFF mini "Tasmotato" (vedi https://steemit.com/ita/@marcolino76/home-automation-system-prima-volta-con-il-sonoff-mini-carichiamo-tasmota) faccio un piccolo passo in avanti studiando come interfacciarlo con un sensore di temperatura, come già fatto con gli altri sonoff già in mio possesso.

La scelta ricade come sempre sul sensore DHT11 che, come già sappiamo, è totalmente compatibile con il firmware TASMOTA. Il sensore non è tra i più precisi ma per i miei obiettivi va più che bene...e soprattutto è molto economico.


image.png

Prima cosa da fare è andare a vedere quali GPIO sono disponibili sul SONOFF mini e quali sono già interfacciabili con TASMOTA utilizzando il modulo SONOFF Basic; questo per non scomodare i template personalizzati. Andiamo quindi, tramite interfaccia web, nella sezione CONFIGURATION -> CONFIGURE MODULE e andiamo a cercare la presenza del dispositivo DHT11


image.png

Mi accorgo subito che nelle tendine di scelta dei singoli GPIO il DHT11 non esiste. Certamente...mi sono ricordato di aver caricato il firmware TASMOTA Lite, che contiene solo un sottoinsieme di sensori per risparmiare spazio in memoria...
Primo ostacolo: questo firmware non va bene e non posso caricare il TASMOTA standard o il TASMOTA sensors perchè il SONOFF mini non ha lo spazio sufficiente. Che faccio? Dopo un pò di ricerche, decido che la soluzione migliore è quella di customizzare il firmware a partire dai sorgenti. Cosa vuol dire? Semplicemente non scarico il firmware già compilato e pronto all'uso, ma scarico i sorgenti sui quali posso effettuare delle modifiche per poi compilare e generare il firmware da installare sul dispositivo.
Mi scarico quindi i sorgenti di TASMOTA e, partendo dalla configurazione della versione Lite, cerco il modo di inserire anche la gestione del dispositivo DHT11. Prima però devo scegliere l'ambiente di sviluppo con il quale modificare e compilare i sorgenti...Sulla documentazione di TASMOTA è tutto ben spiegato...https://tasmota.github.io/docs/Compile-your-build/ Io ho deciso di usare Visual Studio Code (che già conosco bene) con plugin PlatformIO

image.png

Prima di compilare i sorgenti bisogna configurare l'ambiente in modo tale che venga generato un firmware TASMOTA custom, del tutto simile alla versione Lite ma con l'aggiunta del dispositivo DHT11. Per fare questo occorrono alcune modifiche ai file scaricati. In particolare, bisogna andare a dire al compilatore di generare il firmware versione Lite, modificando il file platformio_override.ini, commentando la riga "tasmota" e scommentanto la riga "tasmota-lite", nella sezione [platformio]

image.png

Bene, adesso bisogna aggiungere il sensore DHT11. Nel file tasmota_configurations.h bisogna cercare la riga con #ifdef FIRMWARE_LITE per identificare il blocco di codice che abilita / disabilita i dispositivi in funzione del tipo di compilazione richiesta.

image.png

Trovata la sezione corretta, si va alla ricerca della riga #undef USE DHT e la si commenta. In questo modo la versione Lite includerà anche il DHT11.

image.png

Detto, fatto! Adesso non rimane altro che compilare (sperando non ci siano errori!) e caricare sul SONOFF Mini il file generato. La compilazione si avvia tramite il pulsante a spunta, sulla barra in basso a sinistra di visual studio code

image.png

Aggiornato il firmware magicamente sono comparsi i DHT11 nelle tendine di configurazione.


image.png

Scegliamo il GPIO2 al quale andremo poi a collegare il pin dei dati del DHT11.

Bene, adesso non ci rimane altro che preparare il SONOFF Mini dal punto di vista Hardware e poi effettuare qualche test.

Stay tuned


###Tutte le foto, dove non diversamente specificato, sono di proprietà dell'autore###

###DISCLAIMER###
Prestare sempre attenzione nel 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

Coin Marketplace

STEEM 0.23
TRX 0.25
JST 0.038
BTC 95957.12
ETH 3307.71
USDT 1.00
SBD 3.34