Cómo hacer tu propio Google Home con Assistant y Raspberry Pi 3

AndroidPIT google assistant raspberry pi 1344
© nextpit

Google Home es la manera más fácil de tener Google Assistant en casa. Lo malo es que no está disponible globalmente, pero gracias a una Raspberry Pi 3 puedes tener Google Assistant en tu salón y hasta puedes controlar cualquier cosa que conectes a la Raspi solo con la voz.

Para poder usar Google Assistant en nuestra Raspberry Pi 3 necesitamos algo de hardware. Básicamente necesitamos un micrófono y un altavoz para poder comunicarnos con Google Assistant. En la MagPi (la revista oficial de Raspberry Pi) de mayo se incluía un bonito set patrocinado por Google, pero si te quedaste sin ella, no te preocupes porque se puede sustituir simplemente por unos altavoces y un micrófono USB. Aquí tienes las instrucciones para cualquiera de los dos casos:

Construye tu propio Google Home con el AIY Voice Kit de MagPi

Como ya hemos dicho, en la edición número 57 de The MagPi de mayo de 2017 (5,99£), Google incluía un kit de regalo para animar a los makers a hacer su propio Google Home. El proyecto se llama AIY que resulta de la mezcla de AI (inteligencia artificial en sus siglas en inglés, Artificial Intelligence) y DIY (hazlo tú mismo, en sus siglas en inglés, Do it Yourself).

1. Montar el kit AIY Project "made by you with Google"

El kit que viene incluido con la MagPi es muy sencillo de montar. Solo tienes que seguir las instrucciones que encontrarás dentro de la revista o en la web de AIY Proyects. Creo que lo más difícil para mí fue doblar el cartón. Para construir este kit de voz, Google nos proporciona:

  • Una placa PCB para controlar los micrófonos y el pulsador (Voice HAT)
  • Un placa PCB alargada con dos micrófonos
  • Un altavoz
  • Un pulsador
  • Un LED
  • Mecanismo para el pulsador
  • Cables para conectarlo todo
  • Caja de cartón para montar el kit
AndroidPIT google assistant raspberry pi 1329
Un altavoz para Google Assistant muy al estilo de Cardboard / © NextPit

Además de los componentes que encontramos en el kit vamos a necesitar poner de nuestra parte:

  • Una Raspberry Pi 3
  • Una tarjeta microSD parar instalar el sistema operativo
  • Un poco de cinta adhesiva
  • Un destornillador tamaño P00
AndroidPIT google assistant raspberry pi 1331
Tú tienes que poner la Raspi 3. / © NextPit

Para montar el kit AIY tenemos unas instrucciones en su web oficial, pero os resumo aquí los pasos clave.

Una vez que tenemos todos los componentes, vamos a empezar conectando la placa PCB, llamada Voice HAT y que controla los micrófonos y el pulsador, a la Raspberry Pi 3 con ayuda de dos pequeños alzadores de plástico. Ahora con un destornillador conecta los dos cables del altavoz (el rojo es positivo y el negro es negativo).

AndroidPIT google assistant raspberry pi 1641
Montando el Kit AIY de MagPi.  / © NextPit

Conecta el resto de cables a la placa. Es el momento de colocar todo esto en el primer cartón. Dóblalo dejando a la vista las inscripciones y coloca primero el altavoz. Después coloca la Raspberry Pi 3 junto con el Voice HAT. Monta la caja e introduce todo el conjunto. Ten cuidado de que el altavoz quede en la parte donde están los agujeros. 

Es la hora de fijar la carcasa del pulsador (en este caso nos ha tocado una amarilla). Primero desenrosca la tuerca de plástico negra, introduce el pulsador por el hueco de la tapa y vuelve a enroscar la tuerca negra. Ahora monta el mecanismo con el LED y el pulsador. Encájalo en el pulsador y conecta los cables con cuidado del orden correcto (rojo y azul fuera; negro y blanco en el centro).

AndroidPIT google assistant raspberry pi 1740
Cuidado al cerrar. / © NextPit

Por último, conecta la placa con los dos micrófonos y pégala con un poco de cinta adhesiva a la tapa. Ten cuidado al colocar los micrófonos para que tengan una buena entrada del sonido a través de los agujeros de la caja. Una vez que tenemos todo montado y listo es la hora de instalar el software en una tarjeta microSD.

2. Instalar el software y configurar Raspbian para usar Google Assistant

Para instalar el software necesitamos descargar la imagen del sistema y flashearla en la microSD con un ordenador:

Cuando acabamos de flashear la tarjeta la colocamos en la Raspi y ya podemos empezar. Para arrancar la Raspberry Pi 3 con el Voice Kit vamos a necesitar un monitor con cable HDMI y un teclado con ratón. Conectamos todo y le damos energía a la Raspi.

El primer inicio del sistema puede tardar varios minutos. El sistema que corre en la Raspberry Pi es una versión de Debian modificada especialmente para este dispositivo y que se llama Raspbian. Debian es una de las distribuciones más extendidas de GNU/Linux y en la que se basan distribuciones tan famosas como Ubuntu.

Una vez tengamos el escritorio activo, arriba a la derecha vamos a poder conectarnos a nuestra red Wi-Fi entre los símbolos del Bluetooth y del volumen. Una vez conectados a internet abriremos el navegador y vamos a introducir esta URL: https://console.cloud.google.com/.

Nos pedirá que introduzcamos nuestra cuenta de Gmail con la que vamos a usar los servicios de Google Cloud, de entre los cuales nos interesa Google Assistant. Así que introducimos nuestro correo y contraseña para darnos de alta en el servicio, que es gratuito. Aquí los pasos serán los siguientes:

  • Crear un nuevo proyecto, por ejemplo, llamado "Home Pi"
  • Activa la API de Google Assistant en el proyecto en API > Enable API > Google Assistant > Enable
  • Ahora crea un nuevo credencial en Credentials > Create credentials > OAuth Client ID > Other (añade un nombre) > Create
  • Necesitaremos descargar el credencial en la Raspberry Pi 3 desde la página de credenciales de las APIs de nuestro proyecto. A la derecha del todo de la credencial que acabamos de crear hay un botón para descargar.
  • Copiaremos el archivo descargado desde la carpeta de descargas hasta la carpeta /home/pi/ y le cambiaremos el nombre pulsando sobre el archivo con el botón derecho > rename por el de assistant.json

3. Hablar con Google Assistant a través de una Raspberry Pi 3

Para lanzar Google Assistant en la Raspberry Pi 3 abriremos el icono de la terminal que encontraremos en el escritorio e introduciremos el siguiente comando:

  • src/main.py.

La primera vez que corremos el comando nos pedirá los permisos oportunos para poder usar nuestra cuenta de Goolge Cloud asociada a nuestra cuenta de Gmail. Si todo ha ido bien en la consola veremos que nos avisa que para hablar primero debemos pulsar el botón. Para salir de la aplicación tendremos que pulsar CRTL+C con la ventana de la terminal activa. Ahora le puedes preguntar lo que quieras a la cajita de cartón, la cual esconde todo el poder de Google Assistant.

Para controlar el volumen solo tienes que bajarlo en el icono del escritorio arriba a la derecha o decirle a Google Assistant "volume down".

AndroidPIT google assistant raspberry pi 1755
Ahora solo pulsar para hablar. / © NextPit

4. Activar Google Assistant remotamente a través de SSH desde otro dispositivo

Podemos activar Google Assistant en la Raspberry Pi 3 sin necesidad de un monitor ni teclado/ratón gracias a la ayuda del protocolo SSH y nuestro smartphone. Para activar el protocolo SSH dirígete en la Raspi a inicio > Preferences > Raspberry Pi Configuration, aquí en la pestaña de 'Interfaces' debemos marcar en 'Enabled' la fila de SSH. También recomiendo cambiar la contraseña por defecto del usuario Pi.

Desde un smartphone y con una aplicación que permita conexiones SSH (o Putty desde Windows) vamos a poder introducir la IP local de la Raspberry Pi 3 y loguearnos directamente en una consola de comandos con nuestro usuario (que por defecto es "Pi") y contraseña (que por defecto es "raspberry").

La dirección IP local de la Raspi la puedes conocer desde el icono de la conexión en el propio escritorio de la Raspi o con la aplicación Fing para Android.

Una vez que tengamos conexión a la línea de comandos de la Raspberry Pi 3 por SSH, debemos introducir estos dos comandos para iniciar el servicio de Google Assistant:

  • /home/pi/bin/voice-recognizer-shell.sh
  • src/main.py
AndroidPIT raspberry pi 3 google assistant ssh
Activando Google Assistant por SSH desde el teléfono. / © NextPit

Construir tu propio Google Home con un altavoz y una Raspberry Pi 3

No hace tener el AIY Voice Kit de la revista MagPi para poder crear tu propio Google Home. En realidad solo necesitamos un micrófono USB, unos altavoces con mini-jack y una Raspberry Pi 3 (opcionalmente también podemos conectar un botón).

Yo no tenía a mano un micrófono USB así que he utilizado una vieja webcam que tiene un micrófono incorporado.

Podemos seguir las mismas instrucciones para instalar el software que hemos explicado arriba, pero necesitamos cambiar algunas cosas para poder utilizar nuestro propio hardware. 

Primero. Editaremos el archivo /boot/config.txt a través de una terminal con el comando sudo nano /boot/config.txt. Aquí vamos a descomentar la línea donde que dice #dtparam=audio=on borrando # y comentaremos las dos siguientes dejando el párrafo de la siguiente manera. Una vez terminado, pulsamos CRTL+X para salir y guardamos con el mismo nombre.

# Enable audio (loads snd_bcm2835)

dtparam=audio=on

#dtoverlay=i2s-mmap

#dtoverlay=googlevoicehat-soundcard

Segundo. Editaremos el archivo /etc/asound.conf, también desde la terminal con sudo nano /etc/asound.conf. Aquí borraremos todos y pegaremos el siguiente código. Después CRTL+X para salir y guardamos con el mismo nombre.

pcm.!default {

type asym

capture.pcm "mic"

playback.pcm "speaker" }

pcm.mic {

type plug

slave {

pcm "hw:1,0" } }

pcm.speaker {

type plug

slave {

pcm "hw:0,0" } }

Tercero. Ahora es el momento de reiniciar la Raspberry Pi 3 y probar que reconoce el micrófono y los altavoces. En el escritorio tenemos un archivo llamado "Check audio" si le damos doble click veremos que busca el Voice HAT que no tenemos, así que vamos a modificarlo. Escribe en una terminal el comando sudo nano /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py, y en la línea donde dice VOICEHAT_ID = ‘googlevoicehat’ la cambiaremos por VOICEHAT_ID = ‘bcm2835’ que es el sonido por defecto de la Raspi, CRTL+X para salir y guardamos con el mismo nombre. Ahora vuelve a probar el audio y verás que todo funciona.

Cuarto. Si tienes un botón, es el momento de conectarlo al GPIO 23. Si no tienes vamos a iniciar el servicio como en el paso 3 de apartado anterior con un comando especial:

  • python3 src/main.py -T clap

Con este comando cada vez que des una palmada Google Assistant esperará tu pregunta. Aquí también puedes pulsar CRTL+C para salir y por supuesto también puedes activar el servicio desde otro dispositivo a través de SSH.

Conclusión

Como puedes ver, tener Google Assistant en casa es más fácil de lo que parece. Solo necesitas una Raspberry Pi 3 y un par de cosas más. La única pega es que solo está disponible en inglés por el momento. A final de año Google Assistant estará también en español, así que para 2018 podría estar ya intergrado en el SDK de Google Assistant que usamos con la Raspi.

Por defecto, el servicio de voz de Google Assistant es capaz de contestar a casi todas las preguntas que le hagas pero su poder no acaba aquí. También puedes usar el poder de la inteligencia artificial para, por ejemplo, controlar un robot o un espejo "mágico" con tu voz y también hacer tareas más complicadas de gestión con IFTTT. Pero para esto tenemos que crear nuestros propios scripts.

¿Te animas a controlar la inteligencia artificial de Google?

nextpit recibe una comisión por las compras realizadas a través de los enlaces compartidos en este artículo. Esto no influye en el contenido editorial y no le genera costos adicionales a usted. Obtenga más información sobre cómo ganamos dinero en nuestra página de transparencia.
Ir al comentario (25)
Luis Ortega

Luis Ortega
Redactor

Luis es editor y moderador del foro. Natural de Granada, donde se formó como geólogo y profesor. Después de muchos devenires profesionales aterrizó en AndroidPIT en 2015. Geek confesado. Le gusta el software libre y como no, Android. Le encantan las apps que gestionan su mala memoria y las que facilitan la vida en general. Le encanta el mar y disfruta de su tiempo libre subido sobre cualquier tipo de tabla.

Te ha gustado este artículo? Compártelo!
Artículos recomendados
Artículo siguiente
25 Comentarios
Escribir un nuevo comentario:
Los cambios realizados se guardarán. No hay borradores guardados durante su edición
Escribir un nuevo comentario:
Los cambios realizados se guardarán. No hay borradores guardados durante su edición

  • 1
    Pepe Rodríguez Nogueira 15 nov. 2020 Link al comentario

    Buenas,
    ¿Se podría realizar algo parecido pero utilizando una Raspberry Pi Zero?


  • Francisco Henríquez 1
    Francisco Henríquez 23 mar. 2018 Link al comentario

    Estaría genial actualizar éste tutorial, ya que la última versión del proyecto AIY es del 21-Feb-2018, que intuyo incluirá el español. Además, la estructura de directorios ha cambiado y supongo que también las cosas que hay que modificar cuando no se tiene el kit. Aún así, muchas gracias por el esfuerzo y las explicaciones.


  • Javier Iturralde 1
    Javier Iturralde 22 mar. 2018 Link al comentario

    Hola, estoy intentando montar un google home con un altavoz y un microfono. tengo problemas despues de reiniciar la raspi, al poner en el terminal: sudo nano /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py, no hay ningun archivo con ese nombre y no puedo modificar el apartado voiceHat. si me pudierais ayudar lo agradeceria


  • hav martinez 1
    hav martinez 26 feb. 2018 Link al comentario

    No consiguo lanzar Google Assistant en la Rasberry, escribo el comando src/main.py el icono de la terminal y me dice que no lo encuentra. Necesito ayuda!!


    • Luis Ortega 36
      Luis Ortega 26 feb. 2018 Link al comentario

      ¿Estas utilizando la imagen del sistema operativo que está arriba para descargar?


    • Javier Iturralde 1
      Javier Iturralde 23 mar. 2018 Link al comentario

      Prueba con sec/assistant_library_with_button_demo.py


  • Miguel Rodriguez 1
    Miguel Rodriguez 4 ene. 2018 Link al comentario

    Bajen se la apk de internet de assiastant y luego lo ponen en español y listo. Nada de Allo. Saludos


    • Luis Ortega 36
      Luis Ortega 26 feb. 2018 Link al comentario

      Supongo que te refieres al comentario de más abajo, pero es de hace tiempo, cuando Assistant todavía no hablaba en español solo chateaba. Ahora está disponible en cualquier Android desde 6.0.


  • 3
    Marcelino Diharce 30 dic. 2017 Link al comentario

    Hola! Hace unos dias me llego el Kit AIY y la verdad que estoy medio atorado. Saben si hay algun grupo en Fb o Foro para realizar consultas? Es un tema que me interesaria seguir.
    Gracias a todos!


    • hav martinez 1
      hav martinez 26 feb. 2018 Link al comentario

      Me pasa lo mismo, has conseguido ponerla en español?


  • 3
    Marcelino Diharce 30 dic. 2017 Link al comentario

    Hola! hace unos dias me llego el Kit y estoy medio atorado con esto, tengo varias dudas/consultas, saben de foros o grupos de Fb o los puedo aturdir a uds con mis dudas?


  • Noctio 46
    Noctio 19 ago. 2017 Link al comentario

    Para mi las Raspberry están sobrevaloradas


  • sergio solis 4
    sergio solis 19 jul. 2017 Link al comentario

    google assistant lo puedes encontrar en la aplicacion de google Allo esta en español


  • Ramon A. 35
    Ramon A. 18 jul. 2017 Link al comentario

    El gran problema es que no está disponible en España ni en español, ni tenemos fechas previstas para ello. Parece mentira que el español sea el segundo idioma más hablado en el mundo. Un saludo.


    • Luis Ortega 36
      Luis Ortega 18 jul. 2017 Link al comentario

      Google Assistant está disponible en todo el mundo, lo único que solo funciona medianamente bien en inglés. Hay que tener en cuenta que su desarrollo es en este idioma y es muy lento, más aún si quieres abarcar otros idiomas. Para smartphones también está disponible en Alemán pero el SDK con Google Assistant solo está en inglés.
      Desde mi punto de vista no es tan malo, está poniendo la tecnología más puntera en inteligencia artificial en la palma de la mano de todo el mundo para que la utilice. Si puedo llegar a controlar un robot hecho por mi solo con la voz gracias a esta plataforma, sinceramente me da un poco igual en el idioma en el que está, el caso aquí es aprender.


      • Noctio 46
        Noctio 19 ago. 2017 Link al comentario

        Al paso que va Google...


      • Chris Blue 50
        Chris Blue 19 ago. 2017 Link al comentario

        Va demasiado rápido para el tiempo que tiene, además está a años luz de adelanto de otros de la competencia: bixby.


      • Noctio 46
        Noctio 20 ago. 2017 Link al comentario

        Sigue solo en Inglés


      • Chris Blue 50
        Chris Blue 20 ago. 2017 Link al comentario

        Penoso sería si siguiera en inglés luego de 10 años, pero no es el caso.

Mostrar todos
Escribir un nuevo comentario:
Los cambios realizados se guardarán. No hay borradores guardados durante su edición