Controllare luci, Tv e molto altro con Alexa (Lambda Function parte 1)

Lambda Function

Nell’articolo precedente abbiamo creato la skill per l’home automation. In realtà abbiamo soltanto creato uno scheletro delle interfaccia che Alexa deve usare. Adesso provvediamo ad implementarla cioè costruiremo la sua Lambda Function. Il concetto di Lambda Function in realtà si estende molto di più rispetto alla semplice costruzione della Skill. Le Lambda Function fanno parte del concetto molto caro ad Amazon AWS del servless. Cioè di servizi forniti ad un consumatore senza in realtà avere a disposizione una parte fisica cioè’ un sever.

Nel nostro caso la Lambda Function esporterà verso Alexa sia l’interfaccia delle “azioni” che mettere a disposizione la nostra skill sia la sua implementazione.

Prima vedremo come costruire la nostra Lambda Function e poi scenderemo nei particolari.

Costruiamo la Lambda Function

Per prima cosa entrate in  AWS account. Se non avete ancora un account AWS createne uno. Non vi preoccupate dei costi. Tutto quello che faremo entra nel programma free tier di Amazon. Cioè tutto gratuito!!

Creiamo un IAM Role per la Lambda Function

Per usare una Lambda Function abbiamo bisogno di creare un  “Identity and Access Management” (IAM). Cioè un “ruolo” di accesso alla funzione. Questo e’ possibile a questo link

  • Scegli Ruoli e clicca Crea Ruolo.
  • Seleziona  Lambda tra i casi d’uso.
  • Clicca su Successivo:Autorizzazioni
  •  Tra le policy digita o cerca AWSLambdaBasicExecutionRole, seleziona e clicca Successivo:Tag.
  • Dai o salta l’inserimento di un Tag mnemonico, clicca Verifica
  • Dai un nome al tuo Ruolo e clicca Crea Ruolo.

Creazione della Lambda Function

  1. Accedi alla console e seleziona Lambda.
  2. Seleziona la lambda region nel angolo superiore. Ovvio che per ridurre la latenza scegliamo una regione vicino a noi. eu-west-1 va più che bene. (Alla momento della scrittura del articolo non tutti i servizi sono presenti per la regione south di Milano)
  3. Clicca Crea Funzione.
  4. Seleziona Crea Da zero e riempi
    • Name Funzione: digita un Nome , ad esempio mytest2.
    • Runtime: Puo scegliere Node.js, Java, Python, C#, Go o Ruby. Per il nostro esempio scegliamo Node.js 14x
    • Per il Ruolo Autorizzazione scegli quello precedentemente creato.
  5. Clicca Create Function

Hai creato la tua Function. Ora dobbiamo configurarla e scriverne il codice

  1. In Configurazione, cliccare  Aggiungi trigger e selezionare Alexa Smart Home .
  2. In ID applicazione copia il tuo Your Skill ID ricavato dalla creazione della Skill e lascia abilitato il check Abilita trigger 
  3. clicca Aggiungi.

In questo modo abbiamo collegato la Lambda Function alla Skill creata in precedenza (dovremo collegare anche la Skill alla Lambda successivamente) .

Nel prossimo articolo riempiremo la Lambda Function con il nostro codice.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.