- Hardwarekrav
- Opsætning af Google API til Raspberry Pi Google Assistant
- Opsætning af Google Assistant til Raspberry Pi Google Home
- Autorisation af Raspberry Pi til Google Assistent
- Brug af Google Assistant på Raspberry Pi
Har du nogensinde tænkt på en højttaler, der kan styres af din stemme !!! Ja, Amazon Echo er en af de mest populære stemmestyrede højttalere, men i konkurrence med det bliver Google Home også populært. Stemmeassistenter bliver mere populære, da vi er på vej mod en æra med AI-baserede systemer. Du har hørt om Google Assistant, Apple Siri og Amazon Alexa. Disse er alle stemmebaserede AI-systemer, hvad der adskiller disse fra hinanden er deres økosystemer, og det er her Google Assistant skiller sig mest ud. Google, Apple og Amazon, alle disse virksomheder lancerede allerede deres smarte højttalere. Googles smarte højttalere er også tilgængelige på markedet. Vi har allerede dækket Raspberry Pi-baseret Amazon Echo, denne gang vil vi gøre Raspberry Pi til en Google Home Speaker.
Google leverer API'en til brug af sin stemmetjeneste, som er open source og tilgængelig på Github. Ved hjælp af Googles stemmetjeneste kan vi afspille musik, få oplysninger om vejret, bestille billetter og mange flere. Alt hvad du skal gøre er at spørge. I denne vejledning skal vi se, hvordan man bygger en stemmestyret smart højttaler ved hjælp af Google-assistent og Raspberry Pi.
Hardwarekrav
- Raspberry Pi 3 eller Raspberry Pi 2 Model B og SD-kort (8 GB eller mere)
- Ekstern højttaler med 3,5 mm AUX-kabel
- Ethvert webkamera eller USB 2.0-mikrofon
Vi antager også, at din Raspberry pi allerede er konfigureret med et Raspbian OS og er forbundet til internettet. Med disse på plads lad os fortsætte med vejledningen. Hvis du er ny hos Raspberry Pi, skal du først gennemgå Kom godt i gang med Raspberry pi.
Bemærk: Webcam har indbygget mikrofon, så vi bruger dette i stedet for USB 2.0-mikrofon.
Du har også brug for et tastatur, en mus og en skærm for at forbinde hindbær pi ved hjælp af HDMI-kabel.
Kontrol af webcam-mikrofon med Raspberry Pi:
1. Åbn Raspberry Pi terminal, og skriv arecord -l kommando. Dette viser hardwareenhederne, der er tilsluttet Raspberry Pi, som vist nedenfor:
Kort 1 er dit webkams mikrofon, som vi skal bruge. Hvis det ikke vises, kan dit webcam være defekt.
2. Kontroller nu, om mikrofonen fungerer ved at køre lydkommandoen som:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. For at afspille den optagede lyd skal du skrive denne kommando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Hvis du har tilsluttet Raspberry Pi med en skærm ved hjælp af et HDMI-kabel, er lydudgangen som standard gennem skærmens højttaler (hvis der er indbygget højttaler i den). Så for at ændre det til 3,5 mm skal du skrive følgende kommando:
sudo raspi-config og gå til Avanceret mulighed.
Vælg Audio fra listen -> vælg Force 3.5mm -> vælg Ok, og genstart dig Raspberry Pi.
Nu skal du høre lyden fra 3,5 mm jackstik.
BEMÆRK: Hvis du vil øge eller formindske indgangslydstyrken til mikrofon, skal du også skrive en type mixer i terminalen. Vælg lydkort fra terminalen ved at trykke på F6.
Tryk på F4 for at ændre Mic dB forstærkning og indstil den, som du vil.
Hvis du har USB 2.0-mikrofon, er trinene, der følges, de samme for at kontrollere mikrofonen. Her har vi brugt webkamera til USB-mikrofon.
Opsætning af Google API til Raspberry Pi Google Assistant
1. Først skal vi registrere og oprette et projekt på Google Console Actions-dashboardet.
2. Efter at have logget ind på din Google-konto, vil du se følgende vindue.
Klik på Tilføj / importer projekt .
3. På næste skærmbillede skal du indtaste projektnavnet og klikke på Opret projekt .
4. Gå nu til Googles udviklerkonsol i den nye fane, og søg efter Google Assistant API. Inden du går videre og trykker på knappen Aktivér, skal du sikre dig, at du har valgt dit projekt. Klik derefter på Aktiver.
5. Åbn nu den forrige fane i Google-konsollen, og rul ned til bunden af skærmen.
Du finder en mulighed Enhedsregistrering , klik på den.
6. Klik på Register Model på det næste skærmbillede. Herefter skal du indstille et produktnavn, producentnavn og indstille en enhedstype. Disse navne kan være hvad du vil.
Skriv enhedsmodel-id'en ned, da vi har brug for dette senere i processen.
Klik nu på Registrer model .
7. Næste skærmbillede er for downloadoplysninger. For at få denne legitimationsfil skal du klikke på Download OAuth 2.0-legitimationsoplysninger . Denne fil er meget vigtig, så hold den et sikkert sted.
Klik nu på Næste.
8. Du kan vælge de træk, du har brug for, men i vores tilfælde har vi ikke brug for nogen af disse, så vi klikkede bare på knappen Spring over som vist nedenfor .
9. Når alt er gjort, har du følgende skærmbillede.
10. Gå nu til siden Aktivitetsstyring. Her skal du aktivere følgende aktivitetskontroller for at sikre, at Google Assistant API fungerer fint.
Web- og appaktivitet, placeringshistorik, enhedsoplysninger, tale- og lydaktivitet
11. Gå igen til Google-udviklerkonsollen. Klik på legitimationsoplysninger i venstre side af instrumentbrættet. Klik på skærmbilledet OAuth-samtykke.
12. Udfyld dit Gmail-id og ethvert navn til produktnavnet, og gem det.
Nu er vi færdige med Google API-opsætningen.
Opsætning af Google Assistant til Raspberry Pi Google Home
Bemærk fra denne del og fremefter skal du gennemføre vejledningen på Raspbian-skrivebordet direkte og ikke over SSH, dette er fordi du bliver nødt til at bruge den indbyggede webbrowser.
1. Opdater først Raspberry Pi's pakkeliste ved hjælp af følgende kommando
sudo apt-get opdatering
2. Nu opretter vi en fil, hvor vi kan gemme de legitimationsoplysninger, vi downloadede tidligere. Kør følgende to kommandoer til dette
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. I denne fil skal du kopiere indholdet af den legitimationsfil, vi downloadede. Åbn.json-filen i din yndlings teksteditor, og tryk på ctrl + A og derefter på ctrl + C for at kopiere indholdet.
Når du har kopieret indholdet, skal du gemme filen ved at trykke på Ctrl + X og derefter på Y og derefter til sidst trykke på Enter.
4. Efter at have gemt legitimationsfilen, begynder vi at installere nogle af de afhængigheder, der kræves for at køre Google-assistenten.
Kør følgende kommando for at installere Python3 og Python 3 Virtual Environment til vores RPi.
sudo apt-get install python3-dev python3-venv
5. Aktiver nu python3 som vores virtuelle miljø ved hjælp af følgende kommando
python3 -m venv env
6. Installer de nyeste versioner af pip og installationsværktøjerne. Kør følgende kommando for at få opdateringen
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. For at komme ind i python-miljøet skal vi køre denne kommando
source env/bin/activate
8. Nu installerer vi Google Assistent-biblioteket, kør følgende kommandoer en efter en for at få det opdaterede bibliotek
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Nu er vi færdige med at installere alle de krævede afhængigheder og biblioteker.
Autorisation af Raspberry Pi til Google Assistent
1. Vi installerer først Googles godkendelsesværktøj til vores Raspberry pi ved at udføre følgende kommando
python -m pip install - opgrader google-auth-oauthlib
2. Nu skal vi køre Google Authentication-biblioteket. Udfør denne kommando for at kø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 kommando genererer en URL, kopierer denne URL og indsætter den i din webbrowser.
3. Log ind på din Google-konto i browseren, hvis du kun har flere konti, skal du vælge den, du konfigurerede din API-nøgle med.
Efter login vil du se en lang godkendelseskode. Kopier denne kode og indsæt den i dit terminalvindue, og tryk på enter. Hvis godkendelsen er verificeret, skal du se følgende linje vises på kommandolinjen som vist i ovenstående billede:
legitimationsoplysninger gemt: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Vores godkendelsesoplysninger er bekræftet nu, men Google vil stadig bekræfte via et pop-display. Men vores pop op er blokeret af CORS (ressourcedeling på tværs af oprindelse), så deaktiver først denne ting ved hjælp af nedenstående kommando.
For at bruge denne kommando skal du sørge for, at din chromium-browser er lukket, og åbn nu nyt terminalvindue og skriv kommandoen. Denne kommando starter chromium-browseren med CORS-sikkerhed deaktiveret, og surf ikke på internettet med denne deaktiveret.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Efter åbningen af browseren skal du gå til det forrige terminalvindue, hvor du har konfigureret Google-assistenteksemplet.
5. Kør nu følgende kommando til første gang lancering af Google-assistent. I denne kommando erstattes
Hvis du har glemt projekt-id'et, skal du gå til Handlingskonsol på Google, klikke på det projekt, du oprettede, og derefter klikke på tandhjulsikonet i øverste venstre hjørne og derefter på Projektindstillinger.
Udskift også
googlesamples-assistant-pushtotalk --project-id
Denne kommando starter en ny fane i Chromium-browseren.
6. Tryk nu på Enter i terminalvinduet for at udløse det og stille spørgsmål.
Når du stillede det første spørgsmål, vises nedenstående skærm muligvis i browseren. Klik på Fortsæt -> Jeg forstår -> Tillad.
Hvis dette Fortsæt- skærmbillede ikke vises, er der ikke noget problem.
7. Nu kan vi bruge push-to-talk Google Assistant-prøve og få et outputrespons.
Når du trykker på Enter i terminalen og taler en handling, skal du høre et mundtligt svar, og en anden fane åbnes også med den handling, du lige har ringet til.
Du kan deaktivere åbningen af fanen ved at fjerne argumentet –display fra kommandoen. Vi havde brug for dette for at få autorisationsskærmen.
Brug af Google Assistant på Raspberry Pi
Vi har godkendt vores Raspberry Pi. Når du vil starte Google-assistent, skal du bare komme i miljøet og følge nedenstående trin.
1. Kør følgende kommando ved at komme i miljøet
kilde env / bin / aktivere
Du vil se (env) vises foran hver linje.
2. Kør følgende kommando for at starte tryk og tal-prøven
googlesamples-assistant-pushtotalk
Denne gang har vi ikke brug for produkt-id og enheds-id.
3. Ud over push-to-talk-funktionen kan du også udløse Google-assistenten ved at sige Ok Google. For dette skal du indtaste et ugyldigt enheds-id for at det skal fungere. Forkert enheds-id kan være alt som aaaa, abcd.
Kør nu følgende kommando.
googlesamples-assistant-hotword --device-model-id
Nu kan du spørge hvad som helst med den helt egen Google-assistent, bare sig Ok Google.
Så dette er, hvordan vi kan installere Google Assistant på Raspberry Pi og kan gøre det til et Google-hjem ved at forbinde en højttaler og mikrofon til det.