In questo articolo, viene presentato un progetto basato sull’applicazione denominata “ESP32 Smart Home Automation” per realizzare un sistema di automazione domestica intelligente che utilizza il microcontrollore ESP32, Alexa e Google Assistant in grado di controllare luci e altri dispositivi mediante comandi vocali. In questo progetto di automazione IoT creeremo un sistema di controllo dell’illuminazione per la casa intelligente, che può essere gestito sia tramite Google Assistant che da Alexa utilizzando un microcontrollore ESP32 e la piattaforma Sinric Pro. L’applicazione del sistema di automazione che realizzeremo è semplicemente il controllo di una lampada, ma la finalità del progetto è di far conoscere l’enorme potenzialità di espansione del sistema “ESP32 Smart Home Automation”.
Introduzione - ESP32 Smart Home Automation
In questo progetto domotico, viene utilizzata la piattaforma Sinric Pro in grado di controllare efficacemente le utenze elettriche (elettrodomestici, lampade, ventilatori, ecc.) integrando perfettamente i comandi vocali tramite Google Assistant e Alexa, oltre ad utilizzare un interruttore per il controllo manuale. Ma una volta compreso il principio di base, è possibile controllare tutti i dispositivi elettrici della casa tramite rete Wi-Fi.
L'utilizzo della domotica ESP32 consente la creazione di sistemi di controllo intelligenti per elettrodomestici, che sfruttano la funzionalità Wi-Fi del microcontrollore ESP32. I sistemi di domotica basati su ESP32 dispongono di connettività wireless integrata, elaborazione dual-core e un gran numero di GPIO, il tutto in un unico package economico. La tecnica della domotica IoT ESP32 sfrutta le potenti capacità dell’ESP32, con i suoi processori dual-core a 240 MHz, 30 pin GPIO e connettività Wi-Fi e Bluetooth integrata. Ciò consente di realizzare un sistema di controllo della casa intelligente molto reattivo e ricco di funzionalità, molto più economico di quelli commerciali, e con maggiori possibilità di personalizzazione.
ESP32 Smart Home Automation con Alexa, Google Assistant e Sinric Pro
Per questo progetto, abbiamo bisogno di una piattaforma in grado di collegare l’ESP32 a Google Assistant e Alexa, e per ottenere ciò utilizzeremo Sinric Pro. Questa piattaforma è molto semplice da usare ed è gratuita per un utilizzo limitato. Nel nostro caso, è possibile utilizzare solo il piano gratuito di Sinric Pro, ma se si desidera controllare più dispositivi dalla stessa App, si potrebbe prendere in considerazione l'aggiornamento ad un piano a pagamento. In questo progetto di smart home ESP32, controlleremo una lampada funzionante a 230 Vac utilizzando Google Assistant, Alexa e un interruttore manuale, il tutto gestito tramite Sinric Pro. Ciò significa che si ha la flessibilità di controllare il carico (la lampada, in questo caso) tramite Google Home e l'app Amazon Alexa, indipendentemente da dove ci si trovi. Nel caso di assenza di internet, è comunque possibile gestire le utenze elettriche tramite gli interruttori, senza bisogno di dispositivi aggiuntivi come Google Nest o Amazon Echo Dot.
Il progetto
In Figura 1 viene riportato lo schema elettrico del circuito domotico ESP32. Il funzionamento del circuito è molto semplice, viene utilizzato il pin digitale GPIO D22 del microcontrollore ESP32 (U1) per controllare il modulo relè (RL1), mentre il GPIO D12 è collegato ad un interruttore (SW1) per controllare manualmente il relè. La funzionalità di questo circuito è integrata con Google Assistant nell'ESP32, inoltre, consente il controllo manuale della lampada tramite l’interruttore SW1.

Figura 1: Schema elettrico del circuito domotico ESP32
Per alimentare il circuito viene utilizzato il modulo AC-DC switching HI-LINK PM01 (U2) da 5 V per convertire la corrente alternata a 230 Vac in ingresso in una tensione continua a +5 V, che viene fornita all'ESP32 ed al modulo relè. In base al codice del progetto, quando il pin di controllo IN del modulo relè riceve un livello BASSO (da comando vocale o per SW1 chiuso a massa), il relè si attiva inviando una fase della 230 Vac ad un terminale della lampada che si accende, in quanto l’altro terminale della lampada è collegato direttamente all’altra fase; viceversa, il relè si disattiva quando al pin di controllo del relè risulta un livello ALTO (da comando vocale o per SW1 aperto).
Montaggio del circuito
Per costruire il circuito del sistema ESP32 smart Home Automation occorre il seguente materiale:
• Scheda di sviluppo ESP32 (abbiamo usato ESP32-DEVKITC)
• Modulo relè SPDT 5V, 1 canale
• Interruttore SPDT
• Alimentatore convertitore AC/DC HI-LINK PM01
• Lampadina 230 Vac
• Due morsettiere 2 poli, passo 2,54 mm
• Piastra PCB millefori per montaggio a foro passante
• Conduttori di collegamento componenti
• Cavo bipolare dotato di spina ad una estremità del cavo
• Stagno
• Saldatore
Inserite i componenti nei fori delle piazzole ramate della piastra millefori. Collegate tra loro i componenti saldando dei conduttori seguendo i collegamenti dello schema elettrico di Figura 1. Fissate poi il materiale isolante, ad esempio un pezzo di piastra di bachelite, sulla parte dei collegamenti a 230 Vac per evitare scosse elettriche da contatto accidentale indesiderate rischiose per la salute. Collegate ai due pin della morsettiera J1 i due terminali AC del modulo HI-LINK saldando due conduttori, inserite i due conduttori liberi del cavo bipolare nei morsetti della stessa morsettiera. Inserirete in seguito ad una presa a 230 Vac la spina collegata all’altra estremità del cavo bipolare quando dovrete alimentare il circuito. Collegate i due terminali di una lampada ai morsetti della morsettiera J2.
Configurazione di Sinric Pro per l'integrazione di ESP32 con Alexa e Google Home
Per questo progetto di domotica viene creato un account Sinric Pro gratuito, che abilita funzionalità di controllo di carichi fino ad un massimo di tre. Per iniziare, dovrete inserire i dispositivi in Sinric Pro. Di seguito, descriveremo passo-passo la procedura per la creazione di un account gratuito e l'inserimento dei dispositivi in Sinric Pro. Un'altra piattaforma simile a Sinric Pro è Blynk. Ma di recente, Blynk ha imposto delle limitazioni agli account gratuiti, motivo per cui abbiamo utilizzato Sinric Pro.
Mediante Sinric Pro, è possibile connettersi facilmente a Google Home e all'app Amazon Alexa con i microcontrollori ESP8266, NodeMCU e ESP32 per controllare qualsiasi utenza elettrica con Google Assistant e Alexa. Quindi, si può facilmente realizzare qualsiasi progetto di domotica basato sull'IoT con Sinric Pro. Per attivare il piano gratuito che prevede l’inserimento di tre dispositivi che è possibile controllare, innanzitutto visitate il seguente sito di Sinric per registrarvi: https://portal.sinric.pro/register. Inserite tutti i dati richiesti e cliccate su “Register”. Inserite quindi l'indirizzo e-mail e la password e cliccate su “login”.
Creazione di una “Room” in Sinric Pro
Prima di aggiungere i dispositivi, dovete innanzitutto creare una Room in Sinric Pro. Per creare una room nell'account Sinric Pro, seguite i seguenti passaggi. Cliccate su "Rooms" nel menu a sinistra nella schermata, come quella mostrata in Figura 2. Una volta aperta la pagina, cliccate sul pulsante "Add Room" (in alto a sinistra). Inserite il nome e la descrizione della room. Infine, cliccate su "Save".

Figura 2: Creazione di una Room
Seguendo la stessa procedura è possibile creare più room in base alle vostre esigenze.
Inserimento di dispositivi
Come detto in precedenza, se utilizzate un piano gratuito di Sinric Pro, potete aggiungere fino a tre dispositivi. Ora, eseguite i seguenti passaggi per aggiungere dispositivi in Sinric Pro. Per prima cosa selezionate “Devices” dal menu a sinistra della stessa schermata mostrata in Figura 2, quindi cliccate sul pulsante “Add Device” (in alto a sinistra). Aperta la pagina dei dispositivi, inserite il nome e la descrizione del dispositivo. Quindi, selezionate il tipo di dispositivo in base alle proprie esigenze, ad esempio, in linea con il nostro progetto, potete scegliere come tipo di dispositivo "Switch", poiché controllerete il relè per accendere o spegnere la lampada. Successivamente, selezionate la room ove risiederà il dispositivo "Switch". Infine, cliccate su "NEXT". La Figura 3 riporta la schermata per l’inserimento dei dispositivi.

Figura 3: Aggiunta di un dispositivo
Il campo di attivazione delle notifiche che appare nella schermata successiva è facoltativo. Se desiderate ricevere notifiche push relative a questo dispositivo, potete attivarle. Cliccate su “Next”. Anche nella schermata che si aprirà, il campo di impostazione del timer è facoltativo. Se si desidera impostare un timer per l'accensione (Auto On) o lo spegnimento (Auto Off) automatico del dispositivo ad un orario predefinito, è possibile impostarlo in questa pagina. Cliccate su “Next”. In quest’altra pagina c’è un altro campo facoltativo. Potete definire la potenza nominale dell'utenza elettrica collegata per ottenere una stima del consumo energetico. A questo punto, cliccate su “Save” per completare l’inserimento del dispositivo in Sinric Pro, come confermato nella pagina mostrata in Figura 4.

Figura 4: Inserimento dispositivo confermato
In questa schermata procederemo con la richiesta delle credenziali, come descritto di seguito.
API KEY, API SECRET e Device_ID di Sinric Pro
Prima di caricare codice sull’ESP32, è necessario inserire le API: API KEY e API SECRET di Sinric. Per ottenere ciò, è necessario accedere a “Credentials” dal menu a sinistra. Si aprirà una schermata in cui sono indicati i codici di API KEY e API SECRET, come mostrato in Figura 5.

Figura 5: API KEY e API SECRET
Nella schermata delle credenziali, copiate e incollate da qualche parte i valori di API KEY e API SECRET. Copiate anche l'ID del dispositivo, che troverete andando nel menu “Devices” (Figura 6) in quanto questi tre valori dovranno essere inseriti nel codice del progetto. Questo ID è univoco per ogni dispositivo che aggiungerete. Se create tre dispositivi, ci saranno tre ID_device univoci.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3137 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.







Salve a tutti.
Fantastico progetto che realizzerò sicuramente. Complimenti.
Mi permetto solamente di proporre una “micro-aggiunta”, senza per questo pretendere di insegnare nulla.
Se accendiamo/spegniamo la luce chiudendo lo SW1, perdiamo poi il controllo dei due stati tramite relè.
Sarebbe quindi possibile utilizzare uno scambio completo su un relè a doppio scambio e sostituire lo SW1 con un “deviatore”. A quel punto, basta dire “lampada salone” (ad esempio) e quella cambia lo stato da acceso a spento o viceversa.
Non potendo aggiungere una immagine non posso proporre graficamente la modifica.
Saluti