- Requisits de maquinari
- Configuració de l'API de Google per a l'Assistent de Google Raspberry Pi
- Configuració de l'Assistent de Google per a Raspberry Pi Google Home
- Autorització de Raspberry Pi per a l'Assistent de Google
- Ús de l'Assistent de Google a Raspberry Pi
Alguna vegada has pensat en un altaveu que es pugui controlar amb la teva veu !!! Sí, Amazon Echo és un dels altaveus controlats per veu més populars, però en competència amb Google Home també es fa popular. Els assistents de veu cada vegada són més populars a mesura que ens dirigim cap a una era de sistemes basats en la IA. Heu sentit a parlar de l'Assistent de Google, Apple Siri i Amazon Alexa. Tots ells són sistemes d’intel·ligència artificial basats en la veu, el que fa que siguin diferents entre ells són els seus ecosistemes, i és aquí on més destaca l’Assistent de Google. Google, Apple i Amazon, totes aquestes empreses ja van llançar els seus altaveus intel·ligents. Els altaveus intel·ligents de Google també estan disponibles al mercat. Ja hem tractat Amazon Echo basat en Raspberry Pi, aquesta vegada convertirem Raspberry Pi en un altaveu de Google Home.
Google proporciona l'API per utilitzar el seu servei de veu, de codi obert i disponible a Github. Mitjançant el servei de veu de Google, podem reproduir música, obtenir informació sobre el temps, reservar entrades i molts més. Tot el que heu de fer és Preguntar. En aquest tutorial, veurem com crear un altaveu intel·ligent controlat per veu mitjançant l'Assistent de Google i Raspberry Pi.
Requisits de maquinari
- Raspberry Pi 3 o Raspberry Pi 2 Model B i targeta SD (8 GB o més)
- Altaveu extern amb cable AUX de 3,5 mm
- Qualsevol càmera web o micròfon USB 2.0
També suposem que el vostre Raspberry pi ja està configurat amb un sistema operatiu Raspbian i està connectat a Internet. Amb aquests al seu lloc, continuem amb el tutorial. Si no coneixeu Raspberry Pi, primer heu de començar a utilitzar Raspberry pi.
Nota: la càmera web té un micròfon incorporat, per tant, l’utilitzarem en lloc del micròfon USB 2.0.

També necessiteu un teclat, un ratolí i un monitor per connectar el raspberry pi mitjançant un cable HDMI.
Comprovació del micròfon de la càmera web amb Raspberry Pi:
1. Obriu el terminal Raspberry Pi i escriviu l' ordre arecord -l. Es mostraran els dispositius de maquinari connectats a Raspberry Pi com es mostra a continuació:

La targeta 1 és el micròfon de la vostra càmera web que farem servir. Si no es mostra, és possible que la càmera web sigui defectuosa.
2. Ara, comproveu si el micro funciona, executant l'ordre de gravació d'àudio com:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Per reproduir l'àudio gravat, escriviu aquesta ordre:
omxplayer -p -o local /home/pi/Desktop/test.wav
Si heu connectat Raspberry Pi amb monitor mitjançant un cable HDMI, la sortida d'àudio per defecte es fa a través de l'altaveu del monitor (si hi ha un altaveu incorporat). Per tant, per canviar-lo a 3,5 mm heu d’escriure l’ordre següent:
sudo raspi-config i aneu a l'opció Avanç.
Seleccioneu Àudio de la llista -> seleccioneu Força 3,5 mm -> seleccioneu D'acord i reinicieu Raspberry Pi.
Ara, hauríeu d’escoltar el so de la presa de 3,5 mm.
NOTA: Si voleu augmentar o disminuir la intensitat de veu d'entrada del micròfon, escriviu també el mixer al terminal. Seleccioneu la targeta de so del terminal prement F6.
Premeu F4 per canviar el guany Mic dB i configurar-lo com vulgueu.

Si teniu un micròfon USB 2.0, els passos seguits són els mateixos per comprovar el micròfon. Aquí hem utilitzat la càmera web per al micròfon USB.
Configuració de l'API de Google per a l'Assistent de Google Raspberry Pi
1. En primer lloc, hem de registrar-nos i configurar un projecte al tauler de Google Console Actions.
2. Després d'iniciar la sessió al vostre compte de Google, veureu la finestra següent.
Feu clic a Afegeix / Importa projecte .

3. A la pantalla següent, heu d'introduir el nom del projecte i fer clic a Crea projecte .

4. Ara aneu a la consola de desenvolupadors de Google a la nova pestanya i cerqueu l'API de Google Assistant. Abans de continuar i prémer el botó Habilita, assegureu-vos que teniu el projecte seleccionat. A continuació, feu clic a Habilita.

5. Ara, obriu la pestanya anterior de la consola de Google i desplaceu-vos cap avall fins a la part inferior de la pantalla.
Trobareu una opció Registre de dispositius , feu-hi clic.

6. A la pantalla següent, feu clic a Registra model. Després d’això, heu d’establir un nom de producte, un nom de fabricant i un tipus de dispositiu. Aquests noms poden ser qualsevol cosa que vulgueu.
Escriviu l’identificador del model de dispositiu, ja que el necessitarem més endavant en el procés.
Ara feu clic a Registra model .

7. La següent pantalla serà per a descarregar les credencials. Per obtenir aquest fitxer de credencials, feu clic a Baixa les credencials OAuth 2.0 . Aquest fitxer és molt important, per tant, guardeu-lo en algun lloc segur.
Ara feu clic a Següent.

8. Podeu seleccionar els trets que necessiteu, però en el nostre cas no en necessitem cap, de manera que només hem fet clic al botó Omet com es mostra a continuació .

9. Un cop fet tot, tindreu la pantalla següent.

10. Ara, aneu a la pàgina de controls d'activitat. Aquí heu d'activar els següents controls d'activitat per garantir que l'API de l'Assistent de Google funcioni bé.
Activitat al web i en aplicacions, historial d'ubicacions, informació del dispositiu, activitat de veu i d'àudio

11. Una vegada més, aneu a la consola de desenvolupadors de Google. Feu clic a Credencials a la part esquerra del tauler. Feu clic a la pantalla de consentiment d'OAuth.

12. Empleneu el vostre identificador de Gmail i qualsevol nom al nom del producte i deseu-lo.

Ara ja ho hem fet amb la configuració de l'API de Google.
Configuració de l'Assistent de Google per a Raspberry Pi Google Home
Tingueu en compte a partir d’aquesta part que haureu de completar el tutorial a l’escriptori Raspbian directament i no mitjançant SSH, ja que haureu d’utilitzar el navegador web integrat.
1. Primer, actualitzeu la llista de paquets de Raspberry Pi mitjançant l'ordre següent
sudo apt-get update
2. Ara, crearem un fitxer on podrem emmagatzemar les credencials que hem descarregat anteriorment. Per a això, executeu les dues ordres següents
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. En aquest fitxer, heu de copiar el contingut del fitxer de credencials que hem descarregat. Obriu el fitxer.json al vostre editor de text preferit i premeu ctrl + A i després ctrl + C per copiar el contingut.
Després de copiar el contingut, deseu el fitxer prement Ctrl + X i Y i, a continuació, premeu Retorn.
4. Després de desar el fitxer de credencials, començarem a instal·lar algunes de les dependències necessàries per executar l'assistent de Google.
Executeu l'ordre següent per instal·lar Python3 i l'entorn virtual Python 3 al nostre RPi.
sudo apt-get install python3-dev python3-venv
5. Ara activeu python3 com a entorn virtual mitjançant l'ordre següent
python3 -m venv env
6. Instal·leu les darreres versions de pip i els setuptools. Executeu l'ordre següent per obtenir l'actualització
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Per entrar a l'entorn python, hem d'executar aquesta ordre
source env/bin/activate
8. Ara instal·larem la Biblioteca de l'Assistent de Google, executarem les ordres següents una per una per obtenir la biblioteca actualitzada
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk

Ara hem acabat d’instal·lar totes les biblioteques i dependències necessàries.
Autorització de Raspberry Pi per a l'Assistent de Google
1. Primer instal·larem l'eina d'autorització de Google al nostre Raspberry pi executant l'ordre següent
python -m pip install --upgrade google-auth-oauthlib
2. Ara hem d'executar la biblioteca d'autenticació de Google. Executeu aquesta ordre per executar la 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
Aquesta ordre generarà una URL, la copiarà i l'enganxarà al navegador web.

3. Al navegador, inicieu la sessió al vostre compte de Google, si teniu diversos comptes, seleccioneu només el que heu configurat la vostra clau API.
Després d'iniciar la sessió, veureu un llarg codi d'autenticació. Copieu aquest codi i enganxeu-lo a la finestra del terminal i premeu Retorn. Si es verifica l'autenticació, hauríeu de veure la següent línia a la línia d'ordres, tal com es mostra a la imatge superior:
credencials desades: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Les nostres credencials d'autenticació es verificen ara, però Google encara vol verificar-les mitjançant una pantalla emergent. Però la nostra finestra emergent està bloquejada per CORS (compartició de recursos entre origen), per tant, primer desactiveu aquesta cosa utilitzant l'ordre següent.
Per utilitzar aquesta ordre, assegureu-vos que el navegador de crom està tancat i, a continuació, obriu una nova finestra de terminal i escriviu l'ordre. Aquesta ordre iniciarà el navegador de crom amb la seguretat CORS desactivada; no navegueu per Internet amb aquesta funció desactivada.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Després d'obrir el navegador, aneu a la finestra del terminal anterior en què heu configurat la mostra de l'Assistent de Google.
5. Ara executeu l'ordre següent per iniciar el primer assistent de Google. En aquesta ordre substituïu
Si heu oblidat l'identificador del projecte, aneu a Accions Console a Google, feu clic al projecte que heu creat i, a continuació, feu clic a la icona d'engranatge a l'extrem superior esquerre i després a Configuració del projecte.
A més, substituïu
googlesamples-assistant-pushtotalk --project-id
Aquesta ordre iniciarà una nova pestanya al navegador Chromium.
6. Ara premeu Retorn a la finestra del terminal per activar-lo i fer qualsevol pregunta.
Quan vau fer la primera pregunta, pot aparèixer la pantalla inferior al navegador. Feu clic a Continua -> Entenc -> Permet.

Si no apareix aquesta pantalla Continua , no hi ha cap problema.
7. Ara, podem fer servir push per parlar de l'Assistent de Google i obtenir una resposta de sortida.
Quan premeu la tecla Enter al terminal i pronuncieu una acció, hauríeu d'escoltar una resposta verbal i també s'obrirà una altra pestanya que mostrarà l'acció que acabeu de cridar.
Podeu desactivar l'obertura de la pestanya eliminant l' argument –display de l'ordre. Necessitàvem això per obtenir la pantalla d'autorització.
Ús de l'Assistent de Google a Raspberry Pi
Hem autoritzat el nostre Raspberry Pi. Sempre que vulgueu llançar l'Assistent de Google, només cal que accediu a l'entorn i seguiu els passos següents.
1. Executeu l'ordre següent a get in the environment
font env / bin / activate
Veureu (env) que apareix a la part frontal de cada línia.
2. Per iniciar l'exemple push to talk, executeu l'ordre següent
googlesamples-assistant-pushtotalk
Aquesta vegada no necessitem l’identificador del producte ni l’identificador del dispositiu.
3. A més de la funció push to talk, també podeu activar l'assistent de Google dient Ok Google. Per a això, heu d'introduir un identificador de dispositiu no vàlid perquè funcioni. Un identificador de dispositiu incorrecte pot ser qualsevol cosa com aaaa, abcd.
Ara, executeu l'ordre següent.
googlesamples-assistant-hotword --device-model-id

Ara, podeu preguntar qualsevol cosa amb el propi assistent de Google, només cal dir Ok Google.
Així doncs, és com podem instal·lar l'Assistent de Google a Raspberry Pi i convertir-lo en Google Home connectant-hi un altaveu i un micròfon.
