Taula de continguts:

Pi Home, un assistent virtual amb tecnologia de gerds: 11 passos (amb imatges)
Pi Home, un assistent virtual amb tecnologia de gerds: 11 passos (amb imatges)

Vídeo: Pi Home, un assistent virtual amb tecnologia de gerds: 11 passos (amb imatges)

Vídeo: Pi Home, un assistent virtual amb tecnologia de gerds: 11 passos (amb imatges)
Vídeo: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, De novembre
Anonim
Pi Home, un assistent virtual amb tecnologia de gerds
Pi Home, un assistent virtual amb tecnologia de gerds

Google Home és útil per tenir a casa: és un bonic dispositiu amb assistent de Google integrat: un assistent personal digital de punta de Google. Podeu reproduir contingut multimèdia, desar recordatoris i notes, indicar-vos la durada del vostre viatge, fer la domòtica. Es pot col·locar a qualsevol lloc de casa i us farà coses sorprenents, però és una proposta cara si no esteu segur que el feu servir. Tot i que és una bona notícia, podeu fer-ne un de completament funcional amb un Raspberry Pi.

Al final d'aquesta guia, tindreu un Google Home completament funcional que respon a les vostres ordres de veu. En cas contrari, és un assistent amb totes les funcions de Google Home. Això vol dir que pot fer conversions d’unitats, reproduir contingut multimèdia, comprovar les puntuacions, llegir-vos audiollibres, comprovar el temps i moltes més coses. També funcionarà amb una gran varietat de dispositius domòtics, com ara les bombetes intel·ligents, perquè pugueu controlar-les amb la vostra veu. Igual que l'Assistent de Google real, el vostre Google Home de bricolatge es pot enllaçar per afegir més funcions, com ara afegir tasques a Evernote o rebre una notificació al telèfon quan s'apaga el temporitzador.

Pas 1: coses que necessiteu

Coses que necessiteu
Coses que necessiteu

Vostè necessitaria:

  • Raspberry Pi 3 o 2 amb Raspbian instal·lat i configuració de Wi-Fi.
  • Font d'alimentació i cable d'alimentació MicroUSB. (Mínim 5V, 2A)
  • Targeta MicroSD. (8 GB com a mínim)
  • Un micròfon USB. (Obteniu un munt de com configurar-los a Internet, també aquí …)
  • Altaveus
  • Un teclat i un ratolí per configurar
  • Un LED i un parell de cables per connectar

Totes les coses reunides, connectades i endollades, Comencem.

Pas 2: Configuració del micròfon USB

Configuració del micròfon USB
Configuració del micròfon USB
  • El Pi no té micròfons incorporats. Si voleu gravar àudio, heu de connectar un micròfon USB.
  • Connecteu el micròfon USB a qualsevol de les ranures USB del vostre Pi.
  • Escriviu l'ordre següent al terminal.

arecord -l

Aquesta ordre mostrarà tots els dispositius de gravació d'àudio disponibles. Estarà buit si el vostre micròfon USB està connectat. Hauríeu d'obtenir la següent sortida

pi @ raspberrypi: ~ $ arecord -l

**** Llista de dispositius de maquinari CAPTURE **** targeta 1: Dispositiu [Dispositiu de so USB PnP], dispositiu 0: Àudio USB [Àudio USB] Subdevices: Subdevice # 0: subdevice # 0

Podeu veure que el dispositiu USB està connectat a la targeta 1 i l’identificador del dispositiu és 0. Raspberry Pi reconeix la targeta 0 com a targeta de so interna, és a dir, bcm2835 i altres targetes de so externes com a targetes de so externes anomenades targeta 1, targeta 2 i seguint …

Ara haurem de canviar les configuracions d'àudio. Per editar el fitxer asound.conf, escriviu l'ordre següent

sudo nano /etc/asound.conf

Afegiu línies a continuació al fitxer. A continuació, premeu Ctrl + X i després d'això Y per desar el fitxer

pcm.! predeterminat {

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

Això configurarà el vostre micròfon extern (pcm.mic) com a dispositiu de captura d’àudio (pcm!. Default) i la vostra targeta de so incorporada (targeta 0) com a dispositiu d’altaveu.

Creeu un fitxer nou anomenat.asoundrc al directori inicial (/ home / pi) mitjançant l'ordre següent i enganxeu les configuracions anteriors (que es van afegir al fitxer /etc/asound.conf) a aquest fitxer

sudo nano.asoundrc.

Pas 3: Configuració de la sortida dels altaveus

Configuració de la sortida dels altaveus
Configuració de la sortida dels altaveus
  • Connecteu l’altaveu a la presa d’auriculars de 3,5 mm del Raspberry Pi.
  • Executeu l'ordre següent per obrir la pantalla de configuració del pi.

sudo raspi-config

Aneu a Opcions avançades> Àudio i seleccioneu el dispositiu de sortida (presa de 3,5 mm o HDMI)

Pas 4: proveu el micròfon i els altaveus

Proveu el micròfon i els altaveus
Proveu el micròfon i els altaveus

Per provar l'altaveu, executeu l'ordre següent al terminal. Es reproduirà un so de prova. Premeu Ctrl + C per sortir. Si no podeu escoltar el so de la prova, comproveu la connexió i l'alimentació de l'altaveu. La prova sona així:

Front esquerre, front dret

altaveu-prova -t wav

Per provar el micròfon, executeu l'ordre següent. Es gravarà un petit clip d’àudio de 5 segons. Si teniu algun error, torneu a comprovar els passos anteriors

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

Reprodueix l'àudio gravat i confirma que tot funciona correctament escrivint l'ordre següent

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

El nostre maquinari està configurat

Pas 5: baixeu els paquets necessaris i configureu l'entorn de Python:

Baixeu els paquets necessaris i configureu l'entorn de Python
Baixeu els paquets necessaris i configureu l'entorn de Python

Primer, actualitzeu el sistema operatiu executant les ordres una a una al terminal

sudo apt-get update

sudo apt-get upgrade

Si executeu les ordres un a un al terminal, es crearà l'entorn Python 3 (la biblioteca de l'Assistent de Google només s'executa a Python 3) al vostre Pi i s'instal·laran els elements necessaris

sudo apt-get install python3-dev python3-venv

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

Activeu l'entorn python. Això portarà un text "(env)" davant del terminal d'ordres del vostre Pi

font env / bin / activate

Instal·leu el paquet SDK de Google Assistant, que conté tot el codi necessari per executar l'Assistent de Google al Pi. Hauria de descarregar la Biblioteca de l'Assistent de Google i la seva importància

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

Pas 6: activació de Google Cloud Project

Activació de Google Cloud Project
Activació de Google Cloud Project
Activació de Google Cloud Project
Activació de Google Cloud Project
Activació de Google Cloud Project
Activació de Google Cloud Project
Activació del Projecte Cloud Assistant de Google
Activació del Projecte Cloud Assistant de Google
  • Obriu Google Cloud Console i creeu un projecte nou. (Digueu-li qualsevol nom.) El compte amb el qual inicieu la sessió s'utilitzarà per enviar consultes a l'Assistent de Google i obtenir la vostra resposta personalitzada.
  • Dirigiu-vos al gestor d'API i activeu l'API de l'Assistent de Google.
  • Assegureu-vos que activeu Activitat al web i en aplicacions, Informació del dispositiu i Activitat de veu i àudio als controls d'activitat del compte.
  • Aneu a "Credencials" i configureu la pantalla de contingut OAuth.
  • Aneu a la pestanya "Credencials" i creeu un nou identificador de client OAuth
  • Seleccioneu el tipus d'aplicació com a "Altres" i doneu el nom de la clau.
  • Baixeu el fitxer JSON que emmagatzema la informació de la clau OAuth i guardeu-la desada.

Pas 7: autenticació del Raspberry Pi

Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi
Autenticació del Raspberry Pi

Instal·leu l'eina d'autorització executant sota l'ordre

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

Executeu l'eina executant la següent ordre. Assegureu-vos que proporcioneu el camí correcte per al fitxer JSON que heu baixat al pas 6

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

Ha de mostrar-se com es mostra a continuació. Copieu l'URL i enganxeu-lo al navegador. Si en canvi, mostra:

InvalidGrantError

llavors es va introduir un codi no vàlid. Torna-ho a provar.

Aneu a aquest URL: https:// …

Introduïu el codi d'autorització:

Pas 8: Configuració de l'indicador LED

Configuració de l'indicador LED
Configuració de l'indicador LED
  • Connecteu el LED entre el pin 25 GPIO i el sòl.
  • Establirem el pin GPIO 25 com a pin de sortida.
  • L'SDK de l'Assistent de Google proporciona una devolució de trucada EventType. ON_CONVERSATION_TURN_STARTED quan comença la conversió amb l'Assistent de Google. En aquest moment, configurarem el GPIO 25 per encendre el LED.
  • Sempre que la conversa finalitzi EventType. ON_CONVERSATION_TURN_FINISHED es rebrà una trucada. En aquest moment, restablirem el GPIO 25 per apagar el LED.

Pas 9: Inicialització a l'arrencada completa:

Inicialització a l'arrencada completa
Inicialització a l'arrencada completa
  • Sempre que el vostre Pi finalitza l’arrencada, executarem un script Python que verificarà i introduirà l’Assistent de Google a l’arrencada.
  • Primer afegiu el paquet RPi. GPIO per afegir suport GPIO mitjançant l'ordre següent.

instal·lar pip RPi. GPIO

Executeu els passos un per un. Aneu al directori d’usuaris. Creeu un fitxer python nou main.py

cd / home / pi

sudo nano main.py

Escriviu l'script enllaçat i deseu el fitxer

Ara creeu un script de shell que inicialitzi i executi l'Assistent de Google

sudo nano google-assistant-init.sh

Enganxeu les línies següents al fitxer i deseu-lo

#! / bin / sh

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

Concedeix el permís d’execució

sudo chmod + x google-assistant-init.sh

Podeu executar google-assistant-init.sh per iniciar l'Assistent de Google en qualsevol moment.

Pas 10: Inicieu l'Assistent de Google durant l'arrencada

Inici de l'Assistent de Google durant l'arrencada
Inici de l'Assistent de Google durant l'arrencada

Per habilitar l'Assistent de Google a l'arrencada, hi ha dues maneres. Vegem cadascun d’ells

1. Inici automàtic amb Pixel Desktop a l'arrencada:

  • Això iniciarà l'Assistent de Google tan bon punt s'iniciï l'escriptori Pixel. Assegureu-vos que teniu seleccionat l’arrencada “Desktop” a les configuracions de Raspberry Pi.
  • Escriviu l'ordre següent.

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

Afegiu el següent després de @xscreensaver -no-splash

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

Deseu i sortiu prement "Ctrl + X" i després "Y

2. Inici automàtic amb CLI a l'arrencada: (personalment ho he fet servir, tot i que l'autostart funciona bé.)

  • Això iniciarà l'Assistent de Google si heu definit l'arrencada de la CLI. Assegureu-vos que teniu l’arrencada “CLI” seleccionada a les configuracions de Raspberry Pi.
  • Escriviu l'ordre següent.

sudo nano / etc / profile

Afegiu la línia següent al final del fitxer

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

Deseu i sortiu prement "Ctrl + X" i després "Y"

Pas 11: Conclusió

Conclusió
Conclusió

Què és exactament diferent d’aquest Home Pi? Res, excepte les despeses. El resultat final és bàsicament el mateix: podeu activar el vostre Google Home de bricolatge dient la paraula de vigilància "Ok Google / Hey Google" i el dispositiu funciona com un assistent real. Podeu fer moltes activitats diàries amb Google Home. Si voleu realitzar tasques personalitzades com apagar el llum, comprovar la porta, podeu fer-ho integrant Google Actions a l'Assistent de Google. Si teniu problemes per iniciar l'Assistent de Google, deixeu un comentari a continuació. Intentaré resoldre'ls tot el que pugui.

Recomanat: