SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
Componenti software utilizzate:
Dispositivi fisici utilizzati:
|
GUIDA MAGGIORMENTE INDICATA PER: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.0 |
Abstract
Com’è noto gli attuatori/sensori della famiglia ITEAD “Sonoff Smart Home” sono tra i componenti domotici più in voga, complice il basso costo, la grande versatilità e, ultimo ma non certo meno importante (anzi), l’alto grado di integrabilità domotica.
Quest’ultimo aspetto è direttamente legato alla possibilità di modificarne il firmare in uso dal loro processore, il SOC ESP8266, sostituendo quello di fabbrica con uno alternativo. I Sonoff non sono gli unici componenti dotati di questa possibilità: questa guida quindi è dedicata più genericamente a tutti i componenti che utilizzino il chip ESP8266.
Si tratta comunque di una guida satellite a quelle dedicate, su inDomus, alla riprogrammazione di tale firmware:
- Aggiornare massivamente tutti i Tasmota della propria domotica con TasmoAdmin
- Aggiornare via OTA il firmware di un Sonoff NSPanel Pro con sideloading attivo (ADB “sbloccato”)
- Come evitare sbalzi elettrici (e altro) all’accensione di un attuatore con firmware Tasmota
- Configurare il “boot loop” di Tasmota (ed evitare problemi)
- Installare il mini-firmware “Tasmota Portish” su Sonoff RF Bridge
- Installare TasmoAdmin su Raspberry Pi e gestire in modo centralizzato i componenti Tasmota
- Integrare un sistema d’allarme eTiger S5 su Home Assistant via radiofrequenza e MQTT
- Programmare il firmware di un Sonoff (e simili) via Tasmotizer
- Riprogrammare e usare ITEAD Sonoff ZigBee Bridge Pro (ZB Bridge-P) con firmware Tasmota
- Riprogrammare firmware su dispositivi ESP8266 (Sonoff, Shelly, ecc.) – MASTERGUIDE
- Riprogrammare il firmware di ITEAD Sonoff ZBDongle-E (ZigBee 3.0 USB Dongle Plus)
- Riprogrammare il firmware di ITEAD Sonoff ZBDongle-E (ZigBee 3.0 USB Dongle Plus) – v2
- Riprogrammare il firmware di ITEAD Sonoff ZBDongle-P (ZigBee 3.0 USB Dongle Plus)
- Riprogrammare un interruttore ITEAD Sonoff Basic usando firmware Tasmota
- Riprogrammare un ITEAD Sonoff POW usando firmware Tasmota
- Riprogrammare un ITEAD Sonoff TH-16/TH-10 usando firmware Tasmota
- Riprogrammare un ITEAD Sonoff usando la modalità DIY via OTA
- Usare Sonoff ZBDongle-E come ripetitore di segnale mesh ZigBee (“router”)
- Uso del comando “PULSETIME” col firmware Tasmota
- Uso del comando “SLEEP” di Tasmota per ridurre l’assorbimento di un Sonoff
- Uso del comando “SWITCHMODE” col firmware Tasmota
- Uso della modalità “BLINK” col firmware Tasmota
Tasmotizer è un tool estremamente comodo per riprogrammare il firmware di componenti di questo tipo; basato sul tool gratuito “esptool“, di fatto offre a quest’ultimo l’interfaccia grafica che esso non ha (esptool è un tool a riga di comando) e offre funzioni molto pratiche di auto-backup del firmware che si va a sovrascrivere, download automatico delle nuove versioni di Tasmota e altro.
Principalmente, Tasmotizer viene utilizzato per programmare componenti ESP8266 tramite firmware Tasmota, sebbene nessuno vieti di usarlo per programmare altri firmware come ESPHome, ESPurna e così via.
Si parte
Assunzioni
Si assume che:
- il tool Tasmotizer sia già installato e funzionante;
- si possegga un adattatore USB/TTL e relativo cavo di connessione USB, nonché dei cavetti di connessione Dupont ed eventualmente contatti pin (opzionali);
Connessione
Per effettuare backup, restore o cancellazione della flash memoria del componente in questione è necessario collegarvisi tramite l’adattatore USB/TTL (FTDI) alla board del Sonoff (o del componente in questione).
Un adattatore USB/TTL (FTDI) è un semplice dispositivo che ci permette di mettere in comunicazione il nostro computer e il cuore del modulo basato su ESP8266. Per far ciò, innanzitutto è necessario “denudare” il Sonoff rimuovendo la conchiglia di plastica bianca che lo protegge. L’adattatore, che può variare nella forma e nei colori, di base presenta una porta USB e quattro contatti, i quali vanno messi a contatto con quelli presenti sulla board del Sonoff utilizzando dei cavetti di connessione Dupont.
I contatti VCC e Ground dell’USB/TTL (FTDI) vanno collegati agli stessi punti di contatto della board, mentre TX e RX vanno collegati incrociati (TX con RX e RX con TX).
ATTENZIONE: se l’adattatore presenta una possibilità di scelta tra le tensioni 5v e 3.3v, scegliere sempre 3.3v. Un adattatore che eroghi solo 5v, non è adatto.
Solitamente si usa saldare sulla board del Sonoff dei pin in modo da rendere agevole la connessione verso l’FTDI, ma è sufficiente posizionare dei pin a semplice contatto per ottenere lo stesso risultato – vedi immagine sopra.
ATTENZIONE! NON COLLEGARE CONTEMPORANEAMENTE IL SONOFF ALL’ADATTATORE USB/TTL E ALLA CORRENTE DI RETE 220V!
RICORDARSI DI SCOLLEGARE LA CORRENTE DI RETE DAL DISPOSITIVO!!!
Un’ulteriore, ultima alternativa senza saldature è quella del “fresco bucato”, disponibile qui.
Altre tecniche di connessione possono essere lette qui.
Flash mode
Una volta effettuata la connessione è possibile collegare l’adattatore al computer, ma nel fare questo è necessario, contemporaneamente, collegare il pin presente sulla board denominato “GPIO0” al pin “Ground” e, dopo aver effettuato la connessione USB, disconnettere tale “corto” tra i due pin. Questo fa sì che il modulo entri in una modalità detta “flash mode“, la quale dà libero accesso al firmware del modulo.
Per fare questo, ad esempio, su un Sonoff Basic come su altri modelli (TH-16, POW…), è sufficiente (a monte di effettuare la connessione USB) premere il pulsante presente sulla board (per poi rilasciarlo dopo l’avvenuta connessione USB); in altri casi è invece necessario utilizzare un ulteriore cavetto di connessione Dupont (maschio-maschio) per mettere in contatto i due pin specifici. La cosa varia da modello a modello, basta far riferimento alla guida specifica di riprogrammazione del firmware del dispositivo per capire come fare.
Sequenza corretta:
- attesto i quattro contatti VCC, Ground, TX e RX;
- premo il pulsante o metto in contatto GPIO0-Ground con un cavetto Dupont (scelta fatta in base al tipo di modulo)
- collego l’USB;
- aspetto un secondo, dopodiché rilascio il pulsante o rimuovo il cavetto Dupont.
In questo modo il modulo entrerà in “flash mode”; ciò detto, su inDomus abbiamo dedicato una lista completa di tecniche per impostare la modalità “flash” nei vari modelli Sonoff, così da capire, per il proprio modello, come operare.
Porta COM
Dopo aver effettuato la connessione, recarsi presso il pannello di controllo del proprio computer (in base al proprio sistema operativo) e, presso l’elenco delle USB, capire quale porta si stata assegnata all’USB/TTL.
Su Windows solitamente queste porte sono chiamate “COM1“, “COM2” eccetera, mentre su linu sono chiamate “/dev/ttyUSB0“, “/dev/ttyUSB1” ecc.
NOTA per gli utenti Apple: il sistema operativo macOS potrebbe identificare una porta diversa dalla classica COMx. Per capire come configurare la porta in questa casistica, far riferimento a questo thread. Al di lì di quanto espresso nel link, si ricordi sempre di installare il corretto driver per Mac del proprio adattatore USB/TLL.
Riprogrammazione
A questo punto, con il componente in modalità flash collegato col computer, eseguire Tasmotizer (il comando varia come da scheda in base al tipo di computer in uso). L’interfaccia grafica del tool è piuttosto semplice e intuitiva:
Come si nota osservando l’interfaccia, essa offre varie funzioni/impostazioni:
- “Select port“: permette di selezionare quale porta utilizzare per interfacciarsi, tramite adattatore USB/TTL, al device da riprogrammare;
- “Select image“: per selezionare quale firmware:
- “BIN file“, per specificare un file locale relativo a un firmware precompilato dall’utente;
- “Release“, per scegliere l’ultima versione di Tasmota;
- “Development”, per scegliere una versione beta di Tasmota
- “Backup original firmware“: se selezionato, prima di sovrascrivere il firmware sul componente provvede a salvarne una copia localmente sul computer di appoggio;
- “Erase before flashing“: se selezionato, prima di sovrascrivere il firmware sul componente provvede a cancellare quello presente;
- “Tasmotize!“: avvia la procedura di flash;
- “Send config“: apre l’interfaccia che consente di inviare al componente parametri specifici come le coordinate di accesso alla Wi-Fi, quelle MQTT eccetera (ovviamente sul componente dev’esserci già installato Tasmota).
Una volta fatte le proprie scelte, sarà sufficiente cliccare su “Tasmotize!” per riprogrammare il componente. Al termine sarà sufficiente disconnetterlo dall’adattatore USB/TTL per cominciare ad usarlo.
Send config
Successivamente al flash del firmware Tasmota (ciò che stiamo per descrivere non è applicabile ad altri firmware) è possibile modificare direttamente da Tasmotize i parametri di accesso alla propria Wi-Fi, MQTT, impostazioni di massima del modulo.
Per farlo è sufficiente cliccare – sempre col il componente connesso via adattatore USB/TTL e impostato in flash mode) – sul pulsante “Send config“:
Una volta effettuate le modifiche, sarà sufficiente cliccare su “Save” per trasmettere al componente le impostazioni. A questo punto basterà disconnetterlo fisicamente dall’adattatore USB/TTL e cominciare, semplicemente, ad usarlo.
Guida video (ENG)
Ecco un esempio di videoguida in inglese che illustra il funzionamento di Tasmotizer: