- Materiale squisito:
- Parte 1: configurazione del Raspberry Pi con SSH e VNC
- Parte 2: imposta il tuo account sviluppatore Amazon e configura i servizi vocali di Alexa su Raspberry Pi:
- Parte 3: configurazione di PubNub e IFTTT per l'automazione domestica di Alexa Pi :
- Parte 3-2: configurazione di IFTTT per il servizio Amazon Alexa:
- Parte 4: collegamenti hardware e schema elettrico:
- Parte 5: codice Python per il controllo del LED:
Hai mai pensato a un altoparlante che può essere controllato dalla tua voce !!! E se potessimo controllare i nostri elettrodomestici in questo modo e renderli più intelligenti? Gli assistenti vocali stanno diventando sempre più popolari mentre ci stiamo dirigendo verso un'era di sistemi basati su IA e IoT. Hai sentito parlare di Google Assistant, Apple Siri e Amazon Alexa . Questi sono tutti sistemi di intelligenza artificiale basati sulla voce, ciò che li rende diversi l'uno dall'altro sono i loro ecosistemi, ed è qui che Amazon Alexa spicca di più. Google, Apple e Amazon, tutte queste società hanno già lanciato i loro altoparlanti intelligenti, ma Amazon è stata la prima a introdurre altoparlanti intelligenti. Amazon echo, Echo Dot Spot, ecc.Sono gli altoparlanti intelligenti disponibili sul mercato.
Amazon fornisce l'API per l'utilizzo del suo popolare servizio vocale, Alexa. È open source e disponibile su Github. Inoltre puoi installare o integrare Alexa su dispositivi personalizzati come Raspberry Pi e ottenere la piena funzionalità di Amazon Echo in quel dispositivo.
Utilizzando il servizio vocale Alexa, possiamo riprodurre musica, ottenere informazioni sul tempo, prenotare biglietti e molto altro. Tutto quello che devi fare è "chiedere". In questo tutorial, vedremo come possiamo controllare Raspberry Pi GPIO utilizzando i servizi di Alexa Voice per accendere un LED.
Materiale squisito:
Requisiti hardware:
- Raspberry Pi 3 o Raspberry Pi 2 Modello B e scheda SD (8 GB o più)
- Altoparlante esterno con cavo AUX da 3,5 mm
- Qualsiasi webcam o microfono USB 2.0
- Modulo relè
- GUIDATO
Nota: la webcam ha un microfono integrato, quindi lo useremo al posto del microfono USB 2.0.
Requisiti per applicazioni software e Web:
- Registra un account con Alexa Voice Services
- Registra un account con PubNub
- Registra un account con IFTTT
Supponiamo inoltre che il tuo Raspberry pi sia già configurato con un sistema operativo Raspbian e sia connesso a Internet. Con questi a posto procediamo con il tutorial. Se sei nuovo su Raspberry Pi, passa prima a Come iniziare con Raspberry pi.
L'intero tutorial è principalmente diviso in 5 parti, che sono le seguenti:
- Se non hai il monitor, dobbiamo configurare il Raspberry Pi con SSH e VNC, controllare anche la connettività del microfono USB.
- Configura il tuo sviluppatore Amazon e installa Alexa su Raspberry Pi
- Configurazione di PubNub e IFTTT per Alexa Home Automation
- Connessione hardware
- Codice Python per Alexa Pi GPIO Control
Se vuoi semplicemente controllare un LED con la tua voce, controlla anche il nostro progetto LED a controllo vocale basato su Bluetooth.
Parte 1: configurazione del Raspberry Pi con SSH e VNC
Innanzitutto, collegheremo Raspberry Pi con SSH e VNC. Per questo seguire i tutorial sul sito Web ufficiale di Raspberry Pi, i collegamenti sono forniti di seguito.
Per SSH: collegamento SSh
Per VNC: collegamento VNC
Se hai Monitor, puoi lasciare questo passaggio e andare direttamente al passaggio 2 che è Configurazione del servizio vocale Alexa (Avs). Prima di ciò dobbiamo controllare la connettività del microfono.
Controllo del microfono della webcam con Raspberry Pi:
1. Apri il terminale Raspberry Pi e digita arecord -l command. Questo mostrerà i dispositivi hardware che sono collegati a Raspberry Pi come mostrato di seguito:
La scheda 1 è il microfono della tua webcam che useremo. Se non viene visualizzato, la tua webcam potrebbe essere difettosa.
2. Ora, controlla se il microfono funziona eseguendo il comando di registrazione audio come:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Per riprodurre l'audio registrato, digita questo comando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Se hai collegato Raspberry Pi al monitor utilizzando un cavo HDMI, per impostazione predefinita l'uscita audio è tramite l'altoparlante del monitor (se è presente un altoparlante integrato). Quindi, per cambiarlo in 3,5 mm devi digitare il seguente comando:
sudo raspi-config e vai all'opzione Advance.
Seleziona Audio dall'elenco -> seleziona Forza 3.5mm -> seleziona Ok e riavvia il tuo Raspberry Pi.
Ora dovresti sentire il suono dal jack da 3,5 mm.
NOTA: se si desidera aumentare o diminuire il volume della voce in ingresso per il microfono, digitare alsamixer nel terminale. Seleziona la scheda audio dal terminale premendo F6.
Premere F4 per modificare il guadagno dB del microfono e impostarlo come si desidera.
Se si dispone di un microfono USB 2.0, i passaggi seguiti sono gli stessi per controllare il microfono. Qui abbiamo usato la webcam per il microfono USB.
Parte 2: imposta il tuo account sviluppatore Amazon e configura i servizi vocali di Alexa su Raspberry Pi:
Lo abbiamo già spiegato in dettaglio nel nostro precedente tutorial in cui abbiamo costruito uno smart speaker Amazon Echo. Qui ci stiamo concentrando sul controllo del GPIO Raspberry Pi con Alexa, quindi non stiamo spiegando di nuovo l'intero processo, quindi leggi l'articolo precedente e prepara il tuo altoparlante con i servizi vocali Alexa installati sul tuo Raspberry pi.
Per testare Alexa, svegliala pronunciando il suo nome! Controlla il video dimostrativo fornito alla fine del tutorial.
Puoi chiederle della temperatura della tua città per verificare che funzioni o meno.
Parte 3: configurazione di PubNub e IFTTT per l'automazione domestica di Alexa Pi :
Per controllare Raspberry Pi GPIO utilizzando questo Alexa Pi, abbiamo bisogno dell'aiuto di PubNub python SDK e IFTTT. Daremo comandi a IFTTT tramite Alexa e PubNub darà il segnale a RPi per accendere / spegnere il LED. Quindi installeremo prima PubNub su Raspberry Pi.
Parte 3-1: installazione di PubNub Python SDK:
PubNub fornisce un'API di messaggistica per pubblicare / sottoscrivere qualsiasi messaggio sulla propria rete globale. Qui stiamo usando IFTTT e Alexa per pubblicare il messaggio su PubNub, per rendere Raspberry Pi GPIO basso / alto. Questo messaggio viene ricevuto da Raspberry Pi e Pi accenderà o spegnerà il LED di conseguenza. Segui i passaggi seguenti per configurare PubNub su Raspberry Pi:
Passaggio 1: apri il terminale sul tuo RPi ed esegui il seguente comando per installare l'SDK:
sudo pip install pubnub == 3.9.0
Installa solo la versione 3.9.0, l'altra versione non funzionerà con lo script python che eseguiremo nell'ultima.
Passaggio 2: ora vai su PubNub e accedi con le tue credenziali.
Fase 3:. Ottieni le chiavi di pubblicazione e sottoscrizione che utilizzeremo in seguito.
Parte 3-2: configurazione di IFTTT per il servizio Amazon Alexa:
IFTTT è un servizio gratuito basato sul Web che consente agli utenti di creare catene di semplici istruzioni condizionali, chiamate "ricette", che vengono attivate in base alle modifiche ad altri servizi Web come Gmail, Facebook, Instagram e. IFTTT è un'abbreviazione di "If This Then That".
Per questo progetto, IFTTT viene utilizzato per rendere il Raspberry Pi GPIO BASSO / ALTO in base al comando vocale ricevuto dal servizio Alexa in esecuzione su RPi.
Segui questi passaggi per creare un'applet:
Fase 1: - Accedere al IFTTT con le proprie credenziali o Registrati se non si dispone di un account su di esso.
Passaggio 2: - Nelle mie applet, fare clic su Nuova applet
Passaggio 3: - Fare clic su + questo
Passaggio 4: - Cerca in Amazon Alexa e fai clic su di esso, accedi con i dettagli del tuo account sviluppatore Amazon.
Passaggio 5: - Scegli il trigger, Pronuncia una frase specifica
Passaggio 6: - Fornire " accendi la luce" come frase, fare clic su Crea trigger.
Passaggio 7: - Fare clic su + quello
Passaggio 8: - Cerca webhook, fai clic su di esso e seleziona Effettua una richiesta web
Passaggio 9: - I webhook forniscono la richiesta REST WEB, utilizza le chiavi di pubblicazione e sottoscrizione ottenute da PubNub e modifica il seguente URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Passaggio 10: - Incolla l'URL modificato nella casella di testo dell'URL.
Passaggio 11: - Imposta il metodo come GET, Content as application / json e fai clic su save.
Passaggio 12: - Seguire gli stessi passaggi per creare il trigger per " spegnere la luce " e modificare l'URL come segue.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Passaggio 13: - Ora siamo pronti con tutti i componenti web per la demo.
Parte 4: collegamenti hardware e schema elettrico:
Per questo progetto, abbiamo bisogno di un semplice LED a scopo di test. Di seguito è riportato lo schema del circuito e le connessioni hardware per controllare il GPIO Raspberry Pi con Amazon Alexa.
Useremo GPIO18 nel nostro script python quindi, collega il relè al tuo LED 18. Puoi cambiarlo nello script python.
Parte 5: codice Python per il controllo del LED:
Trova lo script Python completo alla fine di questo tutorial.
È necessario modificare le chiavi Pub e Sub con le chiavi pubnub nel codice Python.
# Inizializza le chiavi Pubnub pub_key = "***************************" sottochiave = "*********** ************* "
Ora esegui lo script
python alexaRpi.py
Ora siamo tutti pronti per la demo, assicurati di eseguire tutti e tre i servizi dalla Parte 1 (i tre terminali) prima di continuare.
Per dare qualsiasi comando devi riattivare il servizio Alexa chiamando "Alexa" ogni volta che vuoi inviare un comando. Sentirai un segnale acustico. Quando senti il segnale acustico, dì " Alexa Trigger Turn on the Light. "Puoi vedere la luce che si accende in un attimo. E poi se dici " Alexa Trigger Spegni la luce ", la luce dovrebbe spegnersi.
Questo è tutto…. È inoltre possibile aggiungere un relè per controllare l'appliance CA, anche se è possibile controllare molti dispositivi utilizzando più relè e più pin GPIO di Raspberry pi.
Controlla il codice completo e il video dimostrativo di seguito. Controlla anche tutti i nostri progetti di automazione domestica qui.