In questa guida vediamo come realizzare un Google Home con Raspberry Pi 3 o RPi 3 B+ (non compatibile con modelli inferiori).
Ci serve un Raspberry Pi 3 o RPi 3 B+: https://amzn.to/2WSeYtW & https://amzn.to/2WSybLI
Una Cassa: https://amzn.to/2Kd7U9C
Un Microfono: https://amzn.to/2KfdLLO
Adesso installate Raspbian e installatelo.
Come prima cosa diamo i comandi “sudo apt-get update” e “sudo apt-get upgrade” e finito prepariamo il comparto audio e microfono:
- Usiamo questi comandi per vedere il numero dei dispositivi audio e microfono:
[php light=”true”]
arecord -l
aplay -l
[/php] - Adesso con questo comandi nella cartella principale creiamo il per la configurazione:
[php light=”true”]
sudo nano /home/pi/.asoundrc
[/php] - nel file inseriamo questa configurazione:Salviamo con Ctrl+c e poi si
pcm.!default { type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:<card number>,<device number>" } } pcm.speaker { type plug slave { pcm "hw:<card number>,<device number>" } }
Adesso configuriamo il progetto Google per far funzionare l’assistente:
- Andiamo a questo indirizzo e creiamo come in foto il progetto https://console.actions.google.com
- Andate in questa pagina e proseguite con le foto: https://console.developers.google.com/apis/library/embeddedassistant.googleapis.com
- Andate qui https://console.developers.google.com, andate nella pagina credenziali e poi schermata consenso OAuth qui dove lo chiede inserite la mail tramite il menù a tendina (serve perchè se no da problemi)
Finito questo creiamo la cartella googleassistant con questo comando sudo mkdir ~/googleassistant
e dentro copiamo il file json che avete scaricato e rinominatelo credentials.json
Adesso installiamo e configuriamo Google Assistant:
- Installiamo python e env
-
sudo apt-get install python3-dev python3-venv
python3 -m venv env
env/bin/python -m pip install --upgrade pip setuptools --upgrade
- Entriamo in modalità env con questo comando:
source env/bin/activate
- Stando in modalità env installiamo le librerie Google Assistant:
sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev
python -m pip install --upgrade google-assistant-library==1.0.1
python -m pip install --upgrade google-assistant-sdk[samples]==0.5.1
python -m pip install --upgrade google-auth-oauthlib[tool]
- Adesso diamo il comando per dare l’autenticazione alle librerie:
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
quando chiede accedi alla pagina con l’URL che ti da e copia il codice nella parte dove lo chiede
- Diamo questo comando che serve per togliere delle protezioni al browser che bloccano la procedura
chromium-browser --disable-web-security --user-data-dir "/home/pi/"
- Adesso per provare se funziona diamo questo comando
googlesamples-assistant-pushtotalk --project-id <projectid> --device-model-id <deviceid> --display
<projectid> e <deviceid> sostituiteli con i vostri
- Uscite dalla shell e rientrate
- Entrate di nuovo in env
source env/bin/activate
- Poi provate questo comando che vi permette di provare la chiave “Ok, google”
googlesamples-assistant-pushtotalk
Adesso creiamo il servizio per avviare google assistant:
- Creiamo questo lo script sh con il comando
sudo nano /home/pi/start_assistant.sh
- Inseriamo questo codice nel file
#!/bin/bash source /home/pi/env/bin/activate googlesamples-assistant-hotword --device-model-id abcd
al posto di abcd mettete il device model id
- Creiamo il file del servizio
sudo nano /lib/systemd/system/assistant.service
- Inseriamo questo codice
[Unit] Description=Google Assistant Wants=network-online.target After=network-online.target [Service] Type=simple ExecStart=/bin/bash /home/pi/start_assistant.sh Restart=on-abort User=pi Group=pi [Install] WantedBy=multi-user.target
salviamo con Ctrl+x e si
- Abilitiamo il servizio
sudo systemctl enable assistant.service
- Faciamo partire il servizio
sudo systemctl start assistant.service
- Così vediamo lo stato
sudo systemctl status assistant.service
Adesso vediamo come coem far partire in automatico il servizio in automatico:
- Portiamoci a questa cartella cd /etc/xdg/lxsession/LXDE-pi
- Creiamo il file con sudo nano autostart se già non c’è
- Inseriamo il seguente codice se il file lo dobbiamo creare
[php light=”true”]
@lxpanel –proflie LXDE-pi
@pcmanfm –desktop –profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
/home/pi/start_assistant.sh
[/php] - invece se il file c’è già inseriamo solo /home/pi/start_assistant.sh infondo al file
- salviamo e riavviamo
Adesso avete un google home a tutto tondo!!!!
Se non si sente l’audio basta dirglio dopo “Ok, google”, “alza il volume al 100%”!!!!