interessant

Slik bygger du ditt eget Amazon-ekko med en bringebærpi

Amazon Echo er nyttig å ha i hjemmet. Den kan spille podcaster, ta påminnelser og notater, fortelle deg lengden på pendlingen din, til og med kontrollere andre apparater i huset ditt. Men til priser fra $ 50 til $ 150, er det et dyrt forslag hvis du ikke er sikker på at du vil bruke den. Gode ​​nyheter, men du kan lage en fullt funksjonell ved å bruke en Raspberry Pi.

Oppdatering : Denne metoden er litt enklere og gir deg et bedre sluttprodukt. Vi overlater denne guiden siden den bruker Amazons offisielle depoter, men systemet fungerer mye bedre.

Hva du får

Mot slutten av denne guiden har du en (nesten) fullt fungerende Amazon Echo som svarer på stemmekommandoene dine. Den ene tingen det ikke kan gjøre er å få tilgang til musikktjenester som Amazon Prime, Spotify eller Pandora. Ellers er det et ekko med alle klokkene og fløytene til Alexa, Amazons virtuelle assistent. Noe som betyr at det kan gjøre enhetskonverteringer, sjekke sportsresultater, lese Kindle-bøkene dine for deg, sjekke været, spille podcaster og radio og mange flere. Når du er ferdig, vil du kunne bruke Alexa-ledsager-appen (iOS og Android) til å endre Alexa-innstillingene, og du vil kunne installere alle de samme ferdighetene du kan i et ekte ekko. Dette inkluderer slike som Batman velger ditt eget eventyrspill eller en database med kattefakta. Kanskje i den mer nyttige enden, inkluderer det de nylig annonserte integrasjonene med tredjeparts gjør-apper som Todoist og Any.do.

Den vil også fungere med en rekke tilkoblede enheter som smarte lyspærer fra slike som LIFX eller Nest-termostaten, slik at du kan kontrollere dem med stemmen din. Som den ekte Echo, kan DIY-ekkoet ditt kobles opp til If This Then That for å legge til flere funksjoner, som å legge til to-dos til Evernote eller for å få en varsel på telefonen din når tidtakeren går.

Når det gjelder pris, er det en ting vi bør nevne her: Amazons nyeste Echo Dot (den mindre Echo med en useriøs høyttaler) er bare $ 50, noe som gjør det å lage din egen fra $ 35 Raspberry Pi til en mye vanskeligere salg. Imidlertid er det en sentral funksjon i Raspberry Pi som gjør det hele verdt: Dette prosjektet installerer bare et sett programmer som lar Raspberry Pi fungere som et ekko. Raspberry Pi-enheten din kan fremdeles fungere med en rekke andre prosjekter, for eksempel en retro-spillstasjon (du trenger bare å installere skrivebordsmiljøet) eller et mediesenter. Dette betyr at du kan gjøre det om til en multitaskingsmaskin.

Hva du trenger

Som du forventer, trenger du en Raspberry Pi ved siden av en håndfull deler:

  • En Raspberry Pi 3 (anbefalt) eller Raspberry Pi 2 (du trenger også en USB Wi-FI-adapter med Model 2) med Raspbian installert. Hvis du ikke har installert Raspbian før, dekker guiden vår alt du trenger å vite.
  • En MicroUSB strømkabel
  • Et 8 GB MicroSD-kort
  • En USB-mikrofon (jeg brukte denne billige $ 6 mic, men ganske mye alle USB-mikrofoner ser ut til å fungere. $ 8 Playstation Eye ser ut til å fungere spesielt bra hvis du leter etter en liten oppgradering)
  • Høyttalere (hvilken som helst drevet høyttaler gjør jobben, jeg bestemte meg for å bruke en UE Mini Boom fordi jeg allerede eide den, og selv når den er koblet til Pi, fungerer den fortsatt som en Bluetooth-høyttaler)
  • Et tastatur og mus for oppsett (eller tilgang til en datamaskin med VNC)

Det er teoretisk mulig å bruke en eldre Raspberry Pi eller en Raspberry Pi Zero for dette prosjektet, men du må installere den nyeste versjonen av Java manuelt for å gjøre det. Denne tråden på GitHub kan hjelpe. Vi testet imidlertid dette på Raspberry Pi 2 og 3.

Du bygger ditt DIY Echo ved å installere Amazon Alexa Skills Kit på Raspberry Pi. For denne guiden bruker vi Amazons offisielle kode. Dette kommer imidlertid med ett forbehold: det krever at du manuelt starter Alexa-tjenesten. Det er irriterende, men forutsatt at du ikke mister kraften mye eller trenger å starte Pi-en veldig ofte, er det bare litt irriterende.

Trinn én: Registrer deg for en Amazon Developer Account

Før du gjør noe, må du registrere deg for en gratis Amazon Developer-konto og deretter opprette en profil for DIY Echo. Dette er ganske greit:

  1. Logg inn på Amazon Developer Account.
  2. Klikk på Alexa-fanen.
  3. Klikk på Registrer en produkttype> Enhet.
  4. Gi enhetstype og visningsnavn navn (Vi valgte "Raspberry Pi" for begge).
  5. Klikk Neste.
  6. På "Opprett ny profil" på skjermbildet Sikkerhetsprofil.
  7. I kategorien Generelt gir du profilen din ved siden av “Sikkerhetsprofilnavn”. Gjør det samme for beskrivelsen. Klikk Neste.
  8. Noter produkt-ID, klient-ID og klienthemmelighet som nettstedet genererer for deg.
  9. Klikk kategorien Nettinnstillinger, og klikk deretter Rediger-knappen ved siden av profilen.
  10. Ved siden av Tillatte opprinnelser, klikk på "Legg til en annen" og skriv inn: //localhost:3000 .
  11. Ved siden av tillatte //localhost:3000/authresponse, klikker du på "Legg til en annen" og skriver inn: //localhost:3000/authresponse Klikk på Neste når du er ferdig.
  12. Fanen Enhetsdetaljer er neste. Det har ikke så mye å si hva du legger inn her. Velg en kategori, skriv en beskrivelse, velg en forventet tidslinje og skriv inn en 0 på skjemaet ved siden av hvor mange enheter du planlegger å bruke denne på. Klikk Neste.
  13. Endelig kan du velge å legge til Amazon Music her. Dette fungerer ikke på den Pi-drevne enheten, så la den være merket som "Nei." Klikk på Lagre.

Nå har du en Amazon Developer-konto, og du har opprettet en profil for ditt Pi-drevne ekko. Det er på tide å ta turen til Raspberry Pi og få Alexa til å fungere.

Trinn to: Klone og installer Alexa

Plugg alt til din Pi og start det opp. Du må være i det grafiske brukergrensesnittet (nå kalt PIXEL) for dette fordi du til slutt bruker en nettleser til å autentisere enheten din.

  1. Åpne Terminal-applikasjonen på Raspberry Pi og skriv: cd Desktop og trykk Enter.
  2. Skriv inn git clone //github.com/alexa/alexa-avs-sample-app.git og trykk Enter.

  3. Når det er fullført, skriver du inn: cd ~/Desktop/alexa-avs-sample-app og trykker Enter.
  4. Skriv inn nano automated_install.sh og trykk Enter.
  5. Dette trekker opp tekstredigereren. Her må du legge inn ProductID, ClientID og ClientSecret som du noterer i trinnet ovenfor. Bruk piltastene for å navigere til hver oppføring. Skriv inn hver detalj etter = -tegnet som angitt på bildet over. Når du er ferdig, trykker du på CTRL + X for å lagre og avslutte.
  6. Du er nå tilbake på kommandolinjen. Det er på tide å kjøre installasjonsskriptet. Skriv inn cd ~/Desktop/alexa-avs-sample-app og trykk Enter.
  7. Skriv inn . automated_install.sh . automated_install.sh og trykk Enter.
  8. Når du blir bedt om det, trykker du på Y for de forskjellige spørsmålene, og svarer som du synes passer for resten. Dette vil konfigurere din Pi og installere litt ekstra programvare. Dette kan ta opptil 30 minutter, så bare la det gjøre det.

Når det er slutt, er det på tide å starte Alexa-tjenesten.

Trinn tre: Kjør Alexa Web Service

Deretter skal du kjøre tre sett med kommandoer samtidig i tre forskjellige terminalvinduer. Du oppretter et nytt terminalvindu for hvert av følgende trinn. Ikke lukk noen vinduer! Du må gjøre trinn tre (denne, ) fire og fem hver gang du starter Raspberry Pi på nytt.

Den første du starter er Alexa Web Service:

  1. Skriv inn cd ~/Desktop/alexa-avs-sample-app/samples og trykk Enter.
  2. Skriv inn cd companionService && npm start og trykk Enter.

Dette starter følgesvennstjenesten og åpner en port for å kommunisere med Amazon. La dette vinduet være åpent.

Trinn fire: Kjør prøveappen og bekreft kontoen din

Åpne et nytt terminalvindu (Fil> Nytt vindu). Dette neste trinnet kjører en Java-app og lanserer en nettleser som registrerer din Pi-drevne ekko med Alexa-nettjenesten.

  1. Skriv inn cd ~/Desktop/alexa-avs-sample-app/samples i det nye terminalvinduet ditt, og trykk Enter.
  2. Skriv inn cd javaclient && mvn exec:exec og trykk Enter.
  3. Et vindu dukker opp og ber deg om å autentisere enheten din. Klikk Ja. Dette åpner et nettleservindu. En annen pop-up vises i Java-appen som ber deg om å klikke OK. Ikke klikk på dette ennå.
  4. Logg på Amazon-kontoen din i nettleseren.
  5. Du vil se et autentiseringsskjermbilde for enheten din. Klikk OK. Nettleseren din vil nå vise "enhetstokener klare."
  6. Du kan nå Klikk på lokalmenyen Ok i Java-appen.

Nå har Raspberry Pi dine de nødvendige symbolene for å kommunisere med Amazons server. La dette terminalvinduet være åpent.

Trinn fem: Start din Wake Word-motor

Til slutt åpner du et tredje terminalvindu (Fil> Nytt vindu). Her starter du våkne ordmotoren. Dette gjør det slik at du kan si "Alexa" for å få Raspberry Pi til å begynne å lytte til deg. Du har to alternativer for wake word-programvare, Sensory og KITT.AI. Begge er gratis, men Sensory går ut etter 90 dager, så la oss bruke KITT i stedet:

  1. Skriv inn cd ~/Desktop/alexa-avs-sample-app/samples og trykk Enter.
  2. Skriv inn cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

Det er det, DIY Echo kjører nå. Gå frem og prøv det med å si "Alexa." Du bør høre et pip som indikerer at det hører på. Når du hører det pipetonen, kan du stille et spørsmål som "Hva er været?" Eller "Hva er poengsummen i Dodgers-spillet?"

Trinn seks: Forbedre mikrofonen og sørg for at ekkoet ditt kan høre deg

Til slutt, avhengig av kvaliteten på mikrofonen din, kan du legge merke til at den har problemer med å høre deg. I stedet for å skrike “Alexa” øverst i lungene, la oss gå til kommandolinjen en siste gang.

  1. Skriv inn alsamixer og trykk Enter.
  2. Trykk på F6 for å velge en annen USB-enhet. Bruk piltastene for å velge mikrofonen din.
  3. Bruk piltastene for å øke fangstvolumet.
  4. Når du er fornøyd med volumet, trykker du på ESC for å avslutte.
  5. Skriv inn sudo alsactl store og trykk Enter for å gjøre innstillingene permanente.

Nå, bør du være i stand til å utløse din DIY Echo ved å snakke med den som et normalt menneske i stedet for å skrike. Du kan også endre standardvolumet her hvis du trenger det.

Ekstra kreditt: Legg til AirPlay-støtte

En ting din DIY Echo mangler i den kommersielle versjonen er muligheten til å fungere som en Bluetooth-høyttaler. Du kan legge til lignende funksjonalitet med AirPlay. På denne måten fungerer Echo også som en mottaker som du kan sende musikk fra telefonen eller datamaskinen til. Det er enkelt å legge til, du trenger bare en siste tur til kommandolinjen gjennom terminalen:

  1. Skriv inn sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl og trykk Enter. Dette installerer annen programvare du trenger.
  2. Trykk Y når du blir bedt om det, og vent til alt skal lastes ned og installeres.
  3. Skriv inn git clone //github.com/njh/perl-net-sdp.git og trykk Enter. Dette er nødvendig for den nyeste versjonen av AirPlays programvare. De neste kommandoene bygger og installerer denne programvaren.
  4. Skriv inn cd perl-net-sdp og trykk Enter.
  5. Skriv inn perl Build.PL og trykk Enter.
  6. Skriv inn sudo ./Build og trykk Enter.
  7. Skriv inn sudo ./Build test og trykk Enter.
  8. Skriv inn sudo ./Build install og trykk Enter.
  9. Skriv inn CD .. og trykk Enter.
  10. Nå tar du tak i shairport, DIY Airport-programvaren. Skriv inn git clone //github.com/hendrikw82/shairport.git og trykk Enter.

  11. Skriv inn cd shairport og trykk Enter.
  12. Skriv inn make og trykk Enter.
  13. Skriv inn ./shairport.pl -a AlexaPi og trykk Enter.

Med det kan du nå streame musikk eller annen lyd til DIY Echo ved hjelp av AirPlay-protokollen. Nå som ekkoet ditt er i gang, kan du begynne å leke med det.