Cómo construir un asistente de Google Home DIY con Raspberry Pi

Cómo construir un asistente de Google Home DIY con Raspberry Pi

Los asistentes controlados por voz se han convertido rápidamente en algo común. Muchos hogares tienen una Alexa o Google Home que controla todo, desde la iluminación hasta los medios, e incluso el cronometraje.





La tecnología con la que se ejecutan estos dispositivos está disponible, al menos en parte, para todos. El Asistente SDK de Google le permite utilizar el servicio en sus propios dispositivos. Este tutorial cubre cómo configurar el Asistente de Google en su Raspberry Pi y cómo activar un LED por voz a través de los pines GPIO.





Hardware necesario para un asistente doméstico Raspberry Pi

Necesitará:





  1. Raspberry Pi con nueva instalación de Raspbian en la tarjeta SD .
  2. Cámara web USB o micrófono.
  3. Altavoz externo.
  4. Circuito del Tutorial de Pi LED (Opcional)
  5. Un navegador que inició sesión en su cuenta de Google.

Nota: El equipo de este tutorial puede variar un poco. Usé una cámara web USB de repuesto únicamente para su micrófono. Cualquier cámara web o micrófono compatible debería funcionar bien, y hay listas extensas de dispositivos compatibles con Pi ayudar.

Además, estoy usando la salida de 3,5 mm para audio. HDMI y otras fuentes de salida también funcionarán, aunque requerirán modificaciones en la configuración de sonido a continuación.



Conecte la cámara web USB y el altavoz, y configure el circuito LED si lo está usando.

Configurar el sonido

Este tutorial se puede seguir directamente en el Pi o a través de una conexión SSH en el Pi.





Ambas formas comienzan en el terminal, para comprobar la configuración de sonido. Usa los comandos arecord -l y aplicar -l para enumerar los dispositivos disponibles.

cómo cambiar ppp de imagen

La imagen de arriba muestra la cámara web USB como tarjeta 1 y dispositivo 0 . Tome nota de los números de la tarjeta y del dispositivo tanto para el micrófono como para la salida del altavoz.





Ahora, asegúrate de estar en el / inicio / pi directorio, cree un nuevo archivo y ábralo en nano:

|_+_|

El contenido de este directorio variará según la tarjeta y los números de dispositivo que esté utilizando. Aquí es donde puede optar por favorecer la salida HDMI en lugar de 3,5 mm si lo desea.

Cuando haya ingresado su versión del código anterior, presione Ctrl + X para guardar y salir.

Pruebe su configuración grabando y reproduciendo un clip corto:

Paso opcional: Si desea cambiar el volumen de entrada de su micrófono, abra alsamixer y presione F6 para alternar entre dispositivos.

¡Eso es todo! El sonido está configurado.

Creando el Proyecto de Google

Abra el navegador de Pi, alternativamente, si está conectado a través de SSH, abra un navegador localmente. Navega al Consola de acción de Google y haga clic en Nuevo proyecto .

Esto puede tardar unos minutos. Cuando termine, deje la ventana activa y abra una nueva pestaña; llegaremos a esto en un momento.

Habilitación de la API del Asistente de Google

Hay algunos ajustes en línea que deberá realizar para continuar. Navega al Sitio web de la API del Asistente de Google y haga clic en Habilitar .

El proyecto también requiere permisos de actividad. Dirígete a tu Panel de control de actividad y asegúrese de que las siguientes actividades estén activadas:

  • Actividad web y de aplicaciones (incluida la casilla de verificación Historial de Chrome)
  • Información del dispositivo
  • Actividad de voz y audio

Ahora puede continuar con el registro del dispositivo.

Registro de su Raspberry Pi

De vuelta en Action Console, seleccione Registro de dispositivo desde el panel izquierdo. Debajo Producto cree un nombre fácil de recordar para su dispositivo. El nombre del fabricante no es importante (pero debe estar allí) y seleccione Auto para el tipo de dispositivo.

Hacer clic Registrar modelo y, en la siguiente pantalla, haga clic en Descargar credenciales de OAuth 2.0 . Esto descarga un archivo JSON a su computadora. Si no está familiarizado con los archivos JSON, no se preocupe, pero aprender a usar JSON ¡Vale la pena hacerlo para el futuro!

La guía oficial de Google recomienda mover el archivo a / inicio / pi , abre el administrador de archivos y haz esto ahora.

Paso adicional para usuarios de SSH:

Si está utilizando SSH, habrá descargado el archivo JSON en su máquina local en lugar de Pi. Para transferirlo, abra una ventana de terminal separada sin conexión SSH. Desde esta ventana, copie el archivo JSON secreto del cliente con este comando:

|_+_|

Reemplace 'raspberry-pi-ip-address' con la dirección IP de su Pi, y no olvide los dos puntos antes de la ruta. Si descargó el archivo JSON en otra ubicación, modifique su ruta local para reflejar esto. Ingrese su contraseña cuando se le solicite y el archivo se copiará en el directorio de inicio de Pi.

Vuelva a la terminal SSH y navegue hasta / inicio / pi . Ingresar ls -l para listar los archivos en el directorio. Debería ver el archivo JSON secreto de cliente transferido.

Instalación del SDK

Google recomienda trabajar en un entorno virtual de Python. Cree un nuevo entorno virtual llamado env .

Si nunca ha hecho esto antes, este tutorial le ayudará a aprender a usar entornos virtuales de Python.

Instale las últimas versiones de Pip, Setuptools y Wheel y active su entorno virtual:

|_+_|

El Asistente de Google tiene algunas dependencias que debería instalar ahora en el entorno virtual.

|_+_|

Por último, instale el SDK del Asistente de Google, las muestras y la herramienta OAuth.

|_+_|

Eso es todo lo necesario para empezar a trabajar. Si alguna de las instalaciones falla, revise la ortografía y el espaciado minuciosamente.

Autenticar la Raspberry Pi

Utilizar el google-auth-oauthlib [herramienta] con el archivo JSON de credenciales descargado anteriormente para autenticar su Raspberry Pi.

|_+_|

Deberá reemplazar YOUR_CLIENT_SECRET_ID con el archivo descargado, por lo que vale la pena copiar el nombre del archivo primero. Esta identificación de cliente debe ser correcta. ¡No cambie el nombre del archivo!

Debería recibir un mensaje con un enlace, pidiéndole que pegue un código de autorización.

Al hacer clic en el enlace se abre el navegador. Se le pedirá que habilite el dispositivo en su cuenta de Google. Copie el código de autorización que sigue y péguelo nuevamente en la ventana de su terminal.

Debería recibir una lectura de confirmación Credenciales guardadas: / home / pi… , lo que significa que el Pi se ha autorizado con éxito con su cuenta de Google.

Probándolo

Ahora que todo está en su lugar, es hora de probar su Pi Google Assistant. Ejecute el asistente con este comando:

|_+_|

Necesitarás reemplazar mi-proyecto-dev con su ID de proyecto (que se encuentra en la rueda dentada Configuración de la Consola de acción). Tu id de modelo de dispositivo aparece en la sección Registro de dispositivos de Action Console.

¡Pruébalo! Di 'OK Google' y haz una pregunta. Puede ver la salida del programa en el terminal a medida que escucha la respuesta:

¡Eso es todo! El Asistente de Google ahora se está ejecutando en su Raspberry Pi. Tenga en cuenta que si el volumen de salida es un poco bajo, puede cambiarlo diciendo 'Hola Google, sube el volumen al 80%'.

Bono: GPIO activado por voz

Es posible controlar las luces con Arduino y Siri, pero hay un método más simple. Si configura un LED, puede usar el Asistente de Google para controlarlo con su voz.

Configurar el Asistente de Google para que funcione con los pines GPIO es relativamente simple, pero requiere algunos pasos adicionales. Dirígete a Google Action Console y busca tu dispositivo en Registro del dispositivo. Haga clic en él y abra el menú de rasgos:

Gire el Encendido apagado rasgo activado y haga clic en Ahorrar.

Ahora asegurándose de estar dentro del env entorno virtual, clone una versión del SDK en su Pi usando git:

|_+_|

Dado que se trata de un entorno virtual, deberá instalar RPi.GPIO antes de seguir adelante.

|_+_|

Ahora, navegue hasta la carpeta que contiene el hotword.py texto.

|_+_|

Modificar el guión

Deberá agregar algunas líneas al script hotword.py, así que ábralo en el editor nano:

|_+_|

Debajo de las declaraciones de importación, agregue las suyas propias para RPi.GPIO.

|_+_|

Busca el proceso_evento método. En la línea 66, elimine o comente la declaración de impresión y agregue una declaración if para controlar el LED.

|_+_|

Esta lógica controla el LED, pero hasta ahora no está configurado para emitir. Configúrelo en el principal() antes de que se llame al método process_event.

|_+_|

Ahora el pin GPIO está configurado para emitir y se inicializa en un estado bajo. Guardar y Salir. Puede ejecutar su secuencia de comandos modificada pasando su número de identificación de modelo (que se encuentra en la Consola de acción) como argumento.

|_+_|

La salida del terminal es la misma que antes y el asistente funcionará de serie. Ahora, sin embargo, cuando diga 'OK Google, enciéndalo' verá una nueva salida:

Nota: La imagen de arriba ha sido recortada, mostrando solo al asistente que escucha la solicitud y la declaración impresa agregada al guión.

¡Debería ver su LED encenderse también!

cómo ver youtube sin iniciar sesión

Tu propio asistente de bricolaje Raspberry Pi Google Home

Este proyecto es una buena introducción al uso de los servicios API de Google. Ahora que tiene un dispositivo con el Asistente de Google, pruebe algunos de los mejores comandos de Google Home --- hemos visto algunos fantásticos minijuegos de Google Home .

Cuota Cuota Pío Correo electrónico Cómo limpiar su PC con Windows usando el símbolo del sistema

Si su PC con Windows se está quedando sin espacio de almacenamiento, limpie la basura con estas rápidas utilidades del símbolo del sistema.

Leer siguiente
Temas relacionados
  • Bricolaje
  • Frambuesa pi
  • Hubs inteligentes
  • Luces led
  • Asistente de Google
  • Tutoriales de proyectos de bricolaje
Sobre el Autor Ian Buckley(216 Artículos publicados)

Ian Buckley es un periodista, músico, intérprete y productor de video independiente que vive en Berlín, Alemania. Cuando no está escribiendo o en el escenario, está jugando con la electrónica o el código de bricolaje con la esperanza de convertirse en un científico loco.

Más de Ian Buckley

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse