- Requisitos de hardware
- Configuración de la API de Google para Raspberry Pi Google Assistant
- Configuración del Asistente de Google para Raspberry Pi Google Home
- Autorización de Raspberry Pi para el Asistente de Google
- Usando el Asistente de Google en Raspberry Pi
¿Alguna vez ha pensado en un altavoz que pueda ser controlado por su voz? Sí, Amazon Echo es uno de los altavoces controlados por voz más populares, pero en competencia con él, Google Home también se está volviendo popular. Los asistentes de voz se vuelven más populares a medida que nos dirigimos hacia una era de sistemas basados en IA. Ha oído hablar de Google Assistant, Apple Siri y Amazon Alexa. Todos estos son sistemas de inteligencia artificial basados en voz, lo que los hace diferentes entre sí son sus ecosistemas, y aquí es donde Google Assistant se destaca más. Google, Apple y Amazon, todas estas empresas ya lanzaron sus altavoces inteligentes. Los altavoces inteligentes de Google también están disponibles en el mercado. Ya cubrimos Amazon Echo basado en Raspberry Pi, esta vez convertiremos Raspberry Pi en un altavoz de Google Home.
Google proporciona la API para usar su servicio de voz, que es de código abierto y está disponible en Github. Con el servicio de voz de Google, podemos reproducir música, obtener información sobre el clima, reservar boletos y mucho más. Todo lo que tienes que hacer es preguntar. En este tutorial, veamos cómo construir un altavoz inteligente controlado por voz usando el asistente de Google y Raspberry Pi.
Requisitos de hardware
- Raspberry Pi 3 o Raspberry Pi 2 Modelo B y tarjeta SD (8GB o más)
- Altavoz externo con cable AUX de 3,5 mm
- Cualquier cámara web o micrófono USB 2.0
También asumimos que su Raspberry pi ya está configurado con un sistema operativo Raspbian y está conectado a Internet. Con esto en su lugar, procedamos con el tutorial. Si es nuevo en Raspberry Pi, primero consulte Introducción a Raspberry Pi.
Nota: La cámara web tiene un micrófono incorporado, por lo que lo usaremos en lugar del micrófono USB 2.0.
También necesita un teclado, un mouse y un monitor para conectar la raspberry pi mediante un cable HDMI.
Comprobación del micrófono de la cámara web con Raspberry Pi:
1. Abra la terminal Raspberry Pi y escriba el comando arecord -l. Esto mostrará los dispositivos de hardware que están conectados a Raspberry Pi como se muestra a continuación:
La tarjeta 1 es el micrófono de su cámara web que vamos a utilizar. Si no se muestra, su cámara web puede estar defectuosa.
2. Ahora, verifique si el micrófono está funcionando ejecutando el comando de grabación de audio como:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Para reproducir el audio grabado, escriba este comando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Si ha conectado una Raspberry Pi con un monitor mediante un cable HDMI, la salida de audio predeterminada es a través del altavoz del monitor (si tiene un altavoz incorporado). Entonces, para cambiarlo a 3.5 mm, debe escribir el siguiente comando:
sudo raspi-config y vaya a la opción Avanzada.
Seleccione Audio de la lista -> seleccione Forzar 3,5 mm -> seleccione Aceptar y reinicie su Raspberry Pi.
Ahora, debería escuchar el sonido del conector de 3,5 mm.
NOTA: Si desea aumentar o disminuir el volumen de la voz de entrada para el micrófono, escriba alsamixer en el terminal. Seleccione la tarjeta de sonido del terminal presionando F6.
Presione F4 para cambiar la ganancia de dB del micrófono y configúrela como desee.
Si tiene un micrófono USB 2.0, los pasos que se siguen son los mismos para verificar el micrófono. Aquí hemos utilizado Webcam para micrófono USB.
Configuración de la API de Google para Raspberry Pi Google Assistant
1. Primero, tenemos que registrar y configurar un proyecto en el panel de acciones de Google Console.
2. Después de iniciar sesión en su cuenta de Google, verá la siguiente ventana.
Haga clic en Agregar / Importar proyecto .
3. En la siguiente pantalla, debe ingresar el Nombre del proyecto y hacer clic en Crear proyecto .
4. Ahora, vaya a la consola de desarrolladores de Google en la nueva pestaña y busque la API del Asistente de Google. Antes de continuar y presionar el botón Habilitar, asegúrese de haber seleccionado su proyecto. Luego haga clic en Habilitar.
5. Ahora, abra la pestaña anterior de la consola de Google y desplácese hacia abajo hasta la parte inferior de la pantalla.
Encontrará una opción Registro de dispositivo , haga clic en ella.
6. En la siguiente pantalla, haga clic en Registrar modelo. Después de esto, debe establecer un nombre de producto, un nombre de fabricante y un tipo de dispositivo. Estos nombres pueden ser los que desee.
Anote el Id. Del modelo del dispositivo, ya que lo necesitaremos más adelante en el proceso.
Ahora, haga clic en Registrar modelo .
7. La siguiente pantalla será para Descargar Credenciales. Para obtener este archivo de credenciales, haga clic en Descargar credenciales de OAuth 2.0 . Este archivo es muy importante, así que guárdelo en un lugar seguro.
Ahora, haga clic en Siguiente.
8. Puede seleccionar los rasgos que necesite, pero en nuestro caso no necesitamos ninguno de ellos, así que simplemente hicimos clic en el botón Omitir como se muestra a continuación .
9. Una vez hecho todo, tendrá la siguiente pantalla.
10. Ahora, vaya a la página Controles de actividad. Aquí debe activar los siguientes controles de actividad para asegurarse de que la API del Asistente de Google funcione correctamente.
Actividad web y de aplicaciones, historial de ubicaciones, información del dispositivo, actividad de voz y audio
11. De nuevo, vaya a la consola de desarrolladores de Google. Haga clic en Credenciales en el lado izquierdo del tablero. Haga clic en la pantalla de consentimiento de OAuth.
12. Complete su ID de Gmail y cualquier nombre para el nombre del producto y guárdelo.
Ahora, hemos terminado con la configuración de la API de Google.
Configuración del Asistente de Google para Raspberry Pi Google Home
Tenga en cuenta que a partir de esta parte se le pedirá que complete el tutorial en el escritorio Raspbian directamente y no a través de SSH, ya que tendrá que usar el navegador web integrado.
1. Primero, actualice la lista de paquetes de Raspberry Pi usando el siguiente comando
sudo apt-get update
2. Ahora, crearemos un archivo donde podemos almacenar las credenciales que descargamos anteriormente. Para esto, ejecute los siguientes dos comandos
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. En este archivo, debe copiar el contenido del archivo de credenciales que descargamos. Abra el archivo.json en su editor de texto favorito y presione ctrl + A y luego ctrl + C para copiar el contenido.
Después de copiar el contenido, guarde el archivo presionando Ctrl + X, luego Y y finalmente presione Enter.
4. Después de guardar el archivo de credenciales, comenzaremos a instalar algunas de las dependencias necesarias para ejecutar el asistente de Google.
Ejecute el siguiente comando para instalar Python3 y el entorno virtual de Python 3 en nuestro RPi.
sudo apt-get install python3-dev python3-venv
5. Ahora habilite python3 como nuestro entorno virtual usando el siguiente comando
python3 -m venv env
6. Instale las últimas versiones de pip y setuptools. Ejecute el siguiente comando para obtener la actualización
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Para entrar en el entorno de Python, tenemos que ejecutar este comando
source env/bin/activate
8. Ahora instalaremos la biblioteca del Asistente de Google, ejecute los siguientes comandos uno por uno para obtener la biblioteca actualizada
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Ahora, hemos terminado de instalar todas las dependencias y bibliotecas necesarias.
Autorización de Raspberry Pi para el Asistente de Google
1. Primero instalaremos la herramienta de autorización de Google en nuestra Raspberry pi ejecutando el siguiente comando
python -m pip install --upgrade google-auth-oauthlib
2. Ahora, debemos ejecutar la biblioteca de autenticación de Google. Ejecute este comando para ejecutar la biblioteca.
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
Este comando generará una URL, copiará esta URL y la pegará en su navegador web.
3. En el navegador, inicie sesión en su cuenta de Google, si tiene varias cuentas, solo seleccione aquella con la que configuró su clave API.
Después de iniciar sesión, verá un código de autenticación largo. Copie este código y péguelo en la ventana de su terminal y presione enter. Si se verifica la autenticación, debería ver la siguiente línea aparecer en la línea de comando como se muestra en la imagen de arriba:
credenciales guardadas: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Nuestras credenciales de autenticación están verificadas ahora, pero Google aún quiere verificar a través de una pantalla emergente. Pero nuestra ventana emergente está bloqueada por CORS (intercambio de recursos de origen cruzado), así que primero deshabilite esto usando el siguiente comando.
Para usar este comando, asegúrese de que su navegador de Chrome esté cerrado y ahora abra una nueva ventana de terminal y escriba el comando. Este comando iniciará el navegador Chrome con la seguridad CORS desactivada, no navegue por Internet con esta desactivación.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Después de abrir el navegador, vaya a la ventana de terminal anterior en la que ha configurado la muestra del asistente de Google.
5. Ahora ejecute el siguiente comando para iniciar por primera vez el asistente de Google. En este comando reemplace
Si olvidó el ID del proyecto, vaya a Actions Console en Google, haga clic en el proyecto que creó, luego haga clic en el ícono de ajustes en la esquina superior izquierda y luego en Configuración del proyecto.
Además, reemplace
googlesamples-assistant-pushtotalk --project-id
Este comando abrirá una nueva pestaña en el navegador Chromium.
6. Ahora presione Enter en la ventana del terminal para activarlo y hacer cualquier pregunta.
Cuando hizo la primera pregunta, es posible que aparezca la siguiente pantalla en el navegador. Haga clic en Continuar -> Entiendo -> Permitir.
Si esta pantalla Continuar no aparece, no hay problema.
7. Ahora, podemos usar la muestra del Asistente de Google push to talk y obtener una respuesta de salida.
Cuando presiona Enter en la terminal y dice una acción, debería escuchar una respuesta verbal y también se abrirá otra pestaña que muestra la acción que acaba de llamar.
Puede desactivar la apertura de la pestaña eliminando el argumento –display del comando. Necesitábamos esto para obtener la pantalla de autorización.
Usando el Asistente de Google en Raspberry Pi
Hemos autorizado nuestra Raspberry Pi. Siempre que desee iniciar el asistente de Google, acceda al entorno y siga los pasos a continuación.
1. Ejecute el siguiente comando en get in the environment
fuente env / bin / activar
Verá aparecer (env) al principio de cada línea.
2. Para iniciar la muestra de pulsar para hablar, ejecute el siguiente comando
googlesamples-assistant-pushtotalk
Esta vez no necesitamos la identificación del producto ni la identificación del dispositivo.
3. Además de la función pulsar para hablar, también puede activar el asistente de Google diciendo Ok Google. Para esto, debe ingresar una identificación de dispositivo no válida para que funcione. La identificación de dispositivo incorrecta puede ser algo como aaaa, abcd.
Ahora, ejecute el siguiente comando.
googlesamples-assistant-hotword --device-model-id
Ahora, puedes preguntar cualquier cosa con el propio asistente de Google, solo di Ok Google.
Así es como podemos instalar el Asistente de Google en Raspberry Pi y convertirlo en un Google Home al conectarle un altavoz y un micrófono.