Un SONOFF tutto Italiano ;-)

Condividi questo articolo :


Procedimento per la creazione di uno switch domotico DIY utilizzando l’economicissimo microcontrollore ESP01 su cui viene caricato SmartHome come firmware.

SmartHome è un firmware per microcontrollori ESP8266 basato su MQTT, che permette la creazione di moduli domotici a basso costo.
E’ un progetto Italiano realizzato da Andrea Roncoroni.

Componenti utilizzati per la realizzazione del progetto:

1. Collegamento con convertitore seriale e programmazione.

Procediamo al download del firmware SmartHome e dopo aver scompattato la cartella selezioniamo la versione del file .bin specifica per ESP01.
Con l’ausilio convertitore seriale carichiamo il firmware su ESP01. (volendo si può acquistare un convertitore specifico per programmare ESP01).
Ecco una guida da sito Filo Connesso si usa il convertitore .
Colleghiamo il Convertitore al ESP01 seguendo il seguente schema :

ConvertitoreESP01
3.3V VCC
GNDGND
3,3VCH_PD
RXTX
TXRX
GNDGPIO 0

Importante per la programmazione della board ESP01 che i pin
CH_PD sia collegato a 3,3v
GPIO 0 sia collegato a GND

Per caricare il firmware abbiamo usato il tool FlashESP8266 prelevabile da qui.
Scompattare i file nella cartella dove sono presenti i file .bin del firmware.
Avviare il file FlashESP8266.exe

  • Selezionare la porta COM dalla tendina “COM-Port”
  • (Opzionale ma consigliato) Cancellare la memoria del dispositivo: Selezionare dalla tendina “Firmware” il file “blank_XMB.bin” specifico del ESP01
  • Premere sul tasto “Flash” ed attendere la fine del processo.
  • Selezionare dalla tendina “Firmware” il file “SmartHome_v60xxxxXX.ino.1MB.bin”
  • Premere sul tasto “Flash” ed attendere la fine del processo

Non avendo un circuito di reset , per riavviare ESP01 basterà togliere l’alimentazione
Dopo aver caricato con successo il firmware e resettato il dispositivo, al primo avvio SmarHome partirà in modalità “configAP”.
In questa modalità il dispositivo creerà una propria rete Wi-Fi nominata “SmartHome-XXXXXXXXXXXX” (dove “XXXXXXXXXXXX” è il MacAddress del dispositivo); colleghiamoci a questa rete e per configurare il dispositivo appena creato basterà aprire su un browser la pagina “192.168.4.1”

Inseriamo i dati della nostra rete, possiamo cambiare host name che inizialmente avrà come nome il mac address .
Tralasciamo per il momento la sezione MQTT e procediamo alla configurazione hardware, come mostrato di seguito :

GPIO 0 permette di poter mettere in configurazione AP il dispositivo.
GPIO 1 su alcuni modelli di ESP01 corrisponde al pin del led Built-in.
E’ possibile abilitare la resistenza di pull up sulla board evitando di mettere una resistenza fisica di pullup.
Se non si usa la seriale si possono sfruttare i pin GPIO 1 e 2 .
L’opzione Telnet è molto comoda, in quanto permette di poter accedere all’ESP da un dispositivo che si trova nella stessa rete
per verificarne lo stato.

Ora passiamo a definire il Nodo Interruttore che è proprio quello che definisce il nostro switch

Definiremo quindi il numero degli interruttore (nel nostro caso 1) e i GPIO
GPIO 1 è il led di buil-in che indicherà lo stato del dispositivo
GPIO 2 è per il relay
GPIO 3 per interruttore (monostabile)
GPIO 0 serve per mettere in “AP” la board

Nel campo Server inseriremo il broker MQTT , user e password per utente MQTT
Il topic indicherà il messaggio con il quale il client (lo switch DIY in questo caso) vuole comunicare pubblicando un messaggio su un certo argomento (topic) sul broker.
Per usare MQTT ci sono diversi software e possibili soluzioni :

  • Installare Mosquitto (open source) come broker di messaggi su una board Raspberry Pi
  • Utilizzare un server gestito su cloud comeCloudMQTT

E’ consigliabile installare Mosquitto su un Raspberry PI , in modo che la gestione del dispositivo rimanga sul nostro server casalingo, senza usare cloud o servizi esterni.
Qui trovi approfondimenti su MQTT

Sulla wiki di SmartHome è definito in maniera precisa ogni singolo elemento per la configurazione. https://github.com/roncoa/SmartHome/wiki

2. Assemblaggio dispositivo DIY

Procediamo con con l’assemblare il dispositivo collegando :
alimentatore , stepdown, ESP01, relay,

3. Test del progetto


Possiamo accendere/spegnere lo switch domotico da interruttore fisico
Dal browser web collegandoci all’indirizzo Ip del dispositivo che abbiamo assegnato

La stessa cosa si potrà fare tramite l’App SmartHome per cellulari Android, scaricabile dallo store Google Play (gratuito) :


E’ molto facile integrare il dispositivo nell’HUB Personale Home Assistant , grazie all’autoriconoscimento dell’MQTT, potendolo controllare e automatizzare tramite l’interfaccia.

Il nostro Switch DIY perfettamente integrato in Home Assistant :


E’ possibile comandarlo anche con l’assistente vocale Google Assistant grazie ad integrazione IFTTT
Nella sezione doc di SmatHome è presente un tutorial su come effettuare questa integrazione.


Switch DIY integrato nel mio impianto elettrico mostrato in foto :


Se qualcosa non ti è chiaro, come sempre, usa i commenti! ❤️️
Stay Tuned 🙂



Condividi questo articolo :

Rosario Ciotola

Rosario Ciotola

Appassionato di Domotica, IOT, Linux e Open Source in genere

Potrebbero interessarti anche...

2 risposte

  1. Pietro Bono ha detto:

    Salve non ho capito come si deve configurare MQTT, ci vuole per forza un Raspberry PI?

    • Rosario Ciotola Rosario Ciotola ha detto:

      E’ possibile usare anche server MQTT su cloud , anche se è’ consigliabile installare il broker MQTT su un server casalingo , in modo che la gestione non sia soggetto a servizi esterni.

Rispondi a Pietro Bono Annulla risposta

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