Alexa chiama, Arduino risponde!

Ormai si parla sempre di più di dispositivi connessi, e qualsiasi progetto, senza una connessione alla rete, risulta di fatti incompleto. Soprattutto per i progetti realizzati in casa, sta nascendo sempre di più l'esigenza di dotare il proprio Arduino di superpoteri, come il poter integrarsi con gli assistenti vocali all'interno della propria smart home. Dotare il proprio Arduino di comandi vocali non è mai stato così semplice grazie all'integrazione con sistemi di sintesi vocale per la propria smart home. In questo articolo affronteremo un progetto passo passo per configurare il proprio progetto Arduino in modo tale da poter interloquire con i comandi vocali Alexa, il sintetizzatore vocale di Amazon.

Introduzione

In questo articolo dunque affronteremo le basi per poter far interagire una scheda Arduino con l'assistente vocale Alexa. La procedura è molto semplice e, con il materiale riportato nel prossimo paragrafo, è facilmente implementabile anche dai neofiti con un costo davvero irrisorio. Questo articolo sarà una guida per fornire le basi dell'integrazione attraverso un progetto semplice e immediato. Sarà poi vostro compito scatenare l'immaginazione per rendere smart la vostra casa.

Materiale occorrente

Prima di tutto andiamo a fare una panoramica di ciò che ci occorre per poter sperimentare l’interazione tra il nostro progetto Arduino e il voice assistant di Amazon. Il materiale è il seguente:

  • Account Arduino Create per poter utilizzare la piattaforma Arduino IoT Cloud. Vi ricordo che la registrazione alla piattaforma è gratuita. Per chi non avesse mai utilizzato questa piattaforma consiglio di leggere nel blog l’articolo Progettiamo con Arduino IoT Cloud in cui è stata affrontata da zero la progettazione di un esempio pratico molto semplice ma allo stesso tempo funzionale e completo, che fornisce al lettore tutti gli elementi fondamentali alla base di un progetto cloud con le board IoT di Arduino.
  • Una scheda di sviluppo Arduino compatibile con Arduino IoT Cloud. In particolare, in questo articolo sarà utilizzata una scheda Arduino MKR Wi-Fi 1010 che rientra nella lista delle schede compatibili con la piattaforma Arduino IoT Cloud. Oltre alle schede compatibili è possibile aggiungere alla piattaforma anche schede di terze parti (ad esempio le schede basate su ESP32) ma bisogna effettuare un upgrade a pagamento del piano della piattaforma.
  • Un dispositivo Alexa. In questo articolo utilizzerò un Echo dot che, seppure sia il dispositivo più economico della famiglia di voice assistant di Amazon, consente di realizzare diversi progetti di automazione della propria casa ed è perfetto per i progetti di integrazione con Arduino.
  • Un account Amazon
  • L’app Alexa per poter configurare i nostri dispositivi. Nel nostro caso utilizzerò l’app per smartphone, ma è possibile configurare Alexa anche direttamente dal web.

Nella Figura 1 è riportato lo schema di principio dell'oggetto con le diverse interazioni tra il dispositivo Amazon, l'app, il cloud e la scheda di Arduino.

Figura 1: Schema di principio del progetto

Step 1: Realizzazione del nostro progetto sulla piattaforma Arduino IoT Cloud

La prima fase di progettazione prevede la realizzazione di un progetto all’interno della piattaforma Arduino IoT Cloud. Per chi è alle prime armi, un progetto all’interno di questa piattaforma è detto “Thing”, poiché orientato proprio all’Internet of Things. La Thing del nostro progetto sarà composta dunque da due variabili (riportate in Figura 1):

  • temperatura (Figura 1): una variabile di tipo CloudTemperatureSensor, con aggiornamento ogni 10 secondi e con permessi di sola lettura
  • ledcolorato: una variabile di tipo booleana con cui andremo ad accendere il LED posizionato sulla nostra scheda Arduino MKR Wi-Fi 1010

Chi ha dimestichezza con la piattaforma già sa che dalla suite si otterrà in automatico lo sketch che comprende tutta la configurazione necessaria ed utile per la corretta comunicazione con la piattaforma stessa. Ovviamente dobbiamo affrontare la modifica dello sketch a piacimento per il controllo del nostro LED (all’interno della funzione void onLedcoloratoChange()) e la gestione della lettura della temperatura. Lo sketch che vi posto di seguito include anche la gestione di un piccolo display OLED per la visualizzazione della temperatura acquisita (per chi volesse approfondire i dettagli della realizzazione di tutto lo sketch rimando sempre all’articolo Progettiamo con Arduino IoT Cloud dove sono state spiegate passo dopo passo tutte le fasi della progettazione all’interno della piattaforma).

Figura 2: Schema collegamento Arduino

Al termine della realizzazione dello sketch possiamo tranquillamente caricarlo sulla board che stiamo utilizzando e concludere il primo step del nostro progetto.

Ecco qui lo sketch:

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2039 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.

Scarica subito una copia gratis

2 Commenti

  1. Avatar photo Giacomo Di Iorio 4 Gennaio 2024
    • Avatar photo CristianB 4 Gennaio 2024

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend