Sonoff update firmware. Riprogrammiamo Sonoff

Sonoff è un prodotto interessantissimo, come detto negli scorsi post di fatto è un sistema compatto che offre ad un prezzo di circa 5 euro  un interruttore che si puo’ gestire via WiFi con il cellulare trasformando tutti gli oggetti di casa in smart.

Come già visto,  attraverso l’app eWelink è possibile collegare poi il proprio cellulare al sistema Sonoff.

In un paio di minuti tutto è configurato, una soluzione perfetta quindi per piccoli impieghi.

Volete accendere una luce da remoto; basta un click sul display del telefono e la luce si accenderà per magia senza bisogno di righe di codice o altro. Ovviamente se la vostra necessità è di questo tipo l’ambiente eWelink è perfetto per voi ma se quello che cercate è più complesso la soluzione di eWelink inizierà presto ad andarvi stretta.

Oggi quindi ci muoveremo in un territorio diverso; andremo a cambiare il firmware di Sonoff per consentirci di prendere pienamente possesso della scheda ed adattarla ai nostri bisogni e perché no integrarla / comandarla con altri sistema come ad esempio Blynk.

Con questo passaggio di fatto abbiamo fatto un hack al firmware originale del prodotto, con questo processo non sarà più possibile tornare al firmware originale, tenetelo presente prima di iniziare.

Attenzione: Sonoff lavora con corrente a 220v quindi continuate questo post solo se avete le competenze adeguate, con la corrente a 220v non si scherza; si rischia di rimanere fulminati. Chiedete sempre un parere a persone esperte prima di procedere.

Per procedere in questo esperimento dobbiamo per prima cosa smontare la Sonoff per arrivare al suo cuore: la ESP8266.

Da qui potremo riprogrammare la scheda a nostro piacimento.

Iniziamo con lo smontare la scheda dal suo involucro di plastica. E’ tutto molto semplice; un paio di viti e siamo già all’interno del prodotto.

Questo è il Pinout, ossia come dobbiamo collegare la scheda per poterla riprogrammare.

Per interfacciarla al PC io ho utilizzato una FDT232 facilmente reperibile in un qualsiasi negozio di elettronica, io l’ho comprata su ebay. Questa scheda server a trasportare il segnale verso la scheda Sonoff partendo da un’USB.

L’operazione seguente va fatta ovviamente senza collegare la Sonoff alla rete (la corrente 220v). L’update del firmware va fatto con i soli collegamenti sotto indicati.

hack-firmware-sonoff

hack-firmware-sonoff

Sulla Sonoff collegate gli spinotti in questo senso (verificate il lato confrontandolo con quello in foto onde evitare di fare i collegamenti al contrario)

1. Vcc 3v3 
2. Rx
3. Tx
4. Gnd

 

E’ tutto molto semplice, personalmente io ho effettuato l’hack senza necessità di saldature o altro.

 

Lato FDT232 invece il collegamento è stato:

1   — (vuoto)

2 – TX

3 – Rx

4 – Vcc 3v3 

5  — (vuoto)

6 – Gnd

Sistemata la parte di hardware andiamo ora a guardare il software o meglio il firmware. Dal punto di vista del firmware che possiamo caricare sulla scheda abbiamo 3 opzioni; le metto in ordina di potenza del firmware che andiamo a caricare.

Il firmware di Rui Santos è davvero basico: carica un webserver sulla scheda 8266 ed a sua volta connettendosi all’ip della scheda in rete consente l’attivazione o la disattivazione del relay. L’ho provato perchè grazie alla sua semplicità consente di testare tutti i collegamenti in modo molto veloce. Dal punto di vista dell’applicazione nella vita di tutti i giorni lo sconsiglio, gli altri due sotto riportati sono di molto superiori. Altro grosso inconveniente è quello che questo firmware ridotto all’otto non supporta l’OTA (over the air) e quindi la scheda dovrà avere la cavetteria extra sempre collegata se vogliamo fare aggiornamenti di sorta.

 

SonoffBoilerplate: un piccolo firmware che ci consente di effettuare tutte le principali operazioni in modo abbastanza semplice sfruttando l’IDE di Arduino. Interessante in questa soluzione è la gestione attraverso il sistema OTA (over the air). Di fatto possiamo richiudere la scheda nella propria scatolina e continuare a ri-programmarla senza più necessità di avere il cavo di cavo di connessione inserito.

Sonoff-MQTT-OTA-Arduino: un firmware decisamente più completo ma anche più complesso che consente di gestire moltissimi prodotti di casa iTead (il produttore di Sonoff). Anche in questo caso la programmazione poi avverrà attraverso il sistema OTA velocizzando di molto la fase di testing.

Personalmente essendo le mie richieste “abbastanza basiche” e soprattutto non avendo necessità di interfacciare altri prodotti iTead ho optato per la prima soluzione che vi spiegherò nel prossimo articolo.