- Zahteve glede strojne opreme
- Nastavitev Googlovega API-ja za Google Assistant za Raspberry Pi
- Nastavitev Googlovega pomočnika za Raspberry Pi Google Home
- Pooblastitev Raspberry Pi za Google Assistant
- Uporaba Googlovega asistenta na Raspberry Pi
Ste že kdaj pomislili na zvočnik, ki ga lahko nadzirate s svojim glasom !!! Da, Amazon Echo je eden izmed najbolj priljubljenih zvočnikov z glasovnim nadzorom, toda v konkurenci z njim postaja priljubljen tudi Google Home. Glasovni pomočniki postajajo vse bolj priljubljeni, ko gremo v obdobje sistemov, ki temeljijo na umetni inteligenci. Slišali ste za Google Assistant, Apple Siri in Amazon Alexa. Vse to so sistemi z glasovno inteligenco, ki se med seboj razlikujejo, so njihovi ekosistemi in tu Google Assistant najbolj izstopa. Google, Apple in Amazon, vsa ta podjetja so že predstavila svoje pametne zvočnike. Na trgu so na voljo tudi Googlovi pametni zvočniki. Amazon Echo, ki temelji na Raspberry Pi, smo že pokrili, tokrat bomo Raspberry Pi spremenili v Google Home Speaker.
Google ponuja API za uporabo svoje glasovne storitve, ki je odprtokodna in je na voljo na Githubu. Z Googlovo glasovno storitvijo lahko predvajamo glasbo, dobimo informacije o vremenu, rezerviramo vozovnice in še veliko več. Vse, kar morate storiti, je vprašati. V tej vadnici si oglejmo, kako z uporabo Googlovega asistenta in Raspberry Pi zgraditi pametni zvočnik z glasovnim nadzorom.
Zahteve glede strojne opreme
- Raspberry Pi 3 ali Raspberry Pi 2 Model B in kartica SD (8 GB ali več)
- Zunanji zvočnik s 3,5 mm AUX kablom
- Vsaka spletna kamera ali mikrofon USB 2.0
Predvidevamo tudi, da je vaš Raspberry pi že nastavljen z OS Raspbian in je povezan z internetom. Ko so ti nameščeni, nadaljujmo z vadnico. Če ste novi v Raspberry Pi, najprej pojdite skozi Uvod v Raspberry pi.
Opomba: Spletna kamera ima vgrajen mikrofon, zato jo bomo uporabili namesto mikrofona USB 2.0.
Za povezavo maline pi s kablom HDMI potrebujete tudi tipkovnico, miško in monitor.
Preverjanje mikrofona spletne kamere z Raspberry Pi:
1. Odprite terminal Raspberry Pi in vnesite ukaz arecord -l. To bo prikazalo strojne naprave, ki so povezane z Raspberry Pi, kot je prikazano spodaj:
Kartica 1 je mikrofon vaše spletne kamere, ki ga bomo uporabili. Če ni prikazana, je spletna kamera morda okvarjena.
2. Zdaj preverite, ali mikrofon deluje, tako da zaženete ukaz za snemanje zvoka kot:
arecord /home/pi/Desktop/test.wav -D sysdefault: KARTICA = 1
3. Za predvajanje posnetega zvoka vnesite ta ukaz:
omxplayer -p -o local /home/pi/Desktop/test.wav
Če ste Raspberry Pi z monitorjem povezali s kablom HDMI, je privzeto zvočni izhod skozi zvočnik monitorja (če je v njem vgrajen zvočnik). Torej, če ga želite spremeniti na 3,5 mm, morate vnesti naslednji ukaz:
sudo raspi-config in pojdite na možnost Advance.
Na seznamu izberite Zvok -> izberite Force 3.5mm -> izberite Ok in znova zaženite Raspberry Pi.
Zdaj bi morali slišati zvok iz 3,5-milimetrskega priključka.
OPOMBA: Če želite povečati ali zmanjšati glasnost vhodnega glasu za mikrofon, v terminalu vnesite alsamixer . S tipko F6 izberite zvočno kartico s terminala.
Pritisnite F4, da spremenite ojačanje mikrofona dB in ga nastavite, kot želite.
Če imate mikrofon USB 2.0, sledijo enaki koraki za preverjanje mikrofona. Tu smo uporabili spletno kamero za mikrofon USB.
Nastavitev Googlovega API-ja za Google Assistant za Raspberry Pi
1. Najprej se moramo na nadzorni plošči Google Console Actions registrirati in nastaviti projekt.
2. Po prijavi v Google Račun boste videli naslednje okno.
Kliknite Dodaj / uvozi projekt .
3. Na naslednjem zaslonu vnesite ime projekta in kliknite Ustvari projekt .
4. Zdaj pojdite na konzolo za razvijalce Google v novem zavihku in poiščite API za Google Assistant. Preden nadaljujete in pritisnete gumb Omogoči, se prepričajte, da ste izbrali svoj projekt. Nato kliknite Omogoči.
5. Zdaj odprite prejšnji zavihek Googlove konzole in se pomaknite navzdol do dna zaslona.
Našli boste možnost Registracija naprave , kliknite nanjo.
6. Na naslednjem zaslonu kliknite Registracija modela. Po tem, morate določiti ime izdelka, ime proizvajalca in določi vrsto naprave. Ta imena so lahko karkoli želite.
Zapišite si ID modela naprave, saj ga bomo potrebovali kasneje v postopku.
Zdaj kliknite Registriraj model .
7. Naslednji zaslon bo za poverilnice za prenos. Če želite pridobiti to poverilnico, kliknite Prenesi poverilnice OAuth 2.0 . Ta datoteka je zelo pomembna, zato jo hranite nekje na varnem.
Zdaj kliknite Naprej.
8. Izberete lahko vse lastnosti, ki jih potrebujete, vendar v našem primeru ne potrebujemo nobene od teh, zato smo samo kliknili gumb Preskoči, kot je prikazano spodaj .
9. Ko je vse končano, boste imeli naslednji zaslon.
10. Zdaj pojdite na stran Nadzor dejavnosti. Tukaj morate aktivirati naslednje kontrole dejavnosti, da zagotovite, da API za Google Assistant deluje dobro.
Dejavnost v spletu in aplikacijah, Zgodovina lokacij, Informacije o napravi, Glasovna in zvočna dejavnost
11. Ponovno pojdite na Googlovo konzolo za razvijalce. Na levi strani armaturne plošče kliknite Poverilnice. Kliknite zaslon za soglasje OAuth.
12. Vnesite svoj ID za Gmail in poljubno ime v ime izdelka in ga shranite.
Zdaj smo končali z nastavitvijo Google API.
Nastavitev Googlovega pomočnika za Raspberry Pi Google Home
Od tega dela naprej boste morali vadnico na namizju Raspbian izpolniti neposredno in ne prek SSH, saj boste morali uporabljati vgrajeni spletni brskalnik.
1. Najprej posodobite seznam paketov Raspberry Pi z naslednjim ukazom
posodobitev sudo apt-get
2. Zdaj bomo ustvarili datoteko, v katero bomo lahko shranili poverilnice, ki smo jih prej prenesli. Za to zaženite naslednja dva ukaza
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. V tej datoteki morate kopirati vsebino poverilnice, ki smo jo prenesli. Odprite datoteko.json v svojem najljubšem urejevalniku besedil in pritisnite ctrl + A, nato ctrl + C, da kopirate vsebino.
Ko kopirate vsebino, datoteko shranite s pritiskom na Ctrl + X, nato Y in na koncu pritisnite Enter.
4. Po shranjevanju poverilnice bomo začeli nameščati nekatere odvisnosti, potrebne za zagon Googlovega pomočnika.
Zaženite naslednji ukaz, da namestite Python3 in navidezno okolje Python 3 v naš RPi.
sudo apt-get install python3-dev python3-venv
5. Zdaj omogočite python3 kot naše navidezno okolje z naslednjim ukazom
python3 -m venv env
6. Namestite najnovejše različice pip in setuptools. Zaženite naslednji ukaz, da dobite posodobitev
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Če želimo vstopiti v okolje python, moramo zagnati ta ukaz
source env/bin/activate
8. Zdaj bomo namestili knjižnico Google Assistant, za zagonom posodobljene knjižnice zaženite naslednje ukaze
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Zdaj smo končali z namestitvijo vseh zahtevanih odvisnosti in knjižnic.
Pooblastitev Raspberry Pi za Google Assistant
1. Na našo Raspberry pi bomo najprej namestili Googlovo orodje za avtorizacijo z izvajanjem naslednjega ukaza
python -m pip install --upgrade google-auth-oauthlib
2. Zdaj moramo zagnati knjižnico Google Authentication. Izvedite ta ukaz za zagon knjižnice.
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 –headhead
Ta ukaz bo ustvaril URL, ga kopiral in prilepil v spletni brskalnik.
3. V brskalniku se prijavite v svoj Google račun, če imate več računov, izberite samo tistega, s katerim ste nastavili ključ API.
Po prijavi boste videli dolgo kodo za preverjanje pristnosti. Kopirajte to kodo in jo prilepite v okno terminala in pritisnite enter. Če je preverjanje pristnosti preverjeno, se v ukazni vrstici prikaže naslednja vrstica, kot je prikazano na zgornji sliki:
shranjene poverilnice: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Naše poverilnice za preverjanje pristnosti so zdaj preverjene, vendar Google še vedno želi preveriti s pomočjo pojavnega zaslona. Toda naše pojavno okno blokira CORS (skupna raba virov), zato najprej s spodnjim ukazom to stvar onemogočite.
Če želite uporabiti ta ukaz, se prepričajte, da je vaš brskalnik Chrome zaprt in odprite novo okno terminala in vnesite ukaz. S tem ukazom boste zagnali brskalnik Chrome z onemogočeno varnostjo CORS, ne brskajte po internetu s tem onemogočenim.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Po odprtju brskalnika pojdite na prejšnje okno terminala, v katerem ste nastavili vzorec Googlovega pomočnika.
5. Zdaj zaženite naslednji ukaz za prvi zagon Googlovega pomočnika. V tem ukazu zamenjajte
Če ste pozabili ID projekta, pojdite na Google Console v Action Console, kliknite projekt, ki ste ga ustvarili, nato v zgornjem levem kotu kliknite ikono zobnika in nato Project Settings.
Prav tako zamenjajte
googlesamples-assistant-pushtotalk --project-id
Ta ukaz bo odprl nov zavihek v brskalniku Chromium.
6. Zdaj pritisnite Enter v terminalskem oknu, da ga sprožite in postavite kakršno koli vprašanje.
Ko ste postavili prvo vprašanje, se lahko v brskalniku prikaže spodnji zaslon. Kliknite Nadaljuj -> Razumem -> Dovoli.
Če se ta zaslon Nadaljuj ne prikaže, ni težav.
7. Zdaj lahko uporabimo vzorec Googlovega pomočnika push to talk in dobimo izhodni odgovor.
Ko v terminalu pritisnete Enter in izgovorite dejanje, boste zaslišali ustni odgovor in odprl se bo tudi nov zavihek, ki prikazuje dejanje, ki ste ga pravkar poklicali.
Odpiranje zavihka lahko onemogočite tako, da iz ukaza odstranite argument –display. To smo potrebovali, da smo dobili zaslon za avtorizacijo.
Uporaba Googlovega asistenta na Raspberry Pi
Pooblastili smo našo Raspberry Pi. Kadar koli želite zagnati Googlovega pomočnika, preprosto pojdite v okolje in sledite spodnjim korakom.
1. Zaženite naslednji ukaz za vstop v okolje
izvor env / bin / activate
Videli boste (env), ki se prikaže na sprednji strani vsake vrstice.
2. Če želite zagnati vzorec storitve Pritisni in govori, zaženite naslednji ukaz
googlesamples-assistant-pushtotalk
Tokrat ne potrebujemo ID-ja izdelka in ID-ja naprave.
3. Poleg funkcije Pritisni in govori lahko Googlovega pomočnika sprožite tudi tako, da izgovorite Ok Google. Za to morate vnesti neveljaven ID naprave, da bo delovala. Nepravilen ID naprave je lahko karkoli podoben aaaa, abcd.
Zdaj zaženite naslednji ukaz.
googlesamples-assistant-hotword --device-model-id
Zdaj lahko z lastnim Googlovim asistentom vprašate kar koli, samo recite Ok Google.
Tako lahko Google Assistant namestimo na Raspberry Pi in ga lahko s povezavo zvočnika in mikrofona spremenimo v Google Home.