- Requisiti hardware
- Configurazione dell'API di Google per l'Assistente Google Raspberry Pi
- Configurazione di Google Assistant per Raspberry Pi Google Home
- Autorizzare Raspberry Pi per l'Assistente Google
- Utilizzo di Google Assistant su Raspberry Pi
Hai mai pensato a un altoparlante che può essere controllato dalla tua voce !!! Sì, Amazon Echo è uno degli altoparlanti a comando vocale più popolari, ma in concorrenza con esso anche Google Home sta diventando popolare. Gli assistenti vocali stanno diventando più popolari mentre ci stiamo dirigendo verso un'era di sistemi basati sull'intelligenza artificiale. Hai sentito parlare di Google Assistant, Apple Siri e Amazon Alexa. Questi sono tutti sistemi di intelligenza artificiale basati sulla voce, ciò che li rende diversi l'uno dall'altro è il loro ecosistema, ed è qui che l'Assistente Google si distingue di più. Google, Apple e Amazon, tutte queste società hanno già lanciato i loro altoparlanti intelligenti. Gli altoparlanti intelligenti di Google sono disponibili anche sul mercato. Abbiamo già coperto Amazon Echo basato su Raspberry Pi, questa volta trasformeremo Raspberry Pi in un Google Home Speaker.
Google fornisce l'API per l'utilizzo del suo servizio vocale, che è open source e disponibile su Github. Utilizzando il servizio vocale di Google, possiamo riprodurre musica, ottenere informazioni sul meteo, prenotare biglietti e molto altro. Tutto quello che devi fare è chiedere. In questo tutorial, vediamo come costruire un altoparlante intelligente a comando vocale utilizzando l'Assistente Google e Raspberry Pi.
Requisiti hardware
- Raspberry Pi 3 o Raspberry Pi 2 Model B e scheda SD (8 GB o più)
- Altoparlante esterno con cavo AUX da 3,5 mm
- Qualsiasi webcam o microfono USB 2.0
Supponiamo inoltre che il tuo Raspberry pi sia già configurato con un sistema operativo Raspbian e sia connesso a Internet. Con questi a posto procediamo con il tutorial. Se sei nuovo su Raspberry Pi, passa prima a Come iniziare con Raspberry pi.
Nota: la webcam ha un microfono integrato, quindi lo useremo al posto del microfono USB 2.0.
Hai anche bisogno di una tastiera, un mouse e un monitor per collegare il raspberry pi tramite cavo HDMI.
Controllo del microfono della webcam con Raspberry Pi:
1. Apri il terminale Raspberry Pi e digita arecord -l command. Questo mostrerà i dispositivi hardware che sono collegati a Raspberry Pi come mostrato di seguito:
La scheda 1 è il microfono della tua webcam che useremo. Se non viene visualizzato, la tua webcam potrebbe essere difettosa.
2. Ora, controlla se il microfono funziona eseguendo il comando di registrazione audio come:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Per riprodurre l'audio registrato, digita questo comando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Se hai collegato Raspberry Pi al monitor utilizzando un cavo HDMI, per impostazione predefinita l'uscita audio è tramite l'altoparlante del monitor (se è presente un altoparlante integrato). Quindi, per cambiarlo in 3,5 mm devi digitare il seguente comando:
sudo raspi-config e vai all'opzione Advance.
Seleziona Audio dall'elenco -> seleziona Forza 3.5mm -> seleziona Ok e riavvia il tuo Raspberry Pi.
Ora dovresti sentire il suono dal jack da 3,5 mm.
NOTA: se si desidera aumentare o diminuire il volume della voce in ingresso per il microfono, digitare alsamixer nel terminale. Seleziona la scheda audio dal terminale premendo F6.
Premere F4 per modificare il guadagno dB del microfono e impostarlo come si desidera.
Se si dispone di un microfono USB 2.0, i passaggi seguiti sono gli stessi per controllare il microfono. Qui abbiamo usato la webcam per il microfono USB.
Configurazione dell'API di Google per l'Assistente Google Raspberry Pi
1. Innanzitutto, dobbiamo registrarci e impostare un progetto nella dashboard Azioni della console di Google.
2. Dopo aver effettuato l'accesso al tuo account Google, vedrai la seguente finestra.
Fare clic su Aggiungi / Importa progetto .
3. Nella schermata successiva, è necessario inserire il nome del progetto e fare clic su Crea progetto .
4. Ora vai alla console degli sviluppatori di Google nella nuova scheda e cerca l'API dell'Assistente Google. Prima di andare avanti e premere il pulsante Abilita assicurati di aver selezionato il tuo progetto. Quindi fare clic su Abilita.
5. Ora, apri la scheda precedente della console di Google e scorri verso il basso fino alla parte inferiore dello schermo.
Troverai un'opzione Registrazione dispositivo , fai clic su di essa.
6. Nella schermata successiva, fare clic su Registra modello. Successivamente, è necessario impostare un nome prodotto, un nome produttore e impostare un tipo di dispositivo. Questi nomi possono essere qualsiasi cosa tu voglia.
Annotare l'ID del modello del dispositivo, poiché ne avremo bisogno più avanti nel processo.
Ora, fai clic su Registra modello .
7. La schermata successiva sarà per le credenziali di download. Per ottenere questo file delle credenziali, fare clic su Scarica credenziali OAuth 2.0 . Questo file è molto importante, quindi conservalo in un luogo sicuro.
Ora, fai clic su Avanti.
8. Puoi selezionare qualsiasi tratto di cui hai bisogno, ma nel nostro caso non abbiamo bisogno di nessuno di questi, quindi abbiamo semplicemente fatto clic sul pulsante Salta come mostrato di seguito .
9. Una volta fatto tutto, apparirà la seguente schermata.
10. Ora vai alla pagina Controllo attività. Qui devi attivare i seguenti controlli delle attività per assicurarti che l'API dell'Assistente Google funzioni correttamente.
Attività web e app, Cronologia delle posizioni, Informazioni sul dispositivo, Attività vocale e audio
11. Ancora una volta, vai alla console degli sviluppatori di Google. Fare clic su Credenziali sul lato sinistro della dashboard. Fare clic sulla schermata di consenso OAuth.
12. Inserisci il tuo ID Gmail e qualsiasi nome nel nome del prodotto e salvalo.
Ora, abbiamo finito con la configurazione dell'API di Google.
Configurazione di Google Assistant per Raspberry Pi Google Home
Tieni presente che da questa parte in poi ti verrà richiesto di completare il tutorial direttamente sul desktop Raspbian e non su SSH, poiché dovrai utilizzare il browser web integrato.
1. Innanzitutto, aggiorna l'elenco dei pacchetti del Raspberry Pi utilizzando il seguente comando
sudo apt-get update
2. Ora creeremo un file in cui memorizzare le credenziali scaricate in precedenza. Per questo, esegui i seguenti due comandi
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. In questo file, devi copiare il contenuto del file delle credenziali che abbiamo scaricato. Apri il file.json nel tuo editor di testo preferito e premi ctrl + A quindi ctrl + C per copiare il contenuto.
Dopo aver copiato il contenuto, salva il file premendo Ctrl + X poi Y e infine premi Invio.
4. Dopo aver salvato il file delle credenziali, inizieremo a installare alcune delle dipendenze richieste per eseguire l'Assistente Google.
Esegui il seguente comando per installare Python3 e l'ambiente virtuale Python 3 sul nostro RPi.
sudo apt-get install python3-dev python3-venv
5. Ora abilita python3 come nostro ambiente virtuale usando il seguente comando
python3 -m venv env
6. Installa le ultime versioni di pip e setuptools. Esegui il seguente comando per ottenere l'aggiornamento
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Per entrare nell'ambiente python, dobbiamo eseguire questo comando
source env/bin/activate
8. Ora installeremo la libreria dell'Assistente Google, eseguiremo i seguenti comandi uno per uno per ottenere la libreria aggiornata
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Ora abbiamo finito di installare tutte le dipendenze e le librerie richieste.
Autorizzare Raspberry Pi per l'Assistente Google
1. Installeremo prima lo strumento di autorizzazione di Google sul nostro Raspberry pi eseguendo il seguente comando
python -m pip install --upgrade google-auth-oauthlib
2. Ora, dobbiamo eseguire la libreria di autenticazione di Google. Esegui questo comando per eseguire la libreria.
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
Questo comando genererà un URL, copierà questo URL e lo incollerà nel tuo browser web.
3. Nel browser, accedi al tuo account Google, se hai più account seleziona solo quello con cui hai impostato la tua chiave API.
Dopo il login, vedrai un lungo codice di autenticazione. Copia questo codice e incollalo nella finestra del terminale e premi invio. Se l'autenticazione è verificata dovresti vedere la seguente riga apparire sulla riga di comando come mostrato nell'immagine sopra:
credenziali salvate: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Le nostre credenziali di autenticazione sono ora verificate, ma Google desidera comunque verificarle tramite una visualizzazione pop. Ma il nostro pop-up è bloccato dal CORS (Cross-origin resource sharing) quindi, prima disabilita questa cosa usando il comando sottostante.
Per utilizzare questo comando assicurati che il tuo browser Chrome sia chiuso e ora apri una nuova finestra di terminale e digita il comando. Questo comando avvierà il browser Chrome con la sicurezza CORS disabilitata, non navigare in Internet con questa disabilitata.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Dopo l'apertura del browser, vai alla finestra del terminale precedente in cui hai configurato l'esempio dell'Assistente Google.
5. Ora esegui il seguente comando al primo avvio di Google Assistant. In questo comando sostituisci
Se hai dimenticato l'ID progetto, vai alla Console azioni su Google, fai clic sul progetto che hai creato, quindi fai clic sull'icona a forma di ingranaggio nell'angolo in alto a sinistra, quindi su Impostazioni progetto.
Inoltre, sostituire
googlesamples-assistant-pushtotalk --project-id
Questo comando avvierà una nuova scheda nel browser Chromium.
6. Ora premi Invio nella finestra del terminale per attivarlo e fare qualsiasi domanda.
Quando hai posto la prima domanda, nel browser potrebbe apparire la seguente schermata. Fare clic su Continua -> Capisco -> Consenti.
Se questa schermata Continua non viene visualizzata, nessun problema.
7. Ora possiamo usare il push to talk di esempio di Google Assistant e ottenere una risposta di output.
Quando premi Invio nel terminale e pronuncia un'azione dovresti sentire una risposta verbale e si aprirà anche un'altra scheda che mostra l'azione che hai appena chiamato.
È possibile disabilitare l'apertura di tab rimuovendo l' argomento –display dal comando. Avevamo bisogno di questo per ottenere la schermata di autorizzazione.
Utilizzo di Google Assistant su Raspberry Pi
Abbiamo autorizzato il nostro Raspberry Pi. Ogni volta che desideri avviare l'Assistente Google, entra nell'ambiente e segui i passaggi seguenti.
1. Eseguire il seguente comando su get in the environment
source env / bin / activation
Vedrai (env) apparire all'inizio di ogni riga.
2. Per avviare l'esempio push to talk, eseguire il comando seguente
googlesamples-assistant-pushtotalk
Questa volta non abbiamo bisogno dell'ID prodotto e dell'ID dispositivo.
3. Oltre alla funzione Push to talk, puoi anche attivare l'assistente Google pronunciando Ok Google. Per questo devi inserire un ID dispositivo non valido affinché funzioni. L'ID del dispositivo errato può essere qualcosa come aaaa, abcd.
Ora, esegui il seguente comando.
googlesamples-assistant-hotword --device-model-id
Ora puoi chiedere qualsiasi cosa con il proprio assistente Google, basta dire Ok Google.
Quindi è così che possiamo installare Google Assistant su Raspberry Pi e trasformarlo in una Google Home collegando un altoparlante e un microfono ad esso.