22/05/2020

Home Automation System - Misuriamo la temperatura con il SONOFF mini - Preparazione Software [English version]

di Marco Lamanna

Dopo aver preso un pò di dimestichezza con il mio nuovo SONOFF mini "Tasmotato" (vedi post precedente) 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.

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

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 in modalità OTA. Bisognerebbe prima caricare il firmware "minimal" e poi aggiornare con il firmware desiderato. 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

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]

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.

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.

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

Dopo aver aggiornato il firmware magicamente sono comparsi i DHT11 nelle tendine di configurazione.

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

Stay tuned