interessante

Come costruire il tuo Amazon Echo con un Raspberry Pi

Amazon Echo è utile da avere in casa. Può riprodurre podcast, prendere promemoria e note, dirti la durata del tuo tragitto giornaliero, persino controllare altri apparecchi in casa. Ma a prezzi che vanno da $ 50 a $ 150, è una proposta costosa se non sei sicuro che lo userai. Buone notizie però, puoi crearne una completamente funzionale usando un Raspberry Pi.

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

Cosa otterrai

Alla fine di questa guida, avrai un Amazon Echo (quasi) 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 Eco con tutte le campane e fischietti di Alexa, l'assistente virtuale di Amazon. Ciò significa che può fare conversioni di unità, controllare i risultati sportivi, leggere i tuoi libri Kindle, controllare il tempo, riprodurre podcast e radio e molto altro. Una volta terminato, sarai in grado di utilizzare l'app companion 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 Eco. Ciò include artisti del calibro di Batman che scelgono il proprio gioco di avventura o un database di fatti sui gatti. Forse sul lato più utile, include le integrazioni recentemente annunciate con app da fare di terze parti come Todoist e Any.do.

Funzionerà anche con una varietà di dispositivi collegati come lampadine intelligenti come LIFX o Nest Thermostat, in modo da poterli controllare con la tua voce. Come il vero Eco, il tuo Eco Eco fai-da-te può essere collegato a If This Then That per aggiungere più funzionalità, come aggiungere cose da fare a Evernote o per ricevere una notifica sul telefono quando il timer si spegne.

Per quanto riguarda il prezzo, c'è una cosa che dovremmo menzionare qui: il più recente Echo Dot di Amazon (l'eco più piccolo con un altoparlante junky) è solo $ 50, il che rende la creazione del proprio da un Raspberry Pi da $ 35 una vendita molto più difficile. Tuttavia, c'è una caratteristica chiave di Raspberry Pi che rende tutto utile:. Questo progetto installa semplicemente una serie di programmi che consentono a Raspberry Pi di funzionare come un eco. Il tuo Raspberry Pi può ancora funzionare con una serie di altri progetti, come una stazione di gioco retrò (dovrai solo installare l'ambiente desktop) o un media center. Ciò significa che puoi trasformarlo in una macchina multitasking.

Cosa ti servirà

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

  • Un Raspberry Pi 3 (consigliato) o Raspberry Pi 2 (è necessario anche un adattatore Wi-Fi USB con il Modello 2) con Raspbian installato. Se non hai mai installato Raspbian, la nostra guida copre tutto ciò che devi sapere.
  • Un cavo di alimentazione MicroUSB
  • Una scheda MicroSD da 8 GB
  • Un microfono USB (ho usato questo microfono da $ 6 economico, ma praticamente qualsiasi microfono USB sembra funzionare. Il $ 8 Playstation Eye sembra funzionare particolarmente bene se stai cercando un leggero aggiornamento)
  • Altoparlanti (qualsiasi altoparlante alimentato fa il suo lavoro, ho deciso di utilizzare un UE Mini Boom perché lo possedevo già e anche quando è collegato al Pi, funziona ancora come altoparlante Bluetooth)
  • Una tastiera e un mouse per l'installazione (o l'accesso a un computer con VNC)

È teoricamente possibile utilizzare un Raspberry Pi o Raspberry Pi Zero precedente per questo progetto, ma per farlo dovrai installare manualmente l'ultima versione di Java. Questo thread su GitHub può essere d'aiuto. Tuttavia, abbiamo testato questo su Raspberry Pi 2 e 3.

Costruirai il tuo eco fai-da-te installando Amazon Alexa Skills Kit sul Raspberry Pi. Per questa guida, utilizzeremo il codice ufficiale di Amazon. Ciò comporta tuttavia un avvertimento: richiede l'avvio manuale del servizio Alexa. È fastidioso, ma supponendo che non perdiate molto energia o che sia necessario riavviare il Pi molto spesso, è solo un po 'fastidioso.

Fase 1: registrarsi per un account sviluppatore Amazon

Prima di fare qualsiasi cosa, devi registrarti per un account sviluppatore Amazon gratuito, quindi creare un profilo per il tuo eco fai-da-te. Questo è piuttosto semplice:

  1. Accedi al tuo account sviluppatore Amazon.
  2. Fai clic sulla scheda Alexa.
  3. Fai 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. Fai clic su Avanti.
  6. Nella schermata Profilo di sicurezza, fai clic su "Crea nuovo profilo".
  7. Nella scheda Generale, accanto a "Nome profilo sicurezza", assegna un nome al tuo profilo. Fai lo stesso per la descrizione. Fai clic su Avanti.
  8. Prendi nota dell'ID prodotto, dell'ID cliente e del segreto cliente che il sito genera per te.
  9. Fai clic sulla scheda Impostazioni Web, quindi fai clic sul pulsante Modifica accanto al menu a discesa del profilo.
  10. Accanto a Origini consentite, fai clic su "Aggiungi altro" e digita: //localhost:3000 .
  11. Accanto a URL di ritorno consentiti, fai clic su "Aggiungi altro" e digita: //localhost:3000/authresponse Al termine, fai clic su Avanti.
  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. Fai clic su Avanti.
  13. Infine, puoi scegliere di aggiungere in Amazon Music qui. Questo non funziona sul dispositivo alimentato Pi, quindi lasciarlo selezionato come "No". Fare clic su Salva.

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

Passaggio 2: clonare e installare Alexa

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

  1. Apri l'applicazione Terminale su Raspberry Pi e digita: cd Desktop e premi Invio.
  2. Digita git clone //github.com/alexa/alexa-avs-sample-app.git e premi Invio.

  3. Una volta completato, digita: cd ~/Desktop/alexa-avs-sample-app e premi Invio.
  4. Digita nano automated_install.sh e premi Invio.
  5. Questo fa apparire il tuo editor di testo. Qui, dovrai inserire il tuo ProductID, ClientID e ClientSecret che noti nel passaggio sopra. Utilizzare i tasti freccia per navigare verso ciascuna voce. Inserisci ogni dettaglio dopo il segno = come indicato nell'immagine sopra. Al termine, tocca CTRL + X per salvare ed uscire.
  6. Ora sei tornato alla riga di comando. È tempo di eseguire lo script di installazione. Digita cd ~/Desktop/alexa-avs-sample-app e premi Invio.
  7. Digita . automated_install.sh . automated_install.sh e premere Invio.
  8. Quando richiesto, premi Y per le diverse domande e rispondi quando lo ritieni opportuno. Questo configurerà il tuo Pi e installerà del software aggiuntivo. Questo può richiedere fino a 30 minuti, quindi lascialo fare e basta.

Al termine, è il momento di avviare il servizio Alexa.

Passaggio tre: eseguire il servizio Web Alexa

Successivamente, eseguirai tre serie di comandi contemporaneamente in tre diverse finestre 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 Raspberry Pi.

Il primo che inizierai è il servizio Web Alexa:

  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.

Passaggio 4: eseguire l'app di esempio e confermare l'account

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

  1. Nella nuova finestra Terminale digitare cd ~/Desktop/alexa-avs-sample-app/samples e premere Invio.
  2. Digita cd javaclient && mvn exec:exec e premi Invio.
  3. Apparirà una finestra che ti chiederà di autenticare il tuo dispositivo. Fai 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. Non fare ancora clic su questo.
  4. Accedi al tuo account Amazon nel browser.
  5. Vedrai una schermata di autenticazione per il tuo dispositivo. Fai clic su OK. Il browser ora visualizzerà "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. Lasciare aperta questa finestra del Terminale.

Passaggio 5: avviare il motore di Word Wake

Infine, apri una terza finestra Terminale (File> Nuova finestra). Qui, inizierai il motore delle parole di riattivazione. Questo lo rende così puoi dire "Alexa" per far iniziare il tuo Raspberry Pi ad ascoltarti. Sono disponibili due opzioni per il software Wake Word, Sensory 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 eco fai-da-te è ora in esecuzione. Vai avanti e provalo dicendo "Alexa". Dovresti sentire un segnale acustico che indica che sta ascoltando. Quando senti quel segnale acustico, fai una domanda del tipo: "Che tempo fa?" O "Qual è il punteggio nel gioco Dodgers?"

Passaggio 6: migliora il microfono e assicurati che il tuo eco possa ascoltarti

Infine, a seconda della qualità del microfono, potresti notare che ha problemi ad ascoltarti. Invece di urlare "Alexa" nella parte superiore dei polmoni, andiamo alla riga di comando un'ultima volta.

  1. Dalla riga di comando, digitare alsamixer e premere Invio.
  2. Toccare F6 per selezionare un altro dispositivo USB. Utilizzare 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. Digitare sudo alsactl store e premere Invio per rendere permanenti le impostazioni.

Ora dovresti essere in grado di innescare il tuo eco fai-da-te parlando con esso 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 DIY Echo nella versione commerciale è la capacità di funzionare come un altoparlante Bluetooth. Puoi aggiungere funzionalità simili con AirPlay. In questo modo, Echo funge anche da ricevitore a cui è possibile inviare musica dal telefono o dal computer. È facile da aggiungere, ti basta un ultimo viaggio alla riga di comando tramite il Terminale:

  1. Digitare 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 premere 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 //github.com/njh/perl-net-sdp.git e premi Invio. Ciò è necessario per la versione più recente del software AirPlay. I prossimi comandi compilano e installano questo software.
  4. Digita cd perl-net-sdp e premi Invio.
  5. Digitare perl Build.PL e premere Invio.
  6. Digitare sudo ./Build e premere Invio.
  7. Digitare sudo ./Build test e premere Invio.
  8. Digita sudo ./Build install e premi Invio.
  9. Digita il CD .. e premi Invio.
  10. Ora prendi shairport, il software dell'aeroporto fai-da-te. Digita git clone //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 trasmettere musica o altro audio al tuo eco fai-da-te usando il protocollo AirPlay. Ora che Echo è attivo e funzionante, vai avanti e inizia a giocarci.