Sommario:

Pi Home, un assistente virtuale basato su Raspberry: 11 passaggi (con immagini)
Pi Home, un assistente virtuale basato su Raspberry: 11 passaggi (con immagini)

Video: Pi Home, un assistente virtuale basato su Raspberry: 11 passaggi (con immagini)

Video: Pi Home, un assistente virtuale basato su Raspberry: 11 passaggi (con immagini)
Video: Installazione Home Assistant: Proviamoci su Rasperry Pi e su mini PC con VM Proxmox 2024, Dicembre
Anonim
Pi Home, un assistente virtuale alimentato da Raspberry
Pi Home, un assistente virtuale alimentato da Raspberry

Google Home è utile da avere in casa. È un bellissimo dispositivo con Google Assistant integrato: un assistente personale digitale all'avanguardia di Google. Può riprodurre contenuti multimediali, salvare promemoria e note, dirti la durata del tuo tragitto giornaliero, eseguire l'automazione domestica. Può essere posizionato ovunque a casa tua e farà cose incredibili per te, ma è una proposta costosa se tu' non sono sicuro che lo userai. Buone notizie, tuttavia, puoi crearne uno completamente funzionale usando un Raspberry Pi.

Alla fine di questa guida, avrai un Google Home perfettamente funzionante che risponde ai tuoi comandi vocali. Altrimenti, è un assistente con tutte le funzionalità di Google Home. Ciò significa che può eseguire conversioni di unità, riprodurre contenuti multimediali, controllare i punteggi, leggere audiolibri, controllare il tempo e molto altro. Funzionerà anche con una varietà di dispositivi di automazione domestica come le lampadine intelligenti, quindi puoi controllarli con la tua voce. Come il vero Assistente Google, il tuo Google Home fai da te può essere collegato per aggiungere più funzionalità, come aggiungere cose da fare a Evernote o per ricevere una notifica sul telefono quando il timer si spegne.

Passaggio 1: cose di cui hai bisogno

Cose di cui hai bisogno
Cose di cui hai bisogno

Avresti bisogno di:

  • Raspberry Pi 3 o 2 con Raspbian installato e configurazione Wi-Fi.
  • Alimentatore e cavo di alimentazione MicroUSB. (Minimo 5V, 2A)
  • Scheda MicroSD. (minimo 8 GB)
  • Un microfono USB. (Otterrai un sacco di come configurare su Internet, anche qui …)
  • Altoparlanti
  • Una tastiera e un mouse per l'installazione
  • Un LED e un paio di fili da collegare

Tutte le cose raccolte, collegate e collegate, iniziamo.

Passaggio 2: configurazione del microfono USB

Configurazione del microfono USB
Configurazione del microfono USB
  • Il Pi non ha microfoni integrati. È necessario collegare un microfono USB se si desidera registrare l'audio.
  • Collega il tuo microfono USB a uno qualsiasi degli slot USB del tuo Pi.
  • Digita il seguente comando nel terminale.

arecord -l

Questo comando elencherà tutti i dispositivi di registrazione audio disponibili. Sarà vuoto se il tuo microfono USB è collegato. Dovresti ottenere il seguente output

pi@raspberrypi:~ $ arecord -l

**** Elenco dei dispositivi hardware CAPTURE **** scheda 1: Dispositivo [Dispositivo audio PnP USB], dispositivo 0: Audio USB [Audio USB] Sottodispositivi: Sottodispositivo #0: Sottodispositivo #0

Puoi vedere che il tuo dispositivo USB è collegato alla scheda 1 e l'ID del dispositivo è 0. Raspberry Pi riconosce la scheda 0 come scheda audio interna, ovvero bcm2835 e altre schede audio esterne come schede audio esterne denominate scheda 1, scheda 2 e a seguire…

Ora, dovremo cambiare le configurazioni audio. Per modificare il file asound.conf, digita il seguente comando

sudo nano /etc/asound.conf

Aggiungi sotto le righe nel file. Quindi premi Ctrl+X e poi Y per salvare il file

pcm.!default {

digita asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { digita plug slave { pcm "hw:1, 0" } } pcm.speaker { digita scheda hw 0 } ctl.!default { digita scheda hw 0}

Questo imposterà il tuo microfono esterno (pcm.mic) come dispositivo di acquisizione audio (pcm!.default) e la tua scheda audio integrata (scheda 0) come dispositivo altoparlante.

Crea un nuovo file chiamato.asoundrc nella directory home (/home/pi) emettendo il seguente comando e incollando le configurazioni sopra (che sono state aggiunte nel file /etc/asound.conf.) a questo file

sudo nano.asoundrc.

Passaggio 3: configurazione dell'uscita dell'altoparlante

Configurazione dell'uscita dell'altoparlante
Configurazione dell'uscita dell'altoparlante
  • Collega il tuo altoparlante al jack per cuffie da 3,5 mm del Raspberry Pi.
  • Esegui il comando seguente per aprire la schermata di configurazione di pi.

sudo raspi-config

Vai su Opzioni avanzate > Audio e seleziona il dispositivo di output. (jack da 3,5 mm o HDMI)

Passaggio 4: testare il microfono e gli altoparlanti

Prova il microfono e gli altoparlanti
Prova il microfono e gli altoparlanti

Per testare il tuo altoparlante, esegui il seguente comando nel terminale. Questo riprodurrà un suono di prova. Premi Ctrl+C per uscire. Se non riesci a sentire il suono di prova, controlla la connessione e l'alimentazione degli altoparlanti. Il test suona come-

Anteriore Sinistro, Anteriore Destro

altoparlante-test -t wav

Per testare il tuo microfono, esegui il seguente comando. Questo registrerà una breve clip audio di 5 secondi. Se ricevi un errore, controlla di nuovo i passaggi precedenti

arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw

Riproduci l'audio registrato e verifica che tutto funzioni correttamente digitando il seguente comando

aplay --format=S16_LE --rate=16k out.raw

Il nostro hardware è impostato

Passaggio 5: scarica i pacchetti richiesti e configura l'ambiente Python:

Scarica i pacchetti richiesti e configura l'ambiente Python
Scarica i pacchetti richiesti e configura l'ambiente Python

Innanzitutto, aggiorna il tuo sistema operativo eseguendo i comandi uno per uno nel terminale

sudo apt-get update

sudo apt-get upgrade

L'esecuzione dei comandi uno per uno nel terminale creerà l'ambiente Python 3 (la libreria dell'Assistente Google funziona solo su Python 3) nel tuo Pi e installerà gli elementi richiesti

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env/bin/python -m pip install --upgrade pip setuptools

Attiva l'ambiente Python. Questo porterà un testo " (env)" davanti al terminale di comando del tuo Pi

source env/bin/activate

Installa il pacchetto Google Assistant SDK, che contiene tutto il codice necessario per eseguire l'Assistente Google sul Pi. Dovrebbe scaricare la libreria dell'Assistente Google e il significato

python -m pip install --upgrade google-assistant-library

Passaggio 6: abilitazione del progetto cloud dell'Assistente Google

Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
Abilitazione del progetto cloud dell'Assistente Google
  • Apri Google Cloud Console e crea un nuovo progetto. (Nominalo qualsiasi cosa.) L'account con cui accedi verrà utilizzato per inviare query all'Assistente Google e ottenere la tua risposta personalizzata.
  • Vai al gestore API e abilita l'API dell'Assistente Google.
  • Assicurati di abilitare Attività web e app, Informazioni sul dispositivo e Attività vocale e audio in Gestione attività per l'account.
  • Vai su "Credenziali" e imposta la schermata del contenuto di OAuth.
  • Vai alla scheda "Credenziali" e Crea nuovo ID client OAuth
  • Seleziona il tipo di applicazione come "Altro" e dai il nome della chiave.
  • Scarica il file JSON che memorizza le informazioni sulla chiave OAuth e tienilo salvato.

Passaggio 7: autenticazione del Raspberry Pi

Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi
Autenticazione del Raspberry Pi

Installa lo strumento di autorizzazione eseguendo il comando seguente

(env) python -m pip install --upgrade google-auth-oauthlib[strumento]

Esegui lo strumento eseguendo il comando seguente. Assicurati di fornire il percorso corretto per il file JSON che hai scaricato nel passaggio 6

(env) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Dovrebbe essere visualizzato come mostrato di seguito. Copia l'URL e incollalo in un browser. Se invece visualizza:

InvalidGrantError

quindi è stato inserito un codice non valido. Riprova.

Si prega di andare a questo URL:

Inserisci il codice di autorizzazione:

Passaggio 8: impostazione dell'indicatore LED

Impostazione dell'indicatore LED
Impostazione dell'indicatore LED
  • Collega il tuo LED tra il pin 25 e la massa GPIO.
  • Stiamo per impostare il pin 25 GPIO come pin di uscita.
  • Google Assistant SDK fornisce un callback EventType. ON_CONVERSATION_TURN_STARTED quando inizia la conversione con l'Assistente Google. A quel punto, imposteremo il GPIO 25 per accendere il LED.
  • Ogni volta che la conversazione termina, verrà ricevuto il callback EventType. ON_CONVERSATION_TURN_FINISHED. A quel punto ripristineremo il GPIO 25 per spegnere il LED.

Passaggio 9: inizializzazione al completamento dell'avvio:

Inizializzazione all'avvio completata
Inizializzazione all'avvio completata
  • Ogni volta che il tuo Pi completa l'avvio, eseguiremo uno script Python che verificherà e introdurrà l'Assistente Google all'avvio.
  • Prima aggiungi il pacchetto RPi. GPIO per aggiungere il supporto GPIO usando il seguente comando.

pip install RPi. GPIO

Esegui i passaggi uno per uno. Vai alla directory dell'utente. Crea un nuovo file python main.py

cd /home/pi

sudo nano main.py

Scrivi lo script collegato e salva il file

Ora crea uno script di shell che inizializzerà ed eseguirà l'Assistente Google

sudo nano google-assistant-init.sh

Incolla le righe sottostanti nel file e salva il file

#!/bin/sh

/home/pi/env/bin/python3 -u /home/pi/main.py

Concedere l'autorizzazione di esecuzione

sudo chmod +x google-assistant-init.sh

Puoi eseguire google-assistant-init.sh per avviare l'Assistente Google in qualsiasi momento.

Passaggio 10: avvio dell'Assistente Google durante l'avvio

Avvio dell'Assistente Google durante l'avvio
Avvio dell'Assistente Google durante l'avvio

Per abilitare l'Assistente Google all'avvio ci sono due modi. Vediamo ciascuno di loro

1. Avvio automatico con Pixel Desktop all'avvio:

  • Questo avvierà l'Assistente Google non appena il desktop Pixel si avvia. Assicurati di avere l'avvio "Desktop" selezionato nelle configurazioni Raspberry Pi.
  • Digita sotto il comando.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Aggiungi quanto segue dopo @xscreensaver -no-splash

@lxterminal -e "/home/pi/google-assistant-init.sh"

Salva ed esci premendo "Ctrl+X" e poi "Y

2. Avvio automatico con CLI all'avvio: (l'ho usato personalmente, anche se l'avvio automatico funziona bene.)

  • Questo avvierà l'Assistente Google se hai impostato l'avvio della CLI. Assicurati di avere l'avvio "CLI" selezionato nelle configurazioni Raspberry Pi.
  • Digita sotto il comando.

sudo nano /etc/profile

Aggiungi sotto la riga alla fine del file

sudo /home/pi/google-assistant-init.sh

Salva ed esci premendo “Ctrl+X” e poi “Y”

Passaggio 11: conclusione

Conclusione
Conclusione

Cosa c'è di diverso in questo Home Pi? Niente, tranne le spese. Il risultato finale è sostanzialmente lo stesso, puoi attivare il tuo Google Home fai da te pronunciando la parola sveglia "Ok Google/ Hey Google" e il dispositivo funziona proprio come un vero assistente. Puoi svolgere molte attività quotidiane con Google Home. Se desideri eseguire le tue attività personalizzate come spegnere la luce, controllare la porta, puoi farlo integrando Google Actions nel tuo Assistente Google. Se hai problemi con l'avvio dell'Assistente Google, lascia un commento qui sotto. Cercherò di risolverli il più possibile.

Consigliato: