- Hårdvarukrav
- Konfigurera Google API för Raspberry Pi Google Assistant
- Konfigurera Google Assistant för Raspberry Pi Google Home
- Auktoriserar Raspberry Pi för Google Assistant
- Använda Google Assistant på Raspberry Pi
Har du någonsin tänkt på en högtalare som kan styras av din röst !!! Ja, Amazon Echo är en av de mest populära röststyrda högtalarna, men i konkurrens med det blir Google Home också populärt. Röstassistenter blir mer populära när vi går mot en era av AI-baserade system. Du har hört talas om Google Assistant, Apple Siri och Amazon Alexa. Dessa är alla röstbaserade AI-system, det som gör att dessa skiljer sig från varandra är deras ekosystem, och det är här Google Assistant sticker ut mest. Google, Apple och Amazon, alla dessa företag lanserade redan sina smarta högtalare. Googles smarta högtalare finns också på marknaden. Vi har redan täckt Raspberry Pi-baserade Amazon Echo, den här gången kommer vi att göra Raspberry Pi till en Google Home Speaker.
Google tillhandahåller API för att använda sin rösttjänst, som är öppen källkod och tillgänglig på Github. Med Googles rösttjänst kan vi spela musik, få information om vädret, boka biljetter och många fler. Allt du behöver göra är att fråga. I den här guiden, låt oss se hur man bygger en röststyrd smart högtalare med hjälp av Google-assistent och Raspberry Pi.
Hårdvarukrav
- Raspberry Pi 3 eller Raspberry Pi 2 modell B och SD-kort (8 GB eller mer)
- Extern högtalare med 3,5 mm AUX-kabel
- Alla webbkameror eller USB 2.0-mikrofoner
Vi antar också att din Raspberry pi redan är konfigurerad med ett Raspbian OS och är ansluten till internet. Med dessa på plats, låt oss fortsätta med handledningen. Om du är ny på Raspberry Pi, gå igenom Komma igång med Raspberry pi först.
Obs! Webbkameran har inbyggd mikrofon, så vi använder den istället för USB 2.0-mikrofon.
Du behöver också ett tangentbord, en mus och en bildskärm för att ansluta hallon pi med en HDMI-kabel.
Kontrollera webbkameramikrofon med Raspberry Pi:
1. Öppna Raspberry Pi-terminalen och skriv arecord -l- kommandot. Detta visar hårdvaruenheterna som är anslutna till Raspberry Pi enligt nedan:
Kort 1 är din webbkameras mikrofon som vi ska använda. Om den inte visas kan din webbkamera vara defekt.
2. Kontrollera nu om mikrofonen fungerar genom att köra inspelningsljudkommandot som:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. För att spela det inspelade ljudet, skriv detta kommando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Om du har anslutit Raspberry Pi med bildskärm med hjälp av HDMI-kabel kommer ljudutgången som standard via skärmens högtalare (om det finns en inbyggd högtalare i den). Så för att ändra den till 3,5 mm måste du skriva följande kommando:
sudo raspi-config och gå till alternativet Advance.
Välj ljud från listan -> välj Force 3.5mm -> välj Ok och starta om Raspberry Pi.
Nu borde du höra ljudet från 3,5 mm-uttaget.
OBS: Om du vill öka eller minska den ingående röststyrkan för mikrofon, skriv in typen som mixer i terminalen. Välj ljudkort från terminalen genom att trycka på F6.
Tryck på F4 för att ändra Mic dB-förstärkningen och ställ in den som du vill.
Om du har en USB 2.0-mikrofon är stegen som följs samma för att kontrollera mikrofonen. Här har vi använt webbkamera för USB-mikrofon.
Konfigurera Google API för Raspberry Pi Google Assistant
1. Först måste vi registrera och skapa ett projekt på instrumentpanelen för Google Console Actions.
2. När du har loggat in på ditt Google-konto ser du följande fönster.
Klicka på Lägg till / importera projekt .
3. På nästa skärm måste du ange projektnamnet och klicka på Skapa projekt .
4. Gå nu till Googles utvecklarkonsol på den nya fliken och sök efter Google Assistant API. Innan du fortsätter och trycker på knappen Aktivera, se till att du har valt ditt projekt. Klicka sedan på Aktivera.
5. Öppna nu föregående flik på Google-konsolen och bläddra ner till botten av skärmen.
Du hittar ett alternativ Enhetsregistrering , klicka på det.
6. Klicka på Registrera modell på nästa skärm. Efter detta måste du ställa in ett produktnamn, tillverkarens namn och ange en enhetstyp. Dessa namn kan vara vad du vill.
Skriv ner enhetsmodell-id, eftersom vi behöver detta senare i processen.
Klicka nu på Registrera modell .
7. Nästa skärm är för nedladdningsuppgifter. För att få den här referensfilen klickar du på Ladda ner OAuth 2.0-referenser . Den här filen är mycket viktig, så håll den säker.
Klicka nu på Nästa.
8. Du kan välja alla egenskaper som du behöver, men i vårt fall behöver vi inga av dessa så vi klickade bara på Skip- knappen som visas nedan .
9. När allt är klart kommer du att ha följande skärm.
10. Gå nu till sidan Aktivitetskontroller. Här måste du aktivera följande aktivitetskontroller för att säkerställa att Google Assistant API fungerar bra.
Webb- och appaktivitet, platshistorik, enhetsinformation, röst- och ljudaktivitet
11. Återigen, gå till Googles utvecklarkonsol. Klicka på referenser till vänster på instrumentpanelen. Klicka på OAuth-samtyckskärmen.
12. Fyll ditt Gmail-id och valfritt namn till produktnamnet och spara det.
Nu har vi gjort med Google API-installationen.
Konfigurera Google Assistant för Raspberry Pi Google Home
Observera att från och med denna del och framåt kommer du att behöva slutföra självstudien på Raspbian-skrivbordet direkt och inte över SSH, eftersom du måste använda den inbyggda webbläsaren.
1. Uppdatera först Raspberry Pi: s paketlista med följande kommando
sudo apt-get uppdatering
2. Nu skapar vi en fil där vi kan lagra referenser vi laddade ner tidigare. För detta kör du följande två kommandon
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. I den här filen måste du kopiera innehållet i referensfilen som vi laddade ner. Öppna.json-filen i din favorittextredigerare och tryck på ctrl + A och sedan ctrl + C för att kopiera innehållet.
När du har kopierat innehållet sparar du filen genom att trycka på Ctrl + X och sedan Y och sedan slutligen trycka på Enter.
4. Efter att ha sparat referensfilen börjar vi installera några av de beroenden som krävs för att köra Google-assistenten.
Kör följande kommando för att installera Python3 och Python 3 Virtual Environment till vår RPi.
sudo apt-get install python3-dev python3-venv
5. Aktivera nu python3 som vår virtuella miljö med följande kommando
python3 -m venv env
6. Installera de senaste versionerna av pip och installationsverktygen. Kör följande kommando för att få uppdateringen
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. För att komma in i pythonmiljön måste vi köra det här kommandot
source env/bin/activate
8. Nu installerar vi Google Assistant Library, kör följande kommandon en efter en för att få det uppdaterade biblioteket
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Nu har vi installerat alla nödvändiga beroenden och bibliotek.
Auktoriserar Raspberry Pi för Google Assistant
1. Vi installerar först Googles auktoriseringsverktyg i vårt Raspberry pi genom att utföra följande kommando
python -m pip install - uppgradera google-auth-oauthlib
2. Nu måste vi köra Googles autentiseringsbibliotek. Kör det här kommandot för att köra 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
Detta kommando genererar en URL, kopierar denna URL och klistrar in den i din webbläsare.
3. Logga in på ditt Google-konto i webbläsaren, om du bara har flera konton väljer du det du konfigurerade din API-nyckel med.
Efter inloggning ser du en lång autentiseringskod. Kopiera den här koden och klistra in den i terminalfönstret och tryck på enter. Om autentiseringen är verifierad bör du se följande rad visas på kommandoraden som visas i bilden ovan:
referenser sparade: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Våra autentiseringsuppgifter verifieras nu, men Google vill fortfarande verifiera via en pop-display. Men vår pop-up blockeras av CORS (resursdelning mellan källor), så inaktivera först den här saken med kommandot nedan.
För att använda det här kommandot, se till att din kromwebbläsare är stängd och öppna nu ett nytt terminalfönster och skriv kommandot. Detta kommando startar kromwebbläsaren med CORS-säkerhet inaktiverad, surfa inte på internet med den här inaktiverad.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Efter att webbläsaren har öppnats, gå till föregående terminalfönster där du har konfigurerat Google-assistentprovet.
5. Kör nu följande kommando för första gången du startar Google-assistenten. I detta kommando ersätt
Om du har glömt projekt-ID, gå till Actions Console på Google, klicka på projektet du skapade och klicka sedan på kugghjulsikonen längst upp till vänster och sedan på Project Settings.
Byt också ut
googlesamples-assistant-pushtotalk --project-id
Detta kommando startar en ny flik i Chromium-webbläsaren.
6. Tryck nu på Enter i terminalfönstret för att utlösa det och ställa frågor.
När du ställde den första frågan kan skärmen nedan visas i webbläsaren. Klicka på Fortsätt -> Jag förstår -> Tillåt.
Om denna Fortsätt- skärm inte visas är inget problem.
7. Nu kan vi använda push-to-talk Google Assistant-exempel och få ett svar på utdata.
När du trycker på Enter i terminalen och talar en åtgärd bör du höra ett verbalt svar och en annan flik öppnas också och visar den åtgärd du just ringde till.
Du kan inaktivera öppningen av fliken genom att ta bort argumentet –display från kommandot. Vi behövde detta för att få auktoriseringsskärmen.
Använda Google Assistant på Raspberry Pi
Vi har godkänt vår Raspberry Pi. När du vill starta Google-assistent, kom bara i miljön och följ stegen nedan.
1. Kör följande kommando vid komma in i miljön
källa env / bin / aktivera
Du kommer att se (env) visas längst fram på varje rad.
2. Kör följande kommando för att starta push to talk-exemplet
googlesamples-assistant-pushtotalk
Den här gången behöver vi inte produkt-id och enhets-id.
3. Förutom push-to-talk-funktionen kan du också utlösa Google-assistenten genom att säga Ok Google. För detta måste du ange ett ogiltigt enhets-ID för att det ska fungera. Fel enhets-id kan vara ungefär som aaaa, abcd.
Kör nu följande kommando.
googlesamples-assistant-hotword --device-model-id
Nu kan du fråga vad som helst med en helt egen Google-assistent, säg bara Ok Google.
Så det här är hur vi kan installera Google Assistant på Raspberry Pi och kan göra det till ett Google-hem genom att ansluta en högtalare och mikrofon till den.