Come costruire il vostro Google Home con Assistant e Raspberry Pi 3
Google Home è il modo più facile per avere Google Assistant in casa. Purtroppo non è disponibile in tutto il mondo, però grazie a Raspberry Pi 3 potrete avere Google Assistant nel salone di casa e controllare con la voce qualunque cosa sia collegato alla Raspi.
Per usare Google Assistant con la vostro Raspberry Pi 3 avrete bisogno di qualche pezzo di hardware. Di base avrete bisogno di un microfono e un altoparlante per poter comunicare con Google Assistant. Su MagPi (la rivista ufficiale di Raspberry Pi) del maggio scorso era incluso un ottimo set, sponsorizzato da Google. Ma, se ve la siete persa, non vi preoccupate perché potrete tranquillamente costruire il vostro assistente con un altoparlante e un microfono USB. Ecco le istruzione per entrambi i casi:
- Costruite il vostro Google Home con il Voice Kit AIY di MagPi
- Costruite il vostro Google Home con microfono, altoparlante e la Raspberry Pi 3
Costruite il vostro Google Home con il Voice Kit AIY di MagPi
Come abbiamo già detto, con il numero 57 di The MagPi di maggio 2017 (5,99 £) Google regalava un kit per incoraggiare i suoi makers a costruirsi da soli Google Home. Il progetto si chiama AIY, che è un miscuglio tra AI (intelligenza artificiale nel suo acronimo inglese Artificial Intelligence) e DIY (fallo da solo, in inglese Do It Yourself).
1. Montare il kit AIY Project “made by you with Google”
Il kit allegato a MagPi è molto semplice da montare. Dovrete solo seguire le istruzioni che trovate dentro alla rivista o sul sito AIY Project. Penso che per me la cosa più difficile sia stata piegare il cartone. Per costruire questo kit voice, Google ci fornisce:
- Una scheda PCB per controllare i microfoni ed il tasto (Voice HAT).
- Un altoparlante.
- Un tasto.
- Un LED.
- Meccanismo per l’interruttore.
- Cavi per connettere il tutto.
- Scatola di cartone per montare il kit.
Oltre ai componenti che trovate nel kit avrete bisogno anche di:
- Una Raspberry Pi 3.
- Una scheda microSD per installare il sistema operativo.
- Nastro adesivo.
- Un cacciavite P00.
Per montare il kit AIY dovrete seguire le istruzioni sul sito ufficiale. Qui di seguito vi riassumo i passaggi chiave.
Una volta che avrete tutti i componenti, iniziate collegando la scheda PCB, la Voice HAT che controlla i microfoni e l’interruttore, alla Raspberry Pi 3 con l’aiuto di due piccoli sollevatori di plastica. Poi con un cacciavite collegate i due cavi dell’altoparlante (il rosso è il positivo e il nero è negativo).
Collegate il resto dei cavi alla scheda e collocate il tutto nel cartone. Piegatelo lasciando in vista le scritte e inserite per primo l’altoparlante. Poi inserite la Raspberry Pi 3 insieme al Voice Hat. Montate la scatola e inseritevi tutto l’insieme. Fate attenzione a mettere l’altoparlante dal lato in cui si trovano i fori.
È il momento di fissare la sezione che ospita l’interruttore (a noi ne è toccato uno giallo). Prima svitate il dado di plastica nera, infilate l’interruttore dal buco del coperchio e avvitate di nuovo il dado nero. Ora montate il meccanismo con il LED e l’interruttore. Inseritelo nell’interruttore e collegate i cavi facendo attenzione all’ordine corretto (rosso e azzurro fuori; nero e bianco in mezzo).
Infine, collegate la scheda con i due microfoni e attaccatela con un po’ di nastro adesivo al coperchio. Fate attenzione a collocare i microfoni in modo che abbiano una buona entrata audio attraverso i fori sulla scatola. Una volta che è tutto montato e pronto, potrete installare il software nella scheda microSD.
2. Installare il software e configurare Raspbian per usare Google Assistant
Per installare il software avrete bisogno di scaricare l’immagine del sistema e flasharla nella microSD con un computer:
- Scaricate l’immagine per la microSD del Voice Kit.
- Scaricate il software Etcher.oi per computer.
- Decomprimete l’archivio con l’immagine (*.img) del sistema operativo per la Raspberry Pi 3.
- Inserite la scheda microSD nel computer.
- Aprite Etcher, selezionate l’immagine, selezionate la microSD e premete su Flash.
- La scheda microSD sarà pronta per essere introdotta nella Raspberry Pi 3.
Quando avrete finito di flashare la scheda, infilatela nella Raspi e sarete pronti per cominciare. Per avviare la Raspebby Pi 3 con il Voice kit avrete bisogno di un monitor con un cavo HDMI e una tastiera con mouse. Collegate il tutto e date energia alla Raspi.
Il primo avvio del sistema può richiedere alcuni minuti. Sul Raspberry Pi gira una versione di Debian modificata appositamente per questo dispositivo chiamata Raspbian. Debian è una delle distribuzioni più diffuse di GNU/Linus e su cui si basano distribuzioni tanto famose quanto Ubuntu.
Una volta che avete il desktop attivo, in alto a destra troverete l’icona per connettersi alla rete WIFI, fra quella di Bluetooth e volume. Quando siete connessi ad internet aprite il navigatore e inserite l’URL: https://console.cloud.google.com/start
Vi verrà chiesto di inserire l’account Gmail con il quale desiderate usare il servizio Google Cloud, dentro il quale c’è, appunto, Google Assistant. Dopodiché inserite email e password per usufruire del servizio (è gratuito). Qui di seguito i passi da seguire:
- Create un nuovo progetto e dategli un nome, per esempio, “Home Pi”.
- Attivate la API di Google Assistant nel progetto API>Enable API>Google Assistant>Enable.
- Ora create delle nuove credenziali in Credentials>Create Credentials>Oauth Client ID>Other (aggiungete un nome)>Create.
- Dovrete scaricare le credenziali nel Raspberry Pi 3 dalla pagina delle credenziali dell'API del progetto creato. A destra delle credenziali che avete appena finito di creare c’è un pulsante per l'avvio del download.
- Copiate tutto l’archivio scaricato dalla cartella dei download in quella /home/pi/ e cambiatele nome premendo sulla cartella con tasto destro> Rename con assistant.json.
3. Parlate con Google Assistant attraverso la Raspberry Pi 3
Per lanciare Google Assistant sulla Raspberry Pi 3 cliccate sull’icona sul desktop e date il seguente comando:
-
Src / main.py.
La prima volta che aprirete il comando vi verranno chiesti tutti i permessi necessari per poter usare l’account Google Cloud associato al vostro indirizzo Gmail. Se è andato tutto bene sulla console vedrete un avviso che vi invita a schiacciare l’interruttore per parlare. Per uscire dall’applicazione dovrete premere CRTL+C con la finestra del terminale attiva. Ora potrete chiedere quello che volete alla cassetta di cartone che nasconde tutto il potere del Google Assistant.
Per controllare il volume dovrete solo abbassarlo dall’icona sul desktop in alto a destra o dire a Google Assistant “volume down”.
4. Attivate Google Assistant da remoto attraverso l’SSH di un altro dispositivo
Potrete attivare Google Assistant sulla Raspberry Pi 3 senza bisogno di un monitor o della tastiera/mouse grazie all’aiuto del protocollo SSH e del vostro smartphone. Per attivare il protocollo SSH andate sul Raspi su Start>Preferences>Raspberry Pi Configuration, qui sulla linguetta Interfaces marcate Enable sulla riga dell’SSH. Raccomando anche di cambiare la password di default dell’utente Pi.
Dallo smartphone e con un'app che permette la connessione SSH (o Putty da Windows) potrete introdurre l’IP locale della Raspberry Pi 3 e loggarvi direttamente nella console di comando con il vostro user (che di default è Pi) e password (che di default è raspberry).
La directory IP locale della Raspi la trovate dall’icona della connessione sul desktop della Raspi o con l'app Fing per Android.
Una volta che siete connessi alla linea di comando della Raspberry Pi 3 tramite SSH, dovrete introdurre questi due comandi per iniziare il servizio di Google Assistant:
- /home/pi/bin/voice-recognizer-shell.sh
- src/main.py
Costruite il vostro Google Home con un altoparlante e la Raspberry Pi 3
Non c’è bisogno di avere il Voice Kit AIY della rivista MagPi per poter creare il vostro Google Home. In realtà basta solo un microfono USB, delle casse con mini-jack 3,5 mm e una Raspberry Pi 3 (e se volete potete metterci anche l’interruttore).
Io non avevo neanche il microfono USB, e allora ho usato una vecchia webcam con microfono incorporato.
Potete seguire le stesse istruzioni che ho spiegato sopra per installare il software, ma dovrete fare alcune variazioni per usare il vostro hardware.
Primo. Editiamo l’archivio /boot/config.txt tramite un terminale con il comando sudo nano /boot/config.txt. Qui dovrete decommentare la riga che dice #dtparam=audio=on togliendo # e commentare le due righe seguenti lasciando il paragrafo nella seguente maniera. Una volta finito, premete CRTL+X per uscire e salvate con lo stesso nome.
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
#dtoverlay=i2s-mmap
#dtoverlay=googlevoicehat-soundcard
Secondo. Editate l’archivio /etc/asound.conf, anche questo dal terminale con sudo nano /ect/asound.conf. Qui cancellate tutto e inserite il seguente codice. Poi CRTL+X per uscire e salvate con lo stesso nome.
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker" }
pcm.mic {
type plug
slave {
pcm "hw:1,0" } }
pcm.speaker {
type plug
slave {
pcm "hw:0,0" } }
Terzo. Questo è il momento di riavviare la Raspberry Pi 3 e accertarsi che riconosca il microfono e le casse. Sul desktop trovate un archivio Check audio; con doppio click cercate il Voice Hat, che non c’è, per poterlo modificae. Scrivete sul terminale il comando sudo nano /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py, e cambiate la riga che dice VOICEHAT_ID = ‘googlevoicehat’ con VOICEHAT_ID = ‘bcm2835’ che è l’audio di default per la Raspi, CRTL+X per uscire e salvate con lo stesso nome. Ora provate di nuovo l’audio e vedrete che tutto funziona.
Quarto. Se avete un interruttore, questo è il momento di collegarlo al GPIO 23. Se non lo avete, iniziate il servizio come al punto 3 della sezione sopra con un comando speciale:
- python3 src/main.py -T clap
Con questo comando, ogni volta che battete le mani, Google Assistant si metterà in attesa di una domanda.
Anche qui potrete premere CRTL+C per uscire e naturalmente potrete attivare il servizio da un altro dispositivo tramite SSH.
Conclusione
Come potete vedere, avere Google Assistant a casa è più facile di quanto sembri. Avrete solo bisogno di una Raspberry Pi 3 e di un paio di altre cosette. L’unico problema è che per il momento è disponibile solo in inglese. A fine anno Google Assistant arriverà anche in italiano, il che significa che nel 2018 potrebbe essere già integrato nel SDK di Google Assistant che si usa con la Raspi.
Per default, il servizio Voice di Google Assistant è capace di rispondere a quasi tutte le domande che gli fate, ma il suo potere non finisce qui. Potrete anche usare la sua intelligenza artificiale, per esempio, per controllare un robot o uno specchio “magico” con la vostra voce o anche fare cose più complicate con la gestione di IFTTT. Però per fare questo dovete creare i vostri script.
Avete il coraggio di controllare l’intelligenza artificiale di Google?
ho seguito la guida ed è andato tutto bene, L'unico problema che il google assitant mi parla solo in inglese, qualcuno sa come settare la lingua italiana?
ciao, bell'articolo. ho installato tutto correttamente ma quando lancio l'ìassistant mi dice "istruzione non consentita"...
grazie per l'aiuto
Il procedimento descritto,ora che google assistant è disponibile anche in italiano, è utile anche per la creazione di un motore di ricerca in italiano? Se non è disponibile, che alternative ci sono per crearlo?
Ho visto solo ora questo articolo, ho provato, ma non ho nessun file main.py, quindi quando lancio src/main.py non trova nulla
quando esce google assistant in lingua italiana? E come si migra dalla versione inglese a quella italiana?
Assistant è già disponibile in italiano e l'attivazione avviene lato server. Basta avere lo smartphone in italiano e tenere premuto il tasto home per accedervi.
Su Google Home purtroppo, nonostante Assistant parli italiano, non è disponibile la lingua italiana :(
Non funziona da me. Dice che non trova i drivers audio. Quando salvo il file asound dice che non esiste ma se vado dentro etc lo trovo ma non mi fa modificare nulla...
Grazie per la procedura, installato il tutto correttamente senza il voice hat. Volevo chiedere se, non avendo un pulsante, è possibile sostituire la procedura della battuta delle mani con qualche altra wake word e quale sarebbe la procedura. Grazie
certo, puoi usare snowboy