- Cerințe hardware
- Configurarea Google API pentru Asistentul Google Raspberry Pi
- Configurarea Asistentului Google pentru Raspberry Pi Google Home
- Autorizarea Raspberry Pi pentru Asistentul Google
- Utilizarea Asistentului Google pe Raspberry Pi
Te-ai gândit vreodată la un difuzor care poate fi controlat de vocea ta !!! Da, Amazon Echo este unul dintre cele mai populare difuzoare controlate prin voce, dar în competiție cu acesta, Google Home devine și el popular. Asistenții vocali devin din ce în ce mai populari pe măsură ce ne îndreptăm spre o eră a sistemelor bazate pe AI. Ați auzit despre Google Assistant, Apple Siri și Amazon Alexa. Toate acestea sunt sisteme de AI bazate pe voce, ceea ce le face diferite între ele, sunt ecosistemele lor, iar acesta este locul unde se remarcă cel mai mult Asistentul Google. Google, Apple și Amazon, toate aceste companii și-au lansat deja difuzoarele inteligente. Difuzoarele inteligente Google sunt disponibile și pe piață. Am acoperit deja Amazon Echo bazat pe Raspberry Pi, de data aceasta vom transforma Raspberry Pi într-un Google Home Speaker.
Google oferă API-ul pentru utilizarea serviciului său de voce, care este open source și disponibil pe Github. Folosind serviciul vocal Google, putem reda muzică, putem obține informații despre vreme, putem rezerva bilete și multe altele. Tot ce trebuie să faceți este să întrebați. În acest tutorial, să vedem cum să construim un difuzor inteligent controlat prin voce folosind asistentul Google și Raspberry Pi.
Cerințe hardware
- Raspberry Pi 3 sau Raspberry Pi 2 Model B și card SD (8 GB sau mai mult)
- Difuzor extern cu cablu AUX de 3,5 mm
- Orice cameră web sau microfon USB 2.0
De asemenea, presupunem că Raspberry pi dvs. este deja configurat cu un sistem de operare Raspbian și este conectat la internet. Cu acestea la locul lor, să continuăm cu tutorialul. Dacă sunteți nou în Raspberry Pi, treceți mai întâi la Noțiuni introductive despre Raspberry Pi.
Notă: Camera web are microfon încorporat, așa că îl vom folosi în locul microfonului USB 2.0.
De asemenea, aveți nevoie de o tastatură, mouse și un monitor pentru a conecta raspberry pi utilizând cablul HDMI.
Verificarea microfonului camerei web cu Raspberry Pi:
1. Deschideți terminalul Raspberry Pi și tastați comanda arecord -l. Aceasta va afișa dispozitivele hardware care sunt conectate la Raspberry Pi așa cum se arată mai jos:
Cardul 1 este microfonul camerei web pe care îl vom folosi. Dacă nu este afișat, camera dvs. web poate fi defectă.
2. Acum, verificați dacă microfonul funcționează executând comanda de înregistrare audio ca:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Pentru a reda sunetul înregistrat, tastați această comandă:
omxplayer -p -o local /home/pi/Desktop/test.wav
Dacă ați conectat Raspberry Pi la monitor folosind un cablu HDMI, implicit, ieșirea audio se face prin difuzorul monitorului (dacă există difuzor încorporat în el). Deci, pentru a-l schimba la 3,5 mm trebuie să tastați următoarea comandă:
sudo raspi-config și accesați opțiunea Advance.
Selectați Audio din listă -> selectați Forțare 3,5 mm -> selectați Ok și reporniți Raspberry Pi.
Acum, ar trebui să auziți sunetul de la mufa de 3,5 mm.
NOTĂ: Dacă doriți să măriți sau să micșorați intensitatea vocii de intrare pentru microfon, tastați și mixer în terminal. Selectați placa de sunet de la terminal apăsând F6.
Apăsați F4 pentru a schimba câștigul Mic dB și setați-l după cum doriți.
Dacă aveți microfon USB 2.0, pașii urmați sunt aceiași pentru a verifica microfonul. Aici am folosit Webcam pentru microcefon USB.
Configurarea Google API pentru Asistentul Google Raspberry Pi
1. Mai întâi, trebuie să ne înregistrăm și să configurăm un proiect pe tabloul de bord Google Console Actions.
2. După ce v-ați conectat la contul dvs. Google, veți vedea următoarea fereastră.
Faceți clic pe Add / Import Project .
3. În ecranul următor, trebuie să introduceți numele proiectului și să faceți clic pe Creare proiect .
4. Acum, accesați consola dezvoltatorilor Google din noua filă și căutați Google Assistant API. Înainte de a continua și apăsați butonul Activare, asigurați-vă că ați selectat proiectul. Apoi faceți clic pe Activare.
5. Acum, deschideți fila anterioară a consolei Google și derulați în jos până la partea de jos a ecranului.
Veți găsi o opțiune Înregistrare dispozitiv , faceți clic pe ea.
6. În ecranul următor, faceți clic pe Înregistrare model. După aceasta, trebuie să setați un nume de produs, un nume de producător și să setați un tip de dispozitiv. Aceste nume pot fi orice doriți.
Notați ID-ul modelului dispozitivului, deoarece vom avea nevoie de acest lucru mai târziu în proces.
Acum, faceți clic pe Înregistrare model .
7. Următorul ecran va fi pentru Descărcare acreditări. Pentru a obține acest fișier de acreditări, faceți clic pe Descărcați acreditările OAuth 2.0 . Acest fișier este foarte important, așa că păstrați-l undeva în siguranță.
Acum, faceți clic pe Următorul.
8. Puteți selecta orice trăsături de care aveți nevoie, dar în cazul nostru nu avem nevoie de niciuna dintre acestea, așa că am făcut doar clic pe butonul Omite așa cum se arată mai jos .
9. Odată ce totul este făcut, veți avea următorul ecran.
10. Acum, accesați pagina Controale de activitate. Aici trebuie să activați următoarele controale de activitate pentru a vă asigura că API-ul Google Assistant funcționează bine.
Activitatea de pe web și din aplicații, Istoricul locațiilor, Informațiile dispozitivului, Activitatea vocală și audio
11. Din nou, accesați consola dezvoltatorilor Google. Faceți clic pe acreditări din partea stângă a tabloului de bord. Faceți clic pe ecranul de consimțământ OAuth.
12. Completați ID-ul Gmail și orice nume până la numele produsului și salvați-l.
Acum, am terminat cu configurarea API-ului Google.
Configurarea Asistentului Google pentru Raspberry Pi Google Home
Vă rugăm să rețineți că, din această parte, vi se va cere să completați tutorialul direct pe desktopul Raspbian și nu pe SSH, deoarece va trebui să utilizați browserul web încorporat.
1. În primul rând, actualizați lista de pachete a Raspberry Pi utilizând următoarea comandă
sudo apt-get update
2. Acum, vom crea un fișier în care putem stoca acreditările pe care le-am descărcat mai devreme. Pentru aceasta, executați următoarele două comenzi
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. În acest fișier, trebuie să copiați conținutul fișierului de acreditări pe care l-am descărcat. Deschideți fișierul.json în editorul de text preferat și apăsați ctrl + A apoi ctrl + C pentru a copia conținutul.
După copierea conținutului, salvați fișierul apăsând Ctrl + X apoi Y și apoi apăsați Enter.
4. După salvarea fișierului de acreditări, vom începe să instalăm unele dintre dependențele necesare pentru a rula asistentul Google.
Rulați următoarea comandă pentru a instala Python3 și Python 3 Virtual Environment pe RPi.
sudo apt-get install python3-dev python3-venv
5. Acum activați python3 ca mediul nostru virtual folosind următoarea comandă
python3 -m venv env
6. Instalați cele mai recente versiuni de pip și instrumentele de configurare. Rulați următoarea comandă pentru a obține actualizarea
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Pentru a intra în mediul python, trebuie să executăm această comandă
source env/bin/activate
8. Acum vom instala Google Assistant Library, vom rula următoarele comenzi una câte una pentru a obține biblioteca actualizată
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Acum, am terminat instalarea tuturor dependențelor și bibliotecilor necesare.
Autorizarea Raspberry Pi pentru Asistentul Google
1. Vom instala mai întâi instrumentul de autorizare Google pe Raspberry pi executând următoarea comandă
python -m pip install --upgrade google-auth-oauthlib
2. Acum, trebuie să rulăm biblioteca Google Authentication. Executați această comandă pentru a rula biblioteca.
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
Această comandă va genera o adresă URL, va copia această adresă URL și o va lipi în browserul dvs. web.
3. În browser, conectați-vă la contul dvs. Google, dacă aveți mai multe conturi, selectați-l doar pe cel cu care ați configurat cheia API.
După autentificare, veți vedea un cod de autentificare lung. Copiați acest cod și lipiți-l în fereastra terminalului și apăsați Enter. Dacă autentificarea este verificată, ar trebui să vedeți următoarea linie să apară pe linia de comandă, așa cum se arată în imaginea de mai sus:
acreditări salvate: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Acreditările noastre de autentificare sunt verificate acum, dar Google dorește în continuare să le verifice printr-un afișaj pop. Dar pop-up-ul nostru este blocat de CORS (partajarea de resurse încrucișate), deci mai întâi dezactivați acest lucru folosind comanda de mai jos.
Pentru a utiliza această comandă, asigurați-vă că browserul dvs. crom este închis și deschideți acum o nouă fereastră de terminal și tastați comanda. Această comandă va lansa browserul crom cu securitatea CORS dezactivată, nu răsfoiți internetul cu acest dezactivat.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
După deschiderea browserului, accesați fereastra terminală anterioară în care ați configurat exemplul asistentului Google.
5. Acum executați următoarea comandă pentru a lansa prima dată asistentul Google. În această comandă înlocuiți
Dacă ați uitat ID-ul proiectului, accesați Console de acțiuni pe Google, faceți clic pe proiectul pe care l-ați creat, apoi faceți clic pe pictograma roată din colțul din stânga sus, apoi pe Setări proiect.
De asemenea, înlocuiți
googlesamples-assistant-pushtotalk --project-id
Această comandă va lansa o filă nouă în browserul Chromium.
6. Acum apăsați Enter în fereastra terminalului pentru al declanșa și a pune orice întrebare.
Când ați pus prima întrebare, ecranul de mai jos poate apărea în browser. Faceți clic pe Continuați -> Înțeleg -> Permiteți.
Dacă nu apare acest ecran Continuare , nu există nicio problemă.
7. Acum, putem folosi push pentru a vorbi despre eșantionul Asistentului Google și pentru a obține un răspuns de ieșire.
Când apăsați Enter în terminal și rostiți o acțiune, ar trebui să auziți un răspuns verbal și se va deschide o altă filă care afișează acțiunea pe care tocmai ați apelat-o.
Puteți dezactiva deschiderea filei eliminând argumentul –display din comandă. Aveam nevoie de acest lucru pentru a obține ecranul de autorizare.
Utilizarea Asistentului Google pe Raspberry Pi
Am autorizat Raspberry Pi. Ori de câte ori doriți să lansați asistentul Google, pur și simplu intrați în mediu și urmați pașii de mai jos.
1. Rulați următoarea comandă pe get în mediul înconjurător
sursa env / bin / activate
Veți vedea (env) să apară în partea din față a fiecărei linii.
2. Pentru a porni exemplul push to talk, rulați următoarea comandă
googlesamples-assistant-pushtotalk
De data aceasta nu avem nevoie de ID-ul produsului și ID-ul dispozitivului.
3. În plus față de funcția push to talk, puteți declanșa și asistentul Google spunând Ok Google. Pentru aceasta trebuie să introduceți un ID de dispozitiv nevalid pentru ca acesta să funcționeze. ID-ul incorect al dispozitivului poate fi de genul aaaa, abcd.
Acum, executați următoarea comandă.
googlesamples-assistant-hotword --device-model-id
Acum, puteți întreba orice cu propriul asistent Google, spuneți doar Ok Google.
Deci, astfel putem instala Google Assistant pe Raspberry Pi și îl putem transforma într-un Google Home conectând un difuzor și un microfon la acesta.