- Maskinvarekrav
- Sette opp Google API for Raspberry Pi Google Assistant
- Sette opp Google Assistant for Raspberry Pi Google Home
- Autoriserer Raspberry Pi for Google Assistant
- Bruker Google Assistant på Raspberry Pi
Har du noen gang tenkt på en høyttaler som kan styres av stemmen din !!! Ja, Amazon Echo er en av de mest populære stemmekontrollerte høyttalerne, men i konkurranse med det blir Google Home også populært. Stemmeassistenter blir mer populære når vi går mot en tid med AI-baserte systemer. Du har hørt om Google Assistant, Apple Siri og Amazon Alexa. Alt dette er stemmebaserte AI-systemer. Det som skiller disse fra hverandre er deres økosystemer, og det er her Google Assistant skiller seg ut mest. Google, Apple og Amazon, alle disse selskapene lanserte allerede sine smarte høyttalere. Googles smarte høyttalere er også tilgjengelig i markedet. Vi har allerede dekket Raspberry Pi-basert Amazon Echo, denne gangen vil vi gjøre Raspberry Pi til en Google Home Speaker.
Google tilbyr API for å bruke stemmetjenesten, som er åpen kildekode og tilgjengelig på Github. Ved hjelp av Googles stemmetjeneste kan vi spille musikk, få informasjon om været, bestille billetter og mange flere. Alt du trenger å gjøre er å spørre. I denne opplæringen, la oss se hvordan du bygger en stemmestyrt smarthøyttaler ved hjelp av Google-assistent og Raspberry Pi.
Maskinvarekrav
- Raspberry Pi 3 eller Raspberry Pi 2 Model B og SD-kort (8 GB eller mer)
- Ekstern høyttaler med 3,5 mm AUX-kabel
- Ethvert webkamera eller USB 2.0-mikrofon
Vi antar også at Raspberry pi allerede er konfigurert med et Raspbian OS og er koblet til internett. Med disse på plass, la oss fortsette med opplæringen. Hvis du er ny i Raspberry Pi, så gå gjennom Komme i gang med Raspberry pi først.
Merk: Webkamera har innebygd mikrofon, så vi bruker dette i stedet for USB 2.0-mikrofon.
Du trenger også et tastatur, en mus og en skjerm for å koble raspberry pi ved hjelp av HDMI-kabel.
Kontrollere mikrofon med Raspberry Pi:
1. Åpne Raspberry Pi terminal og skriv arecord -l kommando. Dette viser maskinvareenhetene som er koblet til Raspberry Pi som vist nedenfor:
Kort 1 er mikrofonen til webkameraet ditt som vi skal bruke. Hvis det ikke vises, kan webkameraet være defekt.
2. Sjekk nå om mikrofonen fungerer ved å kjøre lydkommandoen som:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. For å spille av den innspilte lyden skriver du denne kommandoen:
omxplayer -p -o local /home/pi/Desktop/test.wav
Hvis du har koblet Raspberry Pi til skjermen ved hjelp av HDMI-kabel, er lydutgangen som standard gjennom skjermens høyttaler (hvis det er innebygd høyttaler i den). Så, for å endre den til 3,5 mm, må du skrive følgende kommando:
sudo raspi-config og gå til Advance-alternativet.
Velg Audio fra listen -> velg Force 3.5mm -> velg Ok og start Raspberry Pi på nytt.
Nå skal du høre lyden fra 3,5 mm-kontakten.
MERKNAD: Hvis du vil øke eller redusere lydstyrken for inngangen til mikrofonen, kan du også bruke mikseren som terminal. Velg lydkort fra terminalen ved å trykke på F6.
Trykk på F4 for å endre Mic dB-forsterkningen og sette den slik du vil.
Hvis du har USB 2.0-mikrofon, er trinnene som følges de samme for å sjekke mikrofonen. Her har vi brukt Webcam til USB-mikrofon.
Sette opp Google API for Raspberry Pi Google Assistant
1. Først må vi registrere og sette opp et prosjekt på dashbordet for Google Console Actions.
2. Etter at du har logget på Google-kontoen din, ser du følgende vindu.
Klikk på Legg til / importer prosjekt .
3. På neste skjermbilde må du skrive inn prosjektnavnet og klikke på Opprett prosjekt .
4. Gå nå til Googles utviklerkonsoll i den nye fanen, og søk etter Google Assistant API. Før du fortsetter og trykker på Aktiver- knappen, må du kontrollere at du har valgt prosjektet. Klikk deretter på Aktiver.
5. Åpne den forrige fanen i Google-konsollen, og bla ned til bunnen av skjermen.
Du finner et alternativ Enhetsregistrering , klikk på det.
6. Klikk på Registrer modell på neste skjerm. Etter dette må du angi et produktnavn, produsentnavn og angi en enhetstype. Disse navnene kan være hva du vil.
Skriv ned enhetsmodell-IDen, da vi trenger dette senere i prosessen.
Klikk nå på Registrer modell .
7. Neste skjermbilde vil være for nedlasting av legitimasjon. For å få denne legitimasjonsfilen, klikk på Last ned OAuth 2.0-legitimasjonen . Denne filen er veldig viktig, så hold den et trygt sted.
Klikk nå på Neste.
8. Du kan velge hvilke egenskaper du trenger, men i vårt tilfelle trenger vi ingen av disse, så vi bare klikket på Skip- knappen som vist nedenfor .
9. Når alt er gjort, vil du ha følgende skjermbilde.
10. Gå nå til siden Aktivitetskontroll. Her må du aktivere følgende aktivitetskontroller for å sikre at Google Assistant API fungerer bra.
Nett- og appaktivitet, posisjonslogg, enhetsinformasjon, tale- og lydaktivitet
11. Gå igjen til Googles utviklerkonsoll. Klikk på legitimasjon på venstre side av dashbordet. Klikk på OAuth-samtykke-skjermen.
12. Fyll Gmail-ID-en din og hvilket som helst navn til produktnavnet, og lagre den.
Nå er vi ferdig med Google API-oppsettet.
Sette opp Google Assistant for Raspberry Pi Google Home
Vær oppmerksom på fra og med denne delen vil du bli bedt om å fullføre opplæringen på Raspbian-skrivebordet direkte og ikke over SSH, dette er fordi du må bruke den innebygde nettleseren.
1. Oppdater først Raspberry Pi-pakkelisten ved å bruke følgende kommando
sudo apt-get oppdatering
2. Nå skal vi lage en fil der vi kan lagre legitimasjonen vi lastet ned tidligere. Kjør følgende to kommandoer for dette
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. I denne filen må du kopiere innholdet i legitimasjonsfilen som vi lastet ned. Åpne.json-filen i favoritt teksteditoren din og trykk ctrl + A og deretter ctrl + C for å kopiere innholdet.
Etter at du har kopiert innholdet, lagrer du filen ved å trykke Ctrl + X og deretter Y og deretter til slutt trykke Enter.
4. Etter å ha lagret legitimasjonsfilen, begynner vi å installere noen avhengighetene som kreves for å kjøre Google-assistenten.
Kjør følgende kommando for å installere Python3 og Python 3 Virtual Environment til vår RPi.
sudo apt-get install python3-dev python3-venv
5. Aktiver nå python3 som vårt virtuelle miljø ved hjelp av følgende kommando
python3 -m venv env
6. Installer de nyeste versjonene av pip og setuptools. Kjør følgende kommando for å få oppdateringen
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. For å komme inn i python-miljøet, må vi kjøre denne kommandoen
source env/bin/activate
8. Nå skal vi installere Google Assistant Library, kjøre følgende kommandoer en for en for å få det oppdaterte biblioteket
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Nå er vi ferdig med å installere alle nødvendige avhengigheter og biblioteker.
Autoriserer Raspberry Pi for Google Assistant
1. Vi installerer først Googles autorisasjonsverktøy på Raspberry pi ved å utføre følgende kommando
python -m pip install - oppgrader google-auth-oauthlib
2. Nå må vi kjøre Google Authentication-biblioteket. Utfør denne kommandoen for å kjøre biblioteket.
google-oauthlib-tool --client-secrets ~ / googleassistant / credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https: //www.googleapis. com / auth / gcm \ --save –headless
Denne kommandoen vil generere en URL, kopiere denne URLen og lime den inn i nettleseren din.
3. Logg inn på Google-kontoen din i nettleseren, hvis du bare har flere kontoer, velger du den du konfigurerte API-nøkkelen med.
Etter pålogging vil du se en lang autentiseringskode. Kopier denne koden og lim den inn i terminalvinduet og trykk enter. Hvis autentiseringen er bekreftet, bør du se følgende linje vises på kommandolinjen som vist på bildet ovenfor:
legitimasjon lagret: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Autentiseringsinformasjonen vår er bekreftet nå, men Google vil fortsatt bekrefte gjennom en pop-skjerm. Men vår pop up er blokkert av CORS (ressursdeling på tvers av opprinnelse), så deaktiver først denne tingen ved hjelp av kommandoen nedenfor.
For å bruke denne kommandoen må du sørge for at kromleseren din er lukket og nå åpner nytt terminalvindu og skriver kommandoen. Denne kommandoen vil starte kromleseren med CORS-sikkerhet deaktivert, ikke surfe på internett med denne deaktivert.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Etter åpningen av nettleseren, gå til forrige terminalvindu der du har konfigurert Googles assistenteksempel.
5. Kjør nå følgende kommando for første gang lansering av Google-assistent. I denne kommandoen erstatt
Hvis du har glemt prosjekt-ID, går du til Actions Console på Google, klikker på prosjektet du opprettet, og deretter klikker du på tannhjulikonet øverst til venstre og deretter Project Settings.
Bytt også ut
googlesamples-assistant-pushtotalk --project-id
Denne kommandoen starter en ny fane i Chromium-nettleseren.
6. Trykk nå Enter i terminalvinduet for å utløse det og stille spørsmål.
Når du spurte det første spørsmålet, kan skjermen nedenfor vises i nettleseren. Klikk på Fortsett -> Jeg forstår -> Tillat.
Hvis dette Fortsett- skjermbildet ikke vises, er det ikke noe problem.
7. Nå kan vi bruke trykk og snakk fra Google Assistant-prøven og få et utgangssvar.
Når du trykker på Enter i terminalen og snakker en handling, bør du høre et verbalt svar, og en annen fane åpnes også for å vise handlingen du nettopp ringte.
Du kan deaktivere åpningen av fanen ved å fjerne –displayargumentet fra kommandoen. Vi trengte dette for å få autorisasjonsskjermen.
Bruker Google Assistant på Raspberry Pi
Vi har autorisert Raspberry Pi. Når du vil starte Google-assistent, er det bare å komme i miljøet og følge trinnene nedenfor.
1. Kjør følgende kommando på kom deg i miljøet
kilde env / bin / aktivere
Du vil se (env) vises foran på hver linje.
2. Kjør følgende kommando for å starte trykk og snakk-prøven
googlesamples-assistant-pushtotalk
Denne gangen trenger vi ikke produkt-ID og enhets-ID.
3. I tillegg til trykk og snakk-funksjonen, kan du også utløse Google-assistenten ved å si Ok Google. For dette må du oppgi en ugyldig enhets-ID for at den skal fungere. Feil enhets-ID kan være alt som aaaa, abcd.
Kjør nå følgende kommando.
googlesamples-assistant-hotword --device-model-id
Nå kan du spørre hva som helst med den helt egen Google-assistenten, bare si Ok Google.
Så dette er hvordan vi kan installere Google Assistant på Raspberry Pi og kan gjøre det om til et Google-hjem ved å koble en høyttaler og mikrofon til det.