Ciao ragazzi, benvenuti in questo nuovo tutorial.
Dopo averlo anticipato, oggi vediamo come
installare ASSISTANT di Google sul Raspberry Pi 3!
Questa guida si ricollega direttamente alla
precedente, dedicata ad ALEXA di Amazon, che
se l’aveste persa la trovate linkata in
descrizione e nelle schede qui in alto.
Anche di ASSISTANT ve ne avevo parlato tempo
fa, in un doppio video dedicato agli assistenti
vocali installabili sul Pi (trovate i rimandi
anche a questi video nella descrizione qui sotto).
Ma anche in questo caso, la procedura di setup
e configurazione è stata completamente rivista
e per questo motivo eccoci nuovamente qui
a parlarne.
Prima di addentrarci, però, volevo sottolineare
che sia in questo caso sia in quello che abbiamo
già visto con ALEXA, non stiamo parlando di
implementazioni che vanno a sostituire al 100%
le soluzioni commerciali come la linea Echo
o Home: stiamo parlando di tool di sviluppo
e test, strumenti pensati per gli sviluppatori
per creare nuove abilità o nuovi prodotti
compatibili con i servizi di ricerca vocale.
Quindi se voleste un dispositivo powered by
Assistant o Alexa in grado di compiere qualsiasi
tipo di operazione supportata dai due assistenti digitali,
beh dovreste comprare dei dispositivi commerciali.
Per sviluppare nuove skills o nuove funzionalità,
invece, o semplicemente giochicchiare con
gli assistenti, allora questo è sicuramente
il miglior modo possibile.
A differenza dell’Alexa Voice Service, installare
ed utilizzare le Google Assistant API è leggermente
più complesso, e il tutto richiede 6 passaggi:
la configurazione hardware; la creazione di
un nuovo progetto sulla Actions Console; l’abilitazione
delle API apposite per l’assistente vocale
più la creazione di un client di autenticazione;
la registrazione di un nuovo prodotto per
interagire con le suddette API; l’installazione
dell’SDK con tutti i tool forniti da Google;
ed infine l’avvio dell’applicazione di
test per parlare con l’assistente.
Ed ora andremo a vedere nel dettaglio questi
passaggi.
Anche in questo caso, come per ALEXA, si dà
per scontato che si utilizzi Raspbian OS e
che l’ambiente sia configurato e pronto all’uso
(insomma come nel primo passo
della guida per ALEXA).
Una volta pronti, vanno settati microfono ed audio
per poter interagire con l’assistente vocale.
Collegate quindi un microfono ed eventualmente
uno speaker al Pi ed aprite il terminale:
con il comando arecord -l potete vedere tutti
i dispositivi di input connessi, con il comando
aplay -l tutti quelli di output.
Segnatevi i numeri di card e device di entrambi
quelli che volete utilizzare perché andranno
inseriti all’interno del file /home/pi/.asoundrc
con la configurazione che vedete a video.
In pratica in pcm.mic, nello slave, andrà
indicato il numero di card e quello di device
che si vuole usare, e lo stesso in pcm.speaker.
Nel mio caso ho un microfono USB connesso
come card 1 e device 0, mentre per quanto
riguarda l’audio utilizzo direttamente quello
in uscita dal TV a cui il Pi è connesso via
HDMI, quindi card 0 device 1.
Quindi questi dati vanno specificati nel file
asoundrc.
A questo punto conviene testare la configurazione
e digitando alsamixer potete regolare i volumi…
mentre con il comando speaker-test -t wav potete
verificare che venga riprodotto un suono di test…
con il comando arecord seguito
da tutti i parametri che vedete a video potrete
testare il funzionamento del microfono.
Attenzione: se come nel mio caso aveste erroneamente
digitato i valori di card e device all’interno
della configurazione, ricevereste a video
questo messaggio d’errore.
Basterà tornare nel file di configurazione
ed indicare i valori corretti.
A quel punto potrete ripetere il comando e
dopo aver registrato un suono di test, con
il comando aplay seguito dai parametri che
vedete a video verificarne la corretta registrazione.
Complimenti, questo conclude il primo passo
della guida.
Ora dovete aprire il browser web e recarvi
al sito console.actions.google.com e loggarvi
con il vostro account Google (in caso non
ne aveste uno, dovrete crearlo in questo momento).
Quindi, una volta dentro cliccate su “Aggiungi
progetto”, specificate un nome a piacere,
la lingua di default (Italiano) e lo stato
(Italia), e procedete.
Nella pagina che verrà caricata potete selezionare
la categoria di progetto che state creando,
scorrete fino in fondo la pagina e selezionate
Device registration.
A questo punto lasciate qui ferma la pagina perché
occorre procedere con l’abilitazione delle API.
Complimenti, questo conclude il secondo passo
della guida.
Aprite un nuovo tab sul browser e accedete
al sito console.developers.google.com quindi
cliccate su Crea nuovo progetto, specificate
un nome a piacere, e date l’OK per la creazione.
Una volta completata, accedete al progetto
stesso e qualora non foste nella pagina dedicata
alle API e Servizi, cliccate sul menu in alto
a sinistra e accedete a tale sezione.
Qui cliccate sulla voce Credenziali, quindi
create delle nuove credenziali
secondo il protocollo Oauth.
Nella schermata che appare cliccate sul bottone
Configure Consent Screen, aggiungendo un nome
per l’applicazione che si sta creando e potete
ignorare tutto il resto, quindi premete Salva.
Verrete riportati nella pagina di creazione
delle credenziali Oauth, quindi selezionate
l’opzione Other, inserite un nome a piacere
e procedete.
A questo punto è stato creato un nuovo client
Oauth che utilizzerete per autenticarvi ed
usare le API di Assistant.
Cliccate sull’iconcina preposta per scaricare
il file json ad esso associato e aprite il
file manager per spostare il client_secret
dalla cartella download alla home: per semplicità
vi consiglio di rinominare il file in appunto
solo client_secret.json
Prima di passare al prossimo punto, occorre
assicurarsi di avere abilitati sul proprio
account alcuni permessi: aprite un
nuovo tab e recatevi sul sito
myaccount.google.com/activitycontrols
e controllate che Web & App Activity,
Device Information e Voice &
Audio Activity siano abilitati, altrimenti
non potrete utilizzare l’assistente vocale.
Complimenti, questo conclude il terzo passo
della guida.
A questo punto, potete tornare sulla Actions
Console e registrare un nuovo modello o prodotto.
Compilate tutti i campi richiesti: nome del
prodotto, autore, e tipologia di device che
può essere ad esempio uno speaker.
Registrate quindi tale modello e una volta
completato lo step, andate avanti fino al
terzo passaggio che può essere al momento
ignorato poiché serve per abilitare le capabilities
dell’assistente, che non ci interessano.
Complimenti, questo conclude il quarto passo
della guida.
Il quinto passaggio è quello più lungo poiché
prevede l’installazione di un po’ di software.
Tanto per cominciare lanciate il comando sudo
apt update seguito da sudo apt install python3-dev
python3-venv per assicurarvi di avere questi
pacchetti configurati.
Una volta terminata l’eventuale installazione,
lanciate il comando python3 -m venv env così
da poter successivamente aggiornare alcune
librerie python, con il comando env/bin/python
-m pip install --upgrade pip setuptools wheel
ed una volta terminato il processo, lanciate
il comando source env/bin/activate.
Ora con i comandi che vedete a video vanno
installate un po’ di librerie di supporto
e successivamente la libreria google-assistant,
l’SDK e alcune app d’esempio.
Infine, va prelevata anche la libreria google-auth-oauthlib
che è utilizzata per l’autenticazione via Oauth.
Questa fase dura circa 10 minuti, al termine
della quale dovrete lanciare il lungo comando
che vedete al quale va passato in input il
file client_secret scaricato poc’anzi.
Tale comando non fa altro che avviare una
app che genera una URL, copiatela
e incollatela sul browser.
Si aprirà una maschera di autenticazione
che vi chiederà se volete consentire al vostro
account di interagire con l’applicazione
creata nella Actions Console.
Confermate e copiate la stringa di autenticazione
che viene mostrata a video.
Tornate quindi sul terminale e inserite tale
stringa per ottenere in cambio le credenziali
di autenticazione definitive che saranno poi
usate per l’avvio di Assistant.
Complimenti, questo conclude il quinto e più
lungo passo della guida.
L’ultimo step è quello di avviare l’applicazione
di esempio per interagire con la nostra voce
con l’assistente di Google.
Il comando per avviarlo è quello che vedete
a video e richiede l’inserimento di due
informazioni che vanno recuperate
sulla Actions Console.
Il primo dato è il model_id che è indicato
nella Actions Console, basterà cliccare sul
progetto che avete creato e il model id è
lì in bella mostra.
Il project_id invece va recuperato dalle impostazioni,
cliccate quindi sull’icona ingranaggio,
quindi selezionate la voce project settings
e il project id è riportato
sotto il nome del progetto.
A questo punto inserite le due stringhe nel
comando e lanciatelo.
Attenzione: nel qual caso si verificasse un
errore di segmentazione, probabilmente dipenderà
dal fatto che nel progetto da voi creato sul
portale developer per qualche motivo le Google
Assistant API non siano state associate.
Per associare tali API dovete tornare sulla
Developer Console, quindi cliccare sul menu
laterale sulla voce Library (oppure sul bottone
Add API & Sevices) ed attendere il caricamento
di tutta la libreria di API fornite da Google.
Qui va cercata la voce Assistant, selezionata
e quindi abilitata.
Una volta faccio ciò, dalla schermata che
appare cliccate su Create Credentials, e nel
form selezionare nel menu a tendina Google
Assistant API, quindi nel secondo menu che
apparirà selezionate la voce Other UI e User
Data, infine sul bottone di conferma.
Il sistema dovrebbe indicarvi che avete già
delle credenziali pronte all’uso (quelle
che avevate creato prima), quindi confermate.
Adesso potete tornare sul terminale e rilanciare
il comando di prima che finalmente non dovrebbe
più andare in errore, e anzi restare in ascolto
della vostra voce per dialogare con l’assistente.
Di base è impostata la lingua inglese, e
infatti ponendo domande in tale idioma
Assistant vi risponderà di conseguenza.
Per utilizzare l’Italiano occorre installare
su un dispositivo compatibile (Android o iOS)
l’applicazione Assistant, quindi configurarla
affinché con lo stesso account che state
utilizzando sul Pi Assistant prediliga l’italiano.
Fatto ciò potete tornare sul Pi e rilanciare
il comando di avvio della sample app.
Attenzione, assicuratevi di trovarvi nell’environment
corretto, quindi se il comando dovesse fallire
perchè non trovato, lanciate prima source
env/bin/activate quindi il comando di avvio
della sample app.
A questo punto sarà possibile porre le
domande che si desidera e attendere
la risposta dall’assistente vocale.
Ad esempio: “Hey Google, quanto fa 15+17?”
“Hey Google, chi è il presidente degli
Stati Uniti d’America?”
“Hey Google, quanto è alto?”
(da notare come Assistant sia in grado di
mantere il contesto)
“Hey Google, imposta un timer tra 2 secondi”
“Hey Google, raccontami una barzelletta”
“Hey Google, riproduci una canzone qualsiasi”
“Hey Google, quali sono le ultime novità
in generale?”
“Hey Google, a presto!”
Bene, e questo conclude la guida su come utilizzare
ASSISTANT di Google in ITALIANO sul Raspberry Pi 3.
Fatemi sapere se avete trovato il video utile
o interessante e per qualsiasi domanda scrivete
pure nei commenti qui sotto (o sul blog, sui
vari canali social, etc… tutti i link sono
in descrizione).
Se ancora non lo foste, iscrivetevi al canale
attivando le notifiche per essere subito avvisati
quando arriveranno nuovi tutorial.
Fino ad allora non mi resta altro che salutarvi:
ci sentiamo presto, ciaooo!
