Flashare un modulo Sonoff 4ch pro R2 e dual R2 con il firmware Tasmota

I moduli Sonoff sono in pratica dei relè gestibili tramite wifi. L’installazione originale prevede l’utilizzo di un server di terze parti per la gestione da remoto ma risulta spesso inaffidabile e pone problemi di sicurezza. Da questo è nato il progetto Tasmota, ovvero un firmware alternativo che permette di superare questi limiti, andando ben oltre. Di seguito vederemo come poterlo installare.

Per questo progetto ho scelto due moduli sonoff 4ch pro R2 e sonoff dual R2.

Lo scopo di questa guida è quindi quello di installare il firmware Tasmota sui due moduli sopra indicati.

Il materiale necessario è il seguente:

  • strumenti per la saldatura a stagno
  • adattatore seriale/usb FTDI FT232RL
  • connettori
  • cavetti gpio
  • modulo Sonoff 4CH pro R2
  • computer con linux (nel mio caso Sabayon)

Suggerimento:
se non avete il modulo FTDI su Ebay si trovano quelli che ho preso io a non più di 3€, non vale la spesa di spendere molto di più, mentre i cavetti li trovate in abbondanza su Amazon, mi raccomando, scegliete sempre un venditore italiano in modo da non avere tempi lunghissimi per la spedizione.

NOTA: questa guida è una libera traduzione e un riassunto di tutto ciò che ho letto in rete, nei siti appositi, i riferimenti li troverete in fondo alla guida. Non mi assumo nessuna responsabilità per un vostro guaio, perché si presuppone un minimo di esperienza e conoscenza tecnica, oltre alle norme basi di sicurezza. Si sta giocando con la corrente elettrica e componenti elettronici,  quindi siate cauti.

Configurazione software

Per poter programmare i dispositivi Sonoff è necessario avere una piattaforma di sviluppo che può essere l’ide di arduino oppure, come nel mio caso, Atom.

Atom è un software modulare che se non è presente nella vostra distro, potrete scaricare i sorgenti o la build esclusivamente per sistemi a 64bit dal sito atom:

https://atom.io/

Pur avendo una versione di atom nei miei repository, ho preferito usare il pacchetto precompilato per 64bit che ho ottenuto da:

https://github.com/atom/atom/releases/tag/v1.33.0

Su youtube ci sono alcuni video che ti aiutano nella configurazione dal canale di QuickPI:

I video sono fatti usando un mac e sebbene i passaggi siano pressoché identici in tutte le piattaforme, ho riscontrato delle differenze che possono portare ad errori.

Prima di tutto è necessario, una volta avviato Atom, installare i pacchetti platformio come da video. Il passo successivo è scaricarsi il sorgente del firmware Tasmota da qui:

Sorgente tasmota

NB: ovviamente se c’è una nuova versione, scegliere quella,

Per caricare il sorgente Tasmota basta seguire le istruzioni del video, ovvero dal menu file scegliere “add projet folder “

Una volta terminata l’installlazione di platformio possiamo collegare il nostro adattatore FTDI232RL, poi andiamo nel menu paltformIO ed andiamo a controllare se viene visto correttamente attraverso il comando “list serial port” . Si aprirà una finestrina dove vi dovrebbe mostrare tutti i dispositivi seriali:

monitor seriale platformio

Con questo comando avrete alcune informazioni importanti:

  • device fisico (dev/ttyUSB0)
  • hardware id (FT232R usb uart)

Se visualizzate questi parametri siete già a buon punto, se così non dovesse essere, o visualizzate un errore di qualche tipo o semplicemente nulla, allora è probabile che il programma non possa accedere all’eseguibile “pio”, ma si può rimendiare facilmente creando un link simbolico con il comando:

ln -s /home/tuoutente/.platformio/penv/bin/pio /bin/pio

Riavviate atom e riprovate il test.

Iniziamo la configurazione del sorgente Tasmota

Dal menu file si aggiunge il sorgente con la voce add project folder e finalmente avrete l’albero del vostro sorgente visibile nel pannello verticale a sinistra.

Seguendo il video vi verrà chiesto di modificare  un paio di file il primo è user_config.h, ma voi invece modificherete il file  my_user config.h  (il video evidentemente usa una vecchia versione del sorgente Tasmota) in alcune parti che trovate nella cartella Sonoff:

1. #define CFG_HOLDER  4617

nel video vi suggerisce  di modificare il valore 4617, io ho provato come indicato ma mi ha dato una serie di errori, quindi l’ho lasciato invariato, se volete provare a modificarlo seguendo l’esempio del video, magari a voi funziona.

2. #define PROJECT  "sonoff4chpror2" oppure "sonoffdualr2" per il modulo dual r2

questa voce serve  per dare un nome al vostro progetto, io ho messo quello indicato sopra

#define WIFI_CONFIG_TOOL WIFI_MANAGER

3. #define MODULE SONOFF_4CHPRO oppure per il dual R2  SONOFF_DUAL_R2

questa voce serve per indicare il tipo di dispositivo per cui state compilando il sorgente, fate attenzione a scegliere il modulo corretto per il vostro dispositivo.

Ora arriviamo alla configurazione della parametri wifi:

4. #define STA_SSID1 "tua SSID"

dovete indicare la vostra SSID

5. #define STA_PASS1 "tuapassword"

qui dovete  inserire la vostra password

6. #define WIFI_CONFIG_TOOL WIFI_MANAGER

in questa parte nel video vi suggerisce di cambiare gestore della wifi, io ho seguito le indicazioni e impostato come sopra.

Questa parte di configurazione della wifi serve perché quando avrete flashato il vostro dispositivo, una volta riavviato, si connetterà in automatico al vostro router/modem, così potrete connettervi attraverso l’ip assegnato (vi consiglio di rederlo fisso tramite il vostro router/modem)

Se vi piace avere l’interfaccia in italiano, dovrete scendere alla sezione 2 e decommentare la voce:

#define MY_LANGUAGE it-IT

Il secondo file da configurare è il file platformio.ini sempre presente nel sorgente Tasmota.

Nella prima parte vi è la possibilità di compilare un solo ambiente, io ho decomentato la lingua reltiva all’italiano:

env_default = sonoff-IT

Ci sono alcune voci relative alla periferica e alla velocità di trasmissione dati da modificare:

ovvero nella sezione seguente:

*** Serial Monitor options
monitor_speed = 115200; *** Upload Serial reset method for Wemos and NodeMCU
upload_speed = 115200
upload_resetmethod = nodemcu
upload_port = /dev/ttyUSB0

dovrete configurare i parametri indicati dal video, unica variazione è la porta di upload che in linux è quella indicata, ovviamente voi la dovrete verificare come specificato nella prima parte dell’articolo, se corrisponde alla mia, tanto meglio.

Ricordate di salvare tutti i due i file che avete modificato, altrimenti le modifiche apportate non saranno valide.

Preparazione dell’hardware

Parte 1 – Modulo Sonoff 4ch pro R2.

In rete troverete alcune guide relative al modulo 4ch pro e forse R2 che vi mostrano come sia possibile farlo OTA o con programmi particolari.  I due moduli sono differenti e quello che ha creato i maggiori ostacoli è la modalità con cui si mette in firmware upload il modulo R2, essendo diverso dalla versione precedente. Io mi sono rassegnato e ho dovuto modificare l’hardware con piccole saldature, nulla di complicato ma necessarie. Si dovranno saldare negli appositi piedini per connettere i connettori gpio al modulo FTDI232 per poterlo programmare.

Modulo Sonoff 4Ch pro R2

Dalla foto vedete i punti 1 e 2 dove ho saldato i piedini gpio e poi con il cavetto si deve eseguire il ponte tra GND e GPIO0 indicato dal numero tra GND del  punto 2 e il punto 3.

Nell’immagine sotto è spiegato come collegare il modulo FTDI e la scheda sonoff:

VCC –> 3,3V

TX –> RX

RX –> TX

GND –> GND

Dovete però ricordarvi di mettere il piedino nero sul modulo FTDI su 3,3 volt, altrimenti rischiate di fare danni.

Collegamenti modulo FTDI e sonoff 4ch pro R2

Ora che avete collegato la scheda Sonoff ed il modulo FTDI, quest’ultimo va collegato al pc con apposito cavo usb mentre eseguite il ponte come descritto nelle due immagini precedenti.

Ricapitoliamo:

  1. preparate l’hardware con i pin saldati
  2. eseguite i collegamenti tra il modulo ftdi e la scheda Sonoff (ftdi su 3,3 volt)
  3. eseguite il ponte
  4. collegate al pc il modulo
  5. non aspettatevi nessuna luce lampeggiante

A questo punto non vi aspettate nessuna luce lampeggiante in qualche modo particolare, anzi,  non ci sarà nessuna luce, sarà buon segno dell’avvenuta  messa in firmware upload del dispositivo.

Seguendo le istruzioni del video, andate nel menu platoformio e selezionate la voce

upload

Il comando farà sia la compilazione del sorgente modificato che il caricamento del file sulla scheda Sonoff.

Se tutto è andato bene, ovvero  se non avrete nessun errore, vi verrà mostrato la progressione del caricamento.  Quando sarà terminato potrete riaccendere il vostro dispositivo Sonoff sempre tramite ftdi/usb al pc, connettervi tramite ip fornito dal vostro modem/router, oppure potete alimentarlo con apposito alimentatore o alimentazione, per testare il firmware va bene anche il modulo ftdi.

Parte 2 – Modulo Sonoff Dual R2

La preparazione del sorgente per questo dispositivo è stata indicata nella prima parte dell’articolo, ovvero si configura il modulo da usare, wifi, etc.

La parte hardware è più semplice rispetto al modello precedentemente trattato. Si dovranno saldare i  classici 4 pin per il collegamento con il modulo FTDI, con il medesimo

Sonoff dual R2: pin saldati

Per metterlo in modalità firmware upload ci sono due modi, uno tramite ponte con cavetto tra GND e Botton0, oppure tenere premuto il  pulsante mentre lo si collega tramite ftdi al pc. Fate attenzione che i pin per la connessione al modulo ftdi sono quelli sul lato corto, ma basta leggere i rifermenti sulla scheda. Io ho provato entrambi e funzionano egregiamente.

Come nel precedente modello, non noterete nessuna luce lampeggiante, quindi analogamente al Sonoff 4ch pro R2 fate partire l’upload, al termine del quale, se non avete avuto nessun errore,  lo potrete  configurare sempre collegandovi all’ip assegnato al dispositivo tramite browser.

Schermata del firmware Tasmota del modulo Sonoff 4Ch pro R2

Come fare per gli aggiornamenti?

Dopo averli programmati,  sorgerà sicuramente il problema dell’aggiornamento e voi lo farete? Fate sempre una copia della configurazione del dispositivo in modo da ripristinarla in caso di problemi. Il dispositivo ha la possibilità di effettuare l’aggiornamento tramite web server e da file  local, ma per questa fase si rimanda ad una prossima guida  dove affronteremo le diverse modalità e alcuni problemi particolari.

Conclusioni

Prima di cimentarmi con questa procedura avevo studiato la piattaforma Arduino per la programmazione del modulo esp-8266, ma trovandola decisamente laboriosa ho preferito quindi  questa con Atom, decisamente più semplice.
Come avete visto la modalità di configurazione del sorgente dei due dispositivi Sonoff sono identiche nella forma, come la preparazione hardware, quello che cambia tra i vari modelli è la modalità in  cui si pone il dispositivo in modalità di programmazione, quindi questa guida la potrete usarla  come base per modificare altri dispositivi Sonoff.

Riferimenti bibliografici:

A presto.
Christian

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.