Tabla de contenido:

Pi Home, un asistente virtual con tecnología de frambuesa: 11 pasos (con imágenes)
Pi Home, un asistente virtual con tecnología de frambuesa: 11 pasos (con imágenes)

Video: Pi Home, un asistente virtual con tecnología de frambuesa: 11 pasos (con imágenes)

Video: Pi Home, un asistente virtual con tecnología de frambuesa: 11 pasos (con imágenes)
Video: 1000 opciones para planificar la instalación de Home Assistant… 2024, Mes de julio
Anonim
Pi Home, un asistente virtual con tecnología Raspberry
Pi Home, un asistente virtual con tecnología Raspberry

Google Home es útil para tener en casa. Es un hermoso dispositivo con Asistente de Google incorporado: un asistente personal digital de última generación de Google. Puede reproducir medios, guardar sus recordatorios y notas, decirle la duración de su viaje, hacer automatización del hogar. Se puede colocar en cualquier lugar de su hogar y hará cosas increíbles por usted, pero es una propuesta costosa si ' no estoy seguro de que lo vaya a utilizar. Sin embargo, es una buena noticia, puede hacer uno completamente funcional con una Raspberry Pi.

Al final de esta guía, tendrás un Google Home en pleno funcionamiento que responde a tus comandos de voz. De lo contrario, es un Asistente con todas las funciones de Google Home. Lo que significa que puede realizar conversiones de unidades, reproducir medios, verificar puntajes, leer libros de audio, verificar el clima y mucho más. También funcionará con una variedad de dispositivos de automatización del hogar, como bombillas inteligentes, para que pueda controlarlos con su voz. Al igual que el Asistente de Google real, tu Google Home de bricolaje se puede vincular para agregar más funciones, como agregar tareas pendientes a Evernote o para recibir una notificación en tu teléfono cuando suena el temporizador.

Paso 1: Cosas que necesita

Cosas que necesitas
Cosas que necesitas

Necesitarías:

  • Raspberry Pi 3 o 2 con Raspbian instalado y configuración de Wi-Fi.
  • Fuente de alimentación y cable de alimentación microUSB. (Mínimo 5 V, 2 A)
  • Tarjeta micro SD. (Mínimo 8GB)
  • Un micrófono USB. (Obtendrá un montón de cómo configurar a través de Internet, también aquí …)
  • Altavoces
  • Un teclado y un mouse para configurar
  • Un LED y un par de cables para conectar.

Todas las cosas reunidas, conectadas y enchufadas, empecemos.

Paso 2: Configuración del micrófono USB

Configuración de micrófono USB
Configuración de micrófono USB
  • El Pi no tiene micrófonos incorporados. Debe conectar un micrófono USB si desea grabar audio.
  • Conecte su micrófono USB en cualquiera de las ranuras USB de su Pi.
  • Escriba el siguiente comando en la terminal.

arecord -l

Este comando enumerará todos los dispositivos de grabación de audio disponibles. Estará vacío si su micrófono USB está conectado. Debería obtener el siguiente resultado

pi @ raspberrypi: ~ $ arecord -l

**** Lista de dispositivos de hardware CAPTURE **** tarjeta 1: Dispositivo [Dispositivo de sonido USB PnP], dispositivo 0: Audio USB [Audio USB] Subdispositivos: Subdispositivo # 0: subdispositivo # 0

Puede ver que su dispositivo USB está conectado a la tarjeta 1 y la identificación del dispositivo es 0. Raspberry Pi reconoce la tarjeta 0 como la tarjeta de sonido interna, es decir, bcm2835 y otras tarjetas de sonido externas como tarjetas de sonido externas llamadas tarjeta 1, tarjeta 2 y siguiente…

Ahora, tendremos que cambiar las configuraciones de audio. Para editar el archivo asound.conf, escriba el siguiente comando

sudo nano /etc/asound.conf

Agregue las siguientes líneas en el archivo. Luego presione Ctrl + X y luego Y para guardar el archivo

pcm.! default {

type 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}

Esto configurará su micrófono externo (pcm.mic) como el dispositivo de captura de audio (pcm!. Default) y su tarjeta de sonido incorporada (tarjeta 0) como el dispositivo de altavoz.

Cree un nuevo archivo llamado.asoundrc en el directorio de inicio (/ home / pi) emitiendo el siguiente comando y pegue las configuraciones anteriores (que se agregaron en el archivo /etc/asound.conf) a este archivo

sudo nano.asoundrc.

Paso 3: Configurar la salida de su altavoz

Configuración de la salida de su altavoz
Configuración de la salida de su altavoz
  • Conecte su altavoz a la toma de auriculares de 3,5 mm de la Raspberry Pi.
  • Ejecute el siguiente comando para abrir la pantalla de configuración de pi.

sudo raspi-config

Vaya a Opciones avanzadas> Audio y seleccione el dispositivo de salida (conector de 3,5 mm o HDMI)

Paso 4: prueba el micrófono y los altavoces

Pruebe el micrófono y los altavoces
Pruebe el micrófono y los altavoces

Para probar su altavoz, ejecute el siguiente comando en la terminal. Esto reproducirá un sonido de prueba. Presione Ctrl + C para salir. Si no puede escuchar el sonido de prueba, compruebe la conexión y la alimentación de los altavoces. La prueba suena como-

Delantero izquierdo, delantero derecho

altavoz-prueba -t wav

Para probar su micrófono, ejecute el siguiente comando. Esto grabará un clip de audio corto de 5 segundos. Si obtiene algún error, vuelva a comprobar los pasos anteriores

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

Reproduzca el audio grabado y confirme que todo funciona correctamente escribiendo el siguiente comando

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

Nuestro hardware está listo

Paso 5: descargue los paquetes necesarios y configure el entorno Python:

Descargue los paquetes necesarios y configure el entorno Python
Descargue los paquetes necesarios y configure el entorno Python

Primero, actualice su sistema operativo ejecutando los comandos uno por uno en la terminal

sudo apt-get update

sudo apt-get upgrade

Ejecutar los comandos uno por uno en la terminal creará un entorno Python 3 (la biblioteca del Asistente de Google se ejecuta solo en Python 3) en su Pi e instalará los elementos necesarios

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env / bin / python -m pip install - actualizar las herramientas de configuración de pip

Activa el entorno de Python. Esto traerá un texto "(env)" delante de la terminal de comandos de su Pi

env de origen / bin / activar

Instale el paquete SDK del Asistente de Google, que contiene todo el código necesario para ejecutar el Asistente de Google en la Pi. Debería descargar la biblioteca del Asistente de Google y el significado

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

Paso 6: Habilitación del proyecto en la nube del Asistente de Google

Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
Habilitación del proyecto en la nube del Asistente de Google
  • Abra Google Cloud Console y cree un nuevo proyecto. (Nómbrelo como desee). La cuenta con la que inicie sesión se utilizará para enviar consultas al Asistente de Google y obtener su respuesta personalizada.
  • Dirígete al administrador de API y habilita la API del Asistente de Google.
  • Asegúrese de habilitar Actividad web y de aplicaciones, Información del dispositivo y Actividad de voz y audio en los Controles de actividad de la cuenta.
  • Vaya a "Credenciales" y configure la pantalla de contenido de OAuth.
  • Vaya a la pestaña "Credenciales" y cree un nuevo ID de cliente de OAuth
  • Seleccione el tipo de aplicación como "Otro" y proporcione el nombre de la clave.
  • Descargue el archivo JSON que almacena la información de la clave OAuth y guárdelo.

Paso 7: autenticar la Raspberry Pi

Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi
Autenticar la Raspberry Pi

Instale la herramienta de autorización ejecutando el siguiente comando

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

Ejecute la herramienta ejecutando el siguiente comando. Asegúrese de proporcionar la ruta correcta para el archivo JSON que descargó en el paso 6

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

Debería mostrarse como se muestra a continuación. Copie la URL y péguela en un navegador. Si en cambio, muestra:

InvalidGrantError

luego se ingresó un código inválido. Intentar otra vez.

Vaya a esta URL:

Ingrese el código de autorización:

Paso 8: Configuración del indicador LED

Configuración del indicador LED
Configuración del indicador LED
  • Conecte su LED entre GPIO pin 25 y tierra.
  • Vamos a configurar el pin 25 de GPIO como pin de salida.
  • El SDK del Asistente de Google proporciona un EventType. ON_CONVERSATION_TURN_STARTED de devolución de llamada cuando comienza la conversión con el Asistente de Google. En ese punto, vamos a configurar el GPIO 25 para que ilumine el LED.
  • Siempre que la conversación termine, se recibirá la devolución de llamada EventType. ON_CONVERSATION_TURN_FINISHED. En ese punto, reiniciaremos el GPIO 25 para apagar el LED.

Paso 9: inicializar en el arranque completo:

Inicializar al inicio completo
Inicializar al inicio completo
  • Siempre que su Pi complete el arranque, ejecutaremos un script de Python que verificará e introducirá el Asistente de Google en el arranque.
  • Primero agregue el paquete RPi. GPIO para agregar soporte GPIO usando el siguiente comando.

pip instalar RPi. GPIO

Ejecute los pasos uno por uno. Vaya al directorio de usuarios. Cree un nuevo archivo python main.py

cd / home / pi

sudo nano main.py

Escriba el script vinculado y guarde el archivo

Ahora cree un script de shell que se inicializará y ejecutará el Asistente de Google

sudo nano google-assistant-init.sh

Pegue las líneas siguientes en el archivo y guárdelo

#! / bin / sh

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

Conceda el permiso de ejecución

sudo chmod + x google-assistant-init.sh

Puede ejecutar google-assistant-init.sh para iniciar el Asistente de Google en cualquier momento.

Paso 10: Iniciar el Asistente de Google durante el arranque

Inicio del Asistente de Google durante el inicio
Inicio del Asistente de Google durante el inicio

Para habilitar el Asistente de Google en el arranque, hay dos formas. Veamos cada uno de ellos

1. Inicio automático con Pixel Desktop al arrancar:

  • Esto iniciará el Asistente de Google tan pronto como se inicie el escritorio Pixel. Asegúrese de tener seleccionado el arranque "Escritorio" en las configuraciones de Raspberry Pi.
  • Escriba el siguiente comando.

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

Agregue lo siguiente después de @xscreensaver -no-splash

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

Guarde y salga presionando “Ctrl + X” y luego “Y

2. Inicio automático con CLI en el arranque: (Yo personalmente utilicé esto, aunque el inicio automático funciona bien)

  • Esto iniciará el Asistente de Google si ha configurado el arranque CLI. Asegúrese de tener seleccionado el arranque "CLI" en las configuraciones de Raspberry Pi.
  • Escriba el siguiente comando.

sudo nano / etc / profile

Agregue la siguiente línea al final del archivo

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

Guarde y salga presionando “Ctrl + X” y luego “Y”

Paso 11: Conclusión

Conclusión
Conclusión

¿Qué es exactamente diferente en este Home Pi? Nada, excepto gastos. El resultado final es básicamente el mismo, puede activar su Google Home de bricolaje diciendo la palabra de activación "Ok Google / Hey Google", y el dispositivo funciona como un asistente real. Puede realizar muchas actividades diarias con su Google Home. Si quieres realizar tus tareas personalizadas como apagar la luz, revisar la puerta, puedes hacerlo integrando Google Actions en tu Google Assistant. Si tiene algún problema para iniciar el Asistente de Google, deje un comentario a continuación. Intentaré resolverlos tanto como pueda.

Recomendado: