Come costruire il tuo Amazon Echo con un Raspberry Pi

IL Amazon Eco è utile avere in casa. Può riprodurre podcast, prendere promemoria e appunti, dirti la durata del tuo tragitto giornaliero e persino controllare altri elettrodomestici in casa. Ma a prezzi che vanno da $ 50 a $ 150, è una proposta costosa se non sei sicuro di usarla. Buone notizie, però, puoi crearne uno completamente funzionante usando un Raspberry Pi.


Aggiornamento : Questo metodo è un po' più semplice e ti offre un prodotto finale migliore . Lasciamo questa guida poiché utilizza i repository ufficiali di Amazon, ma il sistema funziona molto meglio.

Cosa otterrai

Alla fine di questa guida, avrai un (quasi) Amazon Echo perfettamente funzionante che risponde ai tuoi comandi vocali. L'unica cosa che non può fare è accedere a servizi musicali come Amazon Prime, Spotify o Pandora. Altrimenti, è un Echo con tutte le campane e i fischietti di Alexa, l'assistente virtuale di Amazon. Il che significa che può eseguire conversioni di unità, controllare i risultati sportivi, leggere i tuoi libri Kindle, controllare il meteo, riprodurre podcast e radio e molto altro ancora. Una volta che avrai finito, sarai in grado di farlo utilizzare l'app complementare Alexa ( iOS E Android) per modificare le impostazioni di Alexa e sarai in grado di installare tutte le stesse abilità che puoi su un vero Echo. Questo include artisti del calibro di Batman scegli il tuo gioco di avventura o un database di fatti sui gatti . Forse sul lato più utile, include le integrazioni annunciate di recente con app da fare di terze parti come Todoista E Qualsiasi.do .

Funzionerà anche con una varietà di dispositivi collegati come lampadine intelligenti del calibro di LIFX o il Termostato Nido , così puoi controllarli con la tua voce. Come il vero Echo, il tuo Echo fai-da-te può essere collegato a Se questo allora quello A aggiungere più funzionalità , come aggiungere cose da fare su Evernote o a ricevi una notifica sul tuo telefono quando il timer si spegne.

Per quanto riguarda il prezzo, c'è una cosa che dovremmo menzionare qui: il più recente di Amazon Eco punto (l'eco più piccolo con un altoparlante scadente) costa solo $ 50, il che rende la creazione del tuo Raspberry Pi da $ 35 molto più difficile da vendere. Tuttavia, c'è una caratteristica chiave del Raspberry Pi che ne vale la pena: è ancora un Raspberry Pi e non un dispositivo unitasking . Questo progetto installa semplicemente una serie di programmi che consentono al tuo Raspberry Pi di funzionare come un Echo. Il tuo Raspberry Pi può ancora funzionare con una serie di altri progetti, come a stazione di gioco retrò (ne avrai solo bisogno installare l'ambiente desktop ) O un centro multimediale . Ciò significa che puoi trasformarlo in una macchina multitasking.


Di cosa avrai bisogno

Come ti aspetteresti, avrai bisogno di un Raspberry Pi insieme a una manciata di parti:

È teoricamente possibile utilizzare un vecchio Raspberry Pi o un Lampone Pi Zero F O R T H io S P R O J È C T , B In T dovrai installare manualmente il file ultima versione di Java fare così. Questo thread su GitHub può aiutare. Tuttavia, lo abbiamo testato su Raspberry Pi 2 e 3.


Costruirai il tuo Echo fai-da-te installando il Kit di competenze di Amazon Alexa sul Raspberry Pi. Per questa guida, useremo Codice ufficiale di Amazon . Questo ha però un avvertimento: richiede di avviare manualmente il servizio Alexa ogni volta che avvii il Pi . È fastidioso, ma supponendo che tu non perda molto energia o che tu debba riavviare il tuo Pi molto spesso, è solo un po' fastidioso.

Fase uno: registrati per un account sviluppatore Amazon

Prima di fare qualsiasi cosa, dovrai registrarti gratuitamente Account sviluppatore Amazon , quindi crea un profilo per il tuo DIY Echo. Questo è piuttosto semplice:


  1. Accedi al tuo Account sviluppatore Amazon .
  2. Fai clic sulla scheda Alexa.
  3. Fare clic su Registra un tipo di prodotto > Dispositivo.
  4. Assegna un nome al tipo di dispositivo e al nome visualizzato (abbiamo scelto 'Raspberry Pi' per entrambi).
  5. Fare clic su Avanti.
  6. Nella schermata Profilo di sicurezza, fai clic su 'Crea nuovo profilo'.
  7. Nella scheda Generale, accanto a 'Nome profilo di sicurezza', assegna un nome al tuo profilo. Fai lo stesso per la descrizione. Fare clic su Avanti.
  8. Prendi nota dell'ID prodotto, dell'ID client e del segreto client che il sito genera per te.
  9. Fare clic sulla scheda Impostazioni Web, quindi fare clic sul pulsante Modifica accanto al menu a discesa del profilo.
  10. Accanto a Origini consentite, fai clic su 'Aggiungi un altro' e digita: https://localhost:3000.
  11. Accanto a URL di ritorno consentiti, fai clic su 'Aggiungi un altro' e digita: https://localhost:3000/authresponse Fai clic su Avanti quando hai finito.
  12. La scheda Dettagli dispositivo è successiva. Non importa molto cosa inserisci qui. Scegli una categoria, scrivi una descrizione, scegli una sequenza temporale prevista e inserisci uno 0 nel modulo accanto al numero di dispositivi su cui prevedi di utilizzarlo. Fare clic su Avanti.
  13. Infine, puoi scegliere di aggiungere Amazon Music qui. Questo fa non funziona sul dispositivo alimentato da Pi, quindi lascia selezionato 'No'. Fare clic su Salva.

Ora hai un account sviluppatore Amazon e hai creato un profilo per il tuo Echo basato su Pi. È ora di andare al Raspberry Pi e far funzionare Alexa.

Fase due: clonare e installare Alexa

Collega tutto al tuo Pi e avvialo. Dovrai essere nell'interfaccia utente grafica ( ora soprannominato PIXEL ) per questo perché alla fine utilizzi un browser web per autenticare il tuo dispositivo.

  1. Apri l'applicazione Terminale sul Raspberry Pi e digita: cd Desktop e premi Invio.
  2. Digita git clone https://github.com/alexa/alexa-avs-sample-app.git e premi Invio.
  3. Al termine, digita: cd ~/Desktop/alexa-avs-sample-app e premi Invio.
  4. Digita nano automated_install.sh e premi Invio.
  5. Questo richiama il tuo editor di testo. Qui, dovrai inserire il tuo ProductID, ClientID e ClientSecret che hai annotato nel passaggio precedente. Utilizzare i tasti freccia per navigare verso ciascuna voce. Inserisci ogni dettaglio dopo il segno = come indicato nell'immagine sopra. Quando hai finito, tocca CTRL+X per salvare ed uscire.
  6. Ora sei tornato alla riga di comando. È ora di eseguire lo script di installazione. Digita cd ~/Desktop/alexa-avs-sample-app e premi Invio.
  7. Digita . automated_install.sh e premi Invio.
  8. Quando richiesto, premi Y per le diverse domande e rispondi come ritieni opportuno per il resto. Questo configurerà il tuo Pi e installerà alcuni software extra. Questo può richiedere fino a 30 minuti, quindi lascialo fare.

Al termine, è ora di avviare il servizio Alexa.

Passaggio tre: eseguire il servizio Web Alexa

Successivamente, eseguirai tre serie di comandi contemporaneamente in tre diverse finestre di Terminale. Creerai una nuova finestra Terminale per ciascuno dei seguenti passaggi. Non chiudere nessuna finestra! Dovrai eseguire i passaggi tre (questo), quattro e cinque ogni volta che riavvii il tuo Raspberry Pi.


Il primo che inizierai è l'Alexa Web Service:

  1. Digita cd ~/Desktop/alexa-avs-sample-app/samples e premi Invio.
  2. Digita cd companionService && npm start e premi Invio.

Questo avvia il servizio di accompagnamento e apre una porta per comunicare con Amazon. Lascia aperta questa finestra.

Fase quattro: esegui l'app di esempio e conferma il tuo account

Apri una seconda finestra di Terminale (File > Nuova finestra). Questo passaggio successivo esegue un'app Java e avvia un browser Web che registra il tuo Echo basato su Pi con il servizio Web Alexa.

  1. Nella tua nuova finestra Terminale digita cd ~/Desktop/alexa-avs-sample-app/samples e premi Invio.
  2. Digita cd javaclient && mvn exec:exec e premi Invio.
  3. Apparirà una finestra che ti chiederà di autenticare il tuo dispositivo. Fare clic su Sì. Questo apre una finestra del browser. Apparirà un secondo pop-up nell'app Java che ti chiederà di fare clic su OK. Fare non fai ancora clic su questo.
  4. Accedi al tuo account Amazon nel browser.
  5. Vedrai una schermata di autenticazione per il tuo dispositivo. Fare clic su OK. Il tuo browser visualizzerà ora 'token dispositivo pronti'.
  6. Ora puoi fare clic sul pop-up Ok nell'app Java.

Ora, il tuo Raspberry Pi ha i token necessari per comunicare con il server di Amazon. Lascia aperta questa finestra di Terminale.

Passaggio cinque: avviare il motore di Wake Word

Infine, apri una terza finestra di Terminale (File > Nuova finestra). Qui, avvierai il motore delle parole di attivazione. Questo ti consente di dire 'Alexa' per far sì che il tuo Raspberry Pi inizi ad ascoltarti. Hai due opzioni per il software di wakeword, Sensoriale E KITT.AI . Entrambi sono gratuiti, ma Sensory scade dopo 90 giorni, quindi usiamo invece KITT:

  1. Digita cd ~/Desktop/alexa-avs-sample-app/samples e premi Invio.
  2. Digita cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

Ecco fatto, il tuo Echo fai-da-te è ora in esecuzione. Vai avanti e provalo dicendo 'Alexa'. Dovresti sentire un segnale acustico che indica che è in ascolto. Quando senti quel segnale acustico, fai una domanda del tipo: 'Che tempo fa?' o 'Qual è il punteggio nel gioco dei Dodgers?'

Passaggio sei: migliora il microfono e assicurati che il tuo eco possa sentirti

Infine, a seconda della qualità del tuo microfono, potresti notare che ha difficoltà a sentirti. Invece di urlare 'Alexa' a squarciagola, andiamo alla riga di comando un'ultima volta.

  1. Dalla riga di comando, digita alsamixer e premi Invio.
  2. Toccare F6 per selezionare un altro dispositivo USB. Usa i tasti freccia per selezionare il microfono.
  3. Utilizzare i tasti freccia per aumentare il volume di acquisizione.
  4. Quando sei soddisfatto del volume, tocca ESC per uscire.
  5. Digita sudo alsactl store e premi Invio per rendere permanenti le impostazioni.

Ora dovresti essere in grado di attivare il tuo eco fai-da-te parlandogli come un normale essere umano invece di urlare. Puoi anche modificare il volume predefinito qui se necessario.

Credito extra: aggiungi il supporto AirPlay

Una cosa che manca al tuo Echo DIY dalla versione commerciale è la capacità di funzionare come altoparlante Bluetooth. Puoi aggiungere funzionalità simili con AirPlay . In questo modo, il tuo Echo funge anche da ricevitore a cui puoi inviare musica dal tuo telefono o computer. È facile da aggiungere, ti servirà solo un ultimo passaggio alla riga di comando tramite Terminale:

  1. Digita sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl e premi Invio. Questo installa diversi software di cui avrai bisogno.
  2. Premi Y quando richiesto e attendi che tutto venga scaricato e installato.
  3. Digita git clone https://github.com/njh/perl-net-sdp.git e premi Invio. Questo è necessario per la versione più recente del software di AirPlay. I prossimi comandi compilano e installano questo software.
  4. Digita cd perl-net-sdp e premi Invio.
  5. Digita perl Build.PL e premi Invio.
  6. Digita sudo ./Build e premi Invio.
  7. Digita sudo ./Build test e premi Invio.
  8. Digita sudo ./Build install e premi Invio.
  9. Digita CD .. e premi Invio.
  10. Ora prenderai Shairport, il software DIY Airport. Digita git clone https://github.com/hendrikw82/shairport.git e premi Invio.
  11. Digita cd shairport e premi Invio.
  12. Digita make e premi Invio.
  13. Digita ./shairport.pl -a AlexaPi e premi Invio.

Con ciò, ora puoi eseguire lo streaming di musica o altro audio sul tuo Echo fai-da-te utilizzando il protocollo AirPlay. Ora che il tuo Echo è attivo e funzionante, vai avanti e inizia a giocarci.