Riprogrammare un interruttore ITEAD Sonoff Basic usando firmware Tasmota

Scopi DELLA GUIDA
Concetti affrontati:
  • riprogrammazione firmware
Componenti software utilizzate:
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico)
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.

ATTENZIONE: la presente guida fa riferimento alla prima versione di Sonoff Basic, non alla seconda.

Abstract

Ogni dispositivo elettronico contiene a grandi linee una piccola porzione software, chiamata firmware, che ne determina funzioni e comportamento.

La nostra automobile è dotata di firmware; ne possiede uno la lavatrice, il nostro telecomando, persino una radiosveglia moderna. Il Sonoff Basic e tutti i suoi fratelli non fanno differenza; il punto è che il firmware originale ha qualche limitazione intrinseca: permette a questo interruttore intelligente di funzionare solo tramite la connessione internet verso il sito del produttore, non può essere nativamente integrato sui più comuni HUB personali, non supporta protocolli terzi

In nostro aiuto intervengono – tra i vari esistenti – due progetti Open Source, rispettivamente chiamati Sonoff-Tasmota e ESPURNA, i quali ci forniscono firmware alternativi che, una volta installati sul dispositivo, gli permettono di ampliare le proprie funzionalità. In questa pagina ci concentreremo sull’installazione di Sonoff-Tasmota. Per fare questo serve un computer, un dispositivo di connessione tra il computer e il Sonoff (chiamato adattatore USB/TTL) e un software sul computer (per questa guida utilizzeremo ATOM) per effettuare la procedura di programmazione.

Riprogrammare un ITEAD Sonoff è, generalmente, un’ottima idea: lo dimostra il fatto che lo stesso produttore pubblichi sul proprio blog articoli in merito. La riprogrammazione slega i dispositivi dal vincolo di essere utilizzabili in presenza della connessione internet (verso il cloud dell’app eWeLink), oltre ad ampliarne la compatibilità e le funzionalità verso strumenti straordinari quali gli HUB personali.

Ciò detto, i Sonoff sono generalmente validi dispositivi anche utilizzati così come arrivano programmati di fabbrica. Semplicemente, non fanno alcune cose e, sopratutto, non sono integrabili presso i nostri amati HUB personali.

Questa guida è sì dedicata alla riprogrammazione del Sonoff Basic, ma è applicabile nella stessa identica maniera a tutti gli altri dispositivi della sua famiglia ITEAD Sonoff Smart Home: l’unica differenza sta nel trovare, in ogni dispositivo, i quattro contatti sui quali interfacciarsi per l’upload del firmware.


ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ai Sonoff, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti. Se ne parla molto anche in chat.

Procedimento

  1. Descrizione procedimento
  2. Installazione e configurazione ATOM&PlatformIO
  3. Verifica della porta COM assegnata dal computer
  4. Download e configurazione su PlatformIO del firmware Tasmota
  5. Collegamento del Sonoff in modalità “flash”
  6. Upload del firmware sul dispositivo Sonoff Basic
  7. Come aggiornare OTA (over the air) un Sonoff
  8. Conclusioni

1. Descrizione procedimento

Per riprogrammare un Sonoff (Basic, ma in realtà la procedura è la medesima anche per tutti gli altri modelli) è necessario, in primis, installare e configurare ATOM, dopodiché:

  • scaricare il firmware Tasmota;
  • collegare (non in modalità flash) il Sonoff all’adattatore USB/TTL e, aprendo il “Serial Monitor” scoprire quale sia la porta COM automaticamente assegnata, poi scollegare il Sonoff;
  • configurare i due file di configurazione, “platformio.ini” e “user_config.h”;
  • effettuare la compilazione ovvero effettuare la “Build” (in caso di errori, correggerli e riprovare);
  • collegare il Sonoff all’adattatore USB/TTL in modalità flash;
  • effettuare l’aggiornamento, ovvero “Upload”.

Entriamo ora nel dettaglio.

2. Installazione e configurazione ATOM

Scaricare e installare il software ATOM presso questo link: https://atom.io/. Tale software è gratuitamente disponibile per tutte le maggiori piattaforme (Apple, Windows e Linux). Una volta installato, è necessario configurarlo installando il pacchetto aggiuntivo chiamato “platformio-ide“.
Per far ciò, recarsi presso:

  • Mac OS XMenu: Atom > Preferences > Install
  • WindowsMenu: File > Settings > Install
  • LinuxMenu: Edit > Preferences > Install

e nella buca di ricerca cercare, appunto, “platformio-ide“. Una volta trovato il pacchetto, cliccare su Install.

scorri per ringrandire

Dopo l’installazione, chiudere e riaprire ATOM, che a questo punto avvierà per default il pacchetto PlatformIO, necessario per riprogrammare il Sonoff Basic. Il software provvederà a installare una serie di pacchetti aggiuntivi in modo completamente automatico.

Al termine, PlatformIO chiederà di riavviare per un’ultima volta ATOM.
(ndr. Da qui in poi si farà riferimento direttamente a PlatformIO, intendendolo come ATOM+PlatformIO.)

3. Verifica della porta COM assegnata dal computer

Un adattatore USB/TTL (FTDI) è un semplice dispositivo che ci permette di mettere in comunicazione il nostro computer e il cuore del dispositivo Sonoff Basic. Per far ciò, innanzitutto è necessario “denudare” il Sonoff rimuovendo la conchiglia di plastica bianca che lo protegge. Ciò fatto, il dispositivo appare come segue:

scorri per ingrandire

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:

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!!!

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.

Il video che segue mostra come collegare l’FTDI senza l’uso di saldature:

Un’ulteriore, ultima alternativa senza saldature è quella del “fresco bucato”, disponibile qui.

Altre tecniche di connessione possono essere lette qui.

Collegare dunque il modulo Sonoff all’adattatore USB/TTL ed esso, a sua volta, ad una porta USB del computer tramite il cavo.
Selezionare poi la voce di menu “PlatformIO > Serial Monitor“. Si aprirà una finestra come la seguente:

Dopo un istante, nella voce “Port” verrà indicata quale porta COM il computer abbia assegnato al modulo USB/TTL.
Prenderne nota.
Scollegare ora il modulo dalla porta USB.

NOTA per gli utenti Apple: Atom, su 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.

Dopo aver installato il driver corretto, nel system report del Mac, alla voce USB, dovrà (collegando l’adattatore USB/TTL), una voce come segue:

FT232R on Mac

4. Download e configurazione su PlatformIO del firmware Tasmota

A questo punto va scaricata l’ultima versione del firmware Tasmota.
Una volta scaricato, decomprimere il file .zip dove si preferisce.

Ora, nel menu di PlatformIO, selezionare “File > Add Project Folder”  e selezionare quindi la cartella dove si è precedentemente decompresso il file zip di cui sopra.

Così facendo, PlatformIO aprirà il progetto Tasmota.

A questo punto è necessario “configurare” il pacchetto software. Esso infatti viene fornito “di base”, senza personalizzazioni, le quali sono necessarie affinché, al termine della programmazione, il Sonoff possa operare correttamente.

Nello specifico, il processo è il seguente:

  • scegliere quale componente del firmware Tasmota compilare;
  • indicare il nome e la password della Wifi nel quale il Sonoff dovrà “entrare” automaticamente una volta riprogrammato;
  • indicare la porta COM da utilizzare per la trasmissione dati;
  • compilare il firmware;
  • scriverlo sul dispositivo.

Per scegliere quale parte del firmware compilare, aprire su PlatformIO il file “platformio.ini” e accertarsi che sia configurato solo “env_default = sonoff” come da immagine:

scorri per ingrandire

Le voci commentate a seguire identificano le alternative, ovvero la compilazione o di una parte minimale del firmware (“env_default = sonoff-minimal“) oppure delle versioni complete in lingua (“env_default = sonoff-IT” è quella italiana), oppure quella standard (appunto, come suggerito sopra, “env_default = sonoff“).

Cercare ora la voce “upload_port =“) e inserire come valore la COM precedentemente identificata al passo precedente.

Una volta completato il tutto, salvare e chiudere il file.

Ora è necessario configurare nome e password della nostra Wifi.

Aprire il file “Sonoff > user_config.h” (oppure “Sonoff > my_user_config.h” a partire dalla versione 6.3 di Sonoff-Tasmota) e trovare le variabili: “#define STA_SSID1” e  “#define STA_PASS1“:

scorri per ingrandire

Inserire lì il nome della propria Wi-fi e la relativa password. Salvare e chiudere il file.

Ora siamo pronti per “compilare” il nostro pacchetto firmware. Cliccare sul menu “PlatformIO > Build“.
Se la procedura andrà a buon fine, dovreste ottenere una schermata simile a questa:

scorri per ingrandire

Il pacchetto è compilato e pronto per essere inviato al dispositivo.

Nb. l’azione di compilare (“Build”) il firmware Tasmota si traduce nella creazione di un file (“firmware.bin“) presso il percorso “%directorycontenentetasmota\.pioevens\sonoff“. Questa informazione viene utile quando si vorrà effettuare l’aggiornamento OTA (Over-The-Air), il quale chiede di indicare il file “firmware.bin” della nuova versione del firmare che sia stato precedentemente compilato.

Qui è disponibile una guida dedicata all’aggiornamento massivo dei Sonoff-Tasmota con un’unica operazione centralizzata, tramite TasmoAdmin.

5. Collegamento del Sonoff in modalità “flash”

Per attivare il Sonoff in modalità “flash” (ovvero pronto a ricevere il nuovo firmware), la procedura è la seguente:

  • collegare il Sonoff al modulo USB/TTL (come spiegato prima);
  • tenere premuto il pulsante gpio0 (“Program button”) come da schema sopra;
  • collegare il cavo alla porta USB del computer;
  • rilasciare il pulsante gpio0.

A questo punto (e solo a questo punto, se avrete fatto tutto bene), il Sonoff Basic sarà pronto a ricevere il nostro pacchetto firmware Tasmota precedentemente configurato e compilato.

Se l’upload (prossimo paragrafo) fallisse, riprovate questa procedura daccapo.

6. Upload del firmware sul Sonoff Basic

A questo punto sarà sufficiente selezionare sul menu “PlatformIO > Upload” per avviare la fase di programmazione e propria. Se al termine della procedura leggerete “SUCCESS” (analogamente alla schermata relativa alla compilazione del firmware), allora bene, avrete effettuato correttamente la prima configurazione custom del vostro Sonoff Basic. In caso invece la procedura fallisca, ripetere i passi sopra, avendo cura di verificare con attenzione la configurazione della COM, delle connessioni e tutte e sequenze operative.

Ora che la procedura è andata a buon fine, è necessario verificare che tutto funzioni correttamente. Disconnettete il cavo USB per poi riconnetterlo subito, questa volta SENZA tenere premuto il pulsante gpio0: questo farà sì che il Sonoff venga alimentato e cominci a funzionare normalmente senza che entri in modalità di programmazione.

A questo punto il Sonoff si sarà acceso e sarà entrato dentro la Wifi, in quanto già informato delle coordinate d’accesso (vedi punto 2 della guida). Per collergarsi su di esso è però necessario scoprire quale IP il nostro router gli avrà assegnato, cosa che a priori non possiamo conoscere.

Per far questo è necessario cliccare su  “PlatformIO > Serial Monitor” e, nella schermata che segue:

selezionare alla voce “Baudrate” impostare “115200”, mentre il campo “Port’ dovrebbe configurarsi automaticamente.
Cliccando su “Start” dovrebbe apparire una schermata come segue:

scorri per ingrandire

la quale dovrebbe indicare l’IP ottenuto dal Sonoff nel momento in cui è entrato nella rete Wifi, in questo caso “10.0.1.43”. Ora, aprendo un qualsiasi browser sul proprio computer, si inserisca nell’indirizzo l’IP poco fa ottenuto e premere invio.

Se tutto è andato bene, dovrebbe apparire una schermata come segue:Complimenti!
Il Sonoff Basic è correttamente riprogrammato con il firmware Sonoff-Tasmota.

Basterà ora disconnettere il dispositivo dall’adattatore FTDI e quindi dal computer, ripristinare a questo punto le connessioni elettriche 220v e cominciare ad usarlo.

7. Come aggiornare OTA (Over The Air) un Sonoff

Per aggiornare un Sonoff Basic precedentemente programmato Tasmota (in realtà la procedura è la stessa per tutti i modelli ITEAD Sonoff aggiornati Tasmota) è sufficiente compilare la versione aggiornata del firmware Sonoff-Tasmota (ovvero questo passaggio della presente guida) e recuperare il file “firmware.bin” (vedi la voce “nota bene” alla fine del passaggio indicato indicato).

In realtà è necessario prima compilare il firmware “minimal” (“env_default = sonoff-minimal” nel file plaformio.ini), mettere da parte il file “firmware.bin” risultante, ricompilare il firmware “completo” (“env_default = sonoff” – oppure distribuzione in lingua – nel file plaformio.ini) e mettere da parte il secondo file “firmware.bin“.

Successivamente, collegarsi tramite web browser al Sonoff e selezionare “Firmare Upgrade”.

Alla voce “Upgrade by file upload“, selezionare il file “firmware.bin” di cui sopra relativo alla versione “minimal”, poi cliccare il bottone “Start upgrade” e attendere semplicemente la conclusione dell’operazione. Al termine, ricollegarsi all’interfaccia web e rifare la procedura, questa volta passandogli il file “firmware.bin” del firmware “completo”.

Qui è disponibile una guida dedicata all’aggiornamento massivo dei Sonoff-Tasmota con un’unica operazione centralizzata, tramite TasmoAdmin.

8. Conclusioni

Il Sonoff Basic è uno strumento potente, specialmente quando lo si riprogramma utilizzando Tastmota o ESPurna. Dopo esser riusciti ad aggiornarlo, è utile imparare ad aggiungerlo a Homebridge oppure a Home Assistant.

In realtà i Sonoff non fungono come soli interruttori, le funzioni sono infatti le più disparate, come dimostrano molte nostre guide dedicate al protocollo MQTT. Tale protocollo è ideale per l’uso domotico e, per l’appunto, viene introdotto sui vostri dispositivi Sonoff tramite l’aggiornamento a firmware Sonoff-Tasmota, oggetto della presente guida.


Dubbi? Perplessità? Fai un salto sul FORUM o sulla CHAT @DISCORD!
Questa pagina è coperta dalla licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License il che significa che puoi liberamente condividerlo, senza modificarlo, citando il link della fonte.