SONOFF
PROGRAMMAZIONE

Diamo uno sguardo al modulo SONOFF ad un canale, anche questo programmabile tramite l'IDE di Arduino

1.  INTRODUZIONE

Questo documento serve a preparare e configurare il modulo SONOFF per renderlo compatibile con le funzioni IoT di LUCIBUS.
Il modulo SONOFF è molto interessante in quanto è provvisto di alimentatore interno e quindi, tramite l'apposito morsetto, può essere collegato direttamente a 220V.
Questa connessione permette sia di alimentare il carico pilotato dal relè (max. 10A, cioè 2000 watt circa) che il circuito a 5 volt, tramite un piccolo alimentatore switching montato sulla scheda.

Da non dimenticare che, tra l'altro, il modulo ormai costa veramente poco. Il prezzo è di circa 5 euro : veramente esiguo per quello che ci offre. 

In originale il modulo funziona attraverso un cloud della casa madre, che permette accensione e spegnimento del relè tramite una apposita app.
Noi invece sfrutteremo le sue potenzialità per poterlo utilizzare con le funzioni IoT di Lucibus, senza passare da nessun cloud ma semplicemente facendolo collegare al nostro router, mediante password.
Per fare questo, occorre seguire una procedura che di certo non è facile come quella relativa a VIATOR ma che comunque, seguendola passo passo e con dovuta attenzione, risulterà più difficile a dirsi che a farsi.

Diamo prima di tutto uno sguardo generale e prendiamo confidenza con il modulo.
Anche il SONOFF, come quasi tutti i moduli IoT di prima generazione, si basa su un IC denominato ESP8266.

La piedinatura presente sopra il pulsante di RESET è quella che utilizzeremo per poter riprogrammare il SONOFF.
Si tratta della porta di comunicazione seriale TTL . I nuovi modelli hanno 5 pin disponibili mentre i vecchi solo 4.

Il pin mancante dei vecchi è il primo in alto, denominato GPIO14, che non serve alla programmazione.
Nel modello nuovo questo pin esiste ma non è collegato a nulla; più avanti vi insegnerò come poterlo connettere al led rosso o usarlo per pilotare un ulteriore relè. 

Alla fine del lavoro, questo modulo potrà quindi gestire 3 comandi : 

1. il relè già saldato sulla basetta, gestito dal piedino GPIO12
2. il led verde, gestito dal piedino GPIO13 - servirà come spia di connessione
3. il led rosso, gestito dal piedino GPIO14 - ci si può collegare un secondo relè

2.  PREPARAZIONE PER IL CONNETTORE DEL MODULO FT232

Un lavoro indispensabile che anche i più pigri dovranno fare sarà quello di saldare una strip 2.54 femmina (o maschio, a piacere) a 5 posti sul connettore della seriale del SONOFF.
E' una cosa semplicissima. Bastano pochi minuti ed il SONOFF avrà lo zoccoletto per essere riprogrammato all'infinito. 

3.  CONNESSIONE DEL LED ROSSO

Nelle versioni RF del modulo, il led rosso è usato da un ricevente a 433 MHz.
Il SONOFF, in questo modo, permette di comandare le varie uscite anche mediante telecomando.
Non è il nostro caso. Infatti, come vedete dallo foto, la piedinatura perpendicolare a quella della uscita seriale è libera.
In caso di modulo con RF sarebbe occupata dal ricevitore a 433 MHz.

Prima di effettuare il re-flash, occorre effettuare alcune saldature, per fare in modo che anche il led rosso possa essere utilizzato.
Il led rosso ci servirà come spia per vedere se il comando dato al pin GPIO14 funziona.

CHI NON HA ESPERIENZA IN SALDATURA O NON NECESSITA DEL LED ROSSO,  PUO' ANCHE SALTARE QUESTO PARAGRAFO.

Andrà quindi ad utilizzare solo il relè già installato, il led verde ed un eventuale altro relè da connettere direttamente al pin GPIO14. 

Per limitare la corrente al led rosso, si utilizzerà la resistenza R3 già presente sullo stampato.
Questa resistenza, come accennato, doveva essere utilizzata dalla parte RF, che in questo caso non è presente.

Con uno spezzone di cavo colleghiamo GPIO14 con la resistenza, utilizzando come passaggio il foro dell'integrato mancante. 

Saldiamo quindi l'altro capo al pin relativo a GPIO14. 

Finito ! Adesso il led rosso si accenderà se daremo un comando on-off sul piedino GPIO14.

4.  CONFIGURAZIONE DEL MODULO FT232

Siamo pronti a programmare il SONOFF.

Qui arrivano le piccole dolenti note del modulo.
A differenza del D1-Mini usato per VIATOR, il SONOFF non dispone della porta seriale integrata ma solo dei pin RX-TX e quindi occorre programmarlo attraverso un altro modulo, chiamato FT232.
Ce ne sono vari modelli. Quelli più usati li vedete in figura.
Il secondo non ha bisogno di spostare nessun ponticello. Ha già l'uscita a 3.3

Anche questo modulo si trova facilmente e costa pochi euro. Ne basterà uno per programmare tutti i SONOFF che vorremo. 

IMPORTANTISSIMO : PRIMA DI COLLEGARE QUESTO FT232 AL SONOFF, ACCERTARSI CHE IL PONTICELLO SIA MESSO SU 3.3
---->  SE COLLEGATE IL SONOFF A 5 VOLT  LO BRUCIATE IRRIMEDIABILMENTE !!!  <----- 

 

5.  INSTALLAZIONE IDE DI ARDUINO

Questa procedura è identica a quella usata per l'installazione di VIATOR. 
Quindi, se già l'avete fatta, saltate questo paragrafo e andate direttamente al successivo. 

Scaricate la versione di arduino-genuino 1.6.10 da qui :

https://www.arduino.cc/en/Main/OldSoftwareReleases#previous 

Dopo l'installazione, andate in FILE ---> IMPOSTAZIONI e inserite questa riga in URL AGGIUNTIVE
http://arduino.esp8266.com/stable/package_esp8266com_index.json

 Successivamente andate in STRUMENTI ---> SCHEDA ---> GESTORE SCHEDE e in basso a tutto troverete un riquadro relativo alle schede ESP; 

Cliccate su INSTALLA (prima assicuratevi di essere collegati ad internet).
Dopo alcuni minuti avrete tutto pronto per poter programmare il vostro SONOFF.

6.  CONNESSIONE DEL SONOFF ALLA SCHEDA FT232

Ecco lo schema di come connettere i due moduli : 

  GND
 +3.3
  RX
  TX

Ci sono vari modi per "ri-flashare" il SONOFF.
Ho fatto prove anche con il firmware chiamato ESP-EASY. Funziona, ma è un metodo un pò troppo arzigogolato per essere utilizzato da utenti senza troppa esperienza di smanettamenti.
Inoltre, per essere programmato a dovere, necessita di uno step di programmazione script da fare in una pagina web.

Infine, anche la programmazione tramite Arduino con quel firmware è un tantino complicata perchè sono presenti vari moduli che al nostro scopo non servono.

Insomma, dopo un pò di ricerche e delle modifiche fatte dal sottoscritto, siamo arrivati ad uno sketch semplice da utilizzare in modo immediato.

7.  PROGRAMMAZIONE

Scaricate lo sketch compatibile con LUCIBUS.
Caricatelo e scegliete il tipo di scheda.
Nel caso del SONOFF dovrete scegliere "GENERIC ESP8266 MODULE".

Collegate il cavo USB all'FT232.
Poi accertatevi che i parametri siano uguali a quelli che vedete in figura e sopratutto inserite la COM giusta dell'FT2323.

Nel mio caso è la COM56

A questo punto occorre effettuare una operazione che credo sia consona solo alla dea Kalì !!! 

1. spegnete solo il SONOFF, cioè levate il piedino del +3.3V dal SONOFF.
2. premete il tasto di reset del SONOFF e TENETELO PREMUTO.
3. sempre tenendo premuto il tasto RESET, date alimentazione al SONOFF, cioè rimettete il pin del +3.3 al suo posto.
4. aspettate un secondo e rilasciate il tasto di RESET.

Siete entrati in programmazione.
Caricate lo sketch relativo a VIATOR e modificatelo secondo le vostre necessità.
Tutte le modifiche da effettuare le trovate nelle prime righe .

Quando avrete fatto, salvate lo sketch e poi premete la freccia a dx dell'ide di arduino (per caricarlo sul SONOFF). 

 A questo punto, a seconda della velocità del vostro pc (ci potrebbe volere anche più di un minuto), inizierà la fase di compilazione e dopo quella di caricamento dello sketch.

Se tutto è ok, vedrete dei puntini scorrere nel riquadro in basso, fino alla percentuale del 100% che indica appunto il completamento dell'operazione. 

IN CASO APPAIA QUESTO ERRORE : 

 dovete ripetere l'operazione di spegnimento-reset-riaccensione e ricaricare lo sketch sul SONOFF.

8.  INFO SULLO SKETCH

Per quanto riguarda lo sketch SONOFF, troverete tutti i commenti al suo interno.
Cosa essenziale è configurarlo secondo le proprie esigenze. Leggete le prime righe e cambiatele come descritto.
Per motivi pratici ho dovuto nominare variabili e commenti in inglese, in quanto LUCIBUS è usato anche all'estero.
In ogni caso sono poche righe e la lettura è semplice.
All'interno di LUCIBUS, nella sezione IoT occorrerà inserire i seguenti comandi per pilotare il relè

RELAY=ON
RELAY=OFF

Lo sketch è strutturato in modo che il led verde faccia da spia di funzionamento. A tale proposito vi rimando alla apposita sezione qui sotto.
Il led rosso acceso significa che il relè è on.

Inoltre, IL PULSANTE è stato adibito, in fase di funzionamento normale, a INTERRUTTORE DEL RELE'.
Quindi se volete accendere il carico direttamente dal sonoff, basterà premere il pulsante. Stessa cosa per spegnerlo.

Attenzione : la modifica dello stato del relè fatta da pulsante non aggiorna la pagina web del sonoff. 

Per un test fuori da LUCIBUS, digitate in un browser la pagina web dell'indirizzo che avete inserito nello sketch e provate a cliccare sui pulsanti.

9.  LUCIBUS E SONOFF

Sul LUCIBUS occorre entrare nella sezione IoT (Internet of Things), inserire indirizzo IP, porta e tipo di comando che gli si vuole dare in uno dei 3 device a disposizione: surplus, crepuscolare, temperatura.
Successivamente occorre abilitarlo, mettendo il flag a sx.

Per fare un test, si possono premere i tasti ON-OFF e, se tutto è configurato nel modo giusto, sul SONOFF si accenderanno il relativi led e/o relè.

Come per VIATOR, se il SONOFF è connesso in modo valido, dopo il primo click si accenderà anche la spia gialla RETE. 

10.  FUNZIONAMENTO

Appena data alimentazione, il modulo accende in sequenza i 2 led ed il relè per 2 volte, in modo che si possa controllare se i collegamenti sono ok.
Finita questa fase, il modulo cerca la rete configurata e tenta di connettersi al vostro router.

Se questa fase avviene con successo, il led verde effettua PER DUE VOLTE una serie di lenti lampeggi.
Il numero può variare da 0 (nessuna connessione) a 5 (segnale molto alto), ad indicare - proporzionalmente - la qualità di ricezione del modulo.

Quindi una serie di 3 lampeggi indica un segnale normale, 2 lampeggi un segnale scarso etc.
Come detto, questa serie viene ripetuta due volte, per dare possibilità all'utilizzatore di capire bene in che situazione di segnale si trova il modulo.

Una volta connesso, il modulo rimane in attesa dell'invio dei dati da parte di LUCIBUS.
Ad ogni arrivo valido, il led verde effettua due lampeggi veloci, ad indicare che ha ricevuto i dati e il led o relè relativo si accenderà.

Please publish modules in offcanvas position.