Haz tu propio AMAZON ECHO con una Raspberry Pi – ALEXA DIY

Hoy os traemos un tutorial muy interesante que os permitirá tener vuestro propio Amazon Echo con tan solo una Raspberry Pi.


Amazon Echo es un dispositivo lanzado al mercado por la famosa tienda online Amazon, y que tiene funciones de asistente personal. Puede reproducir música, anunciar el tiempo, leer noticias… Este tutorial mostrará de forma sencilla como construir este asistente de voz de manera casera con una Rasberry Pi. ¡Esperamos que os guste!

AMAZON ECHO EN RASPBERRY PI

AMAZON ECHO Raspberry Pi

El objetivo es que al final del tutorial puedas obtener un Amazon Echo con todas sus funcionalidades, y que responda a los comandos de voz. Sin embargo, no podrás acceder a servicios de música como Amazon Prime, Spotify o Pandora. Pero tendrá todos los tonos y la voz característica de Alexa, el asistente virtual de Amazon. Eso significa que podremos tener conversaciones, además de ofrecernos servicios como dar los resultados deportivos, leer nuestro libros Kindle, comprobar la meteorología o reproducir podcasts y la radio. También nos permitirá usar la aplicación Alexa (Para iOS o Android) para cambiar los ajustes del asistente.

A su vez nos dará acceso a diferentes dispositivos como bombillas inteligentes, o el termostato Nest, pudiéndolos controlar con tu voz. Como el echo original, nuestro echo casero nos permitirá añadir otras funcionalidades como notas o reproducir el sonido de las notificaciones de nuestro móvil.

QUE NECESITAREMOS

Principalmente utilizaremos una Raspberry Pi, además de otras partes adicionales:

  • Recomendamos una Raspberry Pi 3 o una Raspberry Pi 2 (es necesario un adaptador Wi-Fi con este modelo) con Raspbian instalado.

Nota: Si no tenemos Raspbian instalado, descargamos NOOBS (New Out Of Box Software),  extraemos el zip en una microSD mayor que 4GB y en formato FAT32 y por último la introducimos en nuestra Pi e instalamos el S.O con ayuda de un monitor externo.

Construiremos nuestro Echo casero instalando el Paquete de Funcionalidades de Alexa en la Raspberry. Para ello usaremos el Código oficial de Amazon. Esto viene con un inconveniente: el hecho de que cada vez que iniciemos la Raspberry tendremos que iniciar el asistente Alexa. Es molesto, pero asumiremos que no tendremos que reiniciar la Raspberry muchas veces.

PASO 1: REGISTRARNOS EN UNA CUENTA DE DESARROLLADORES DE AMAZON

Antes de hacer nada, debemos registrarnos con una cuenta en el Programa de desarrolladores de Amazon. Estos son los pasos:

  • Entrar en nuestra cuenta de Desarrolladores de Amazon. Si no tenemos una la creamos.
  • Entrar en la pestaña “Alexa”.
  • Ir al apartado “Alexa Voice Service”.
  • Hacer click en Register a Product Type > Device.
  • Nombra el tipo de dispositivo, y el “display name” (Una opción sencilla es poner “Raspberry_pi” en los dos campos). Este sera el ProductID.
  • Click en “Next”.
  • En la pantalla de “Security Profile”, tenemos que darle a “Create new Profile”.
  • En el campo de “Security Profile Name”, dale nombre a tu perfil; podemos hacer igual que en la descripción del dispositivo. Luego haz click en “Next”.
  • Toma nota del Client ID y Client Secret que genera el sistema. Podemos hacer una captura de pantalla o guardar la página como PDF.
  • Haz click en la pestaña “Web Settings”, y después en el botón de “Edit”, situado cerca del perfil.
  • Cerca de “Allowed Origins”, haz click en “Add Another” y escribe:
     https://localhost:3000
  • Cerca de “Allowed Return URLs”, haz click en “Add Another” y escribe:
    https://localhost:3000/authresponse
  • Cuando completes esto, haz click en “Next”.
  • La pestaña de “Device Details” es la siguiente. No importa demasiado su configuración; sin embargo, puedes añadir una categoría y escribir una descripción. Haz click en siguiente.
  • En la última pestaña puedes elegir si quieres añadir el dispositivo a Amazon Music. No funcionará en la Pi, por tanto debemos dejar esto marcado como “No”. Finalmente, haz click en “Submit”.

Ahora tienes hecha una cuenta en el programa de desarrolladores de Amazon y has creado un perfil para nuestro Echo casero. Es hora de configurar el asistente en nuestra Raspberry.

PASO 2: CLONAR E INSTALAR ALEXA

Conecta la Raspberry y arráncala. Debes estar en la interfaz gráfica de usuario (now dubbed PIXEL) para poder autenticar tu dispositivo mediante un navegador de internet.

  • Abre una terminal en la Raspberry Pi e introduce el comando:
     cd Desktop
  • Luego teclea
     git clone https://github.com/alexa/alexa-avs-sample-app.git
  • Cuando se haya completado, escribe:
     cd ~/Desktop/alexa-avs-sample-app
  • Luego introduce
     nano automated_install.sh
  • Esto lo que hará será abrir un editor de texto. Aquí será necesario que introduzcas el ProductID, ClientID, y ClientSecret que apuntaste en el paso anterior. ¡OJO! ProductID es el nombre de nuestro proyecto, en nuestro caso Raspberry_pi. Introduce cada campo al lado del igual que se indica en la imagen, utilizando las flechas para moverse. Cuando hayas terminado es importante que escribas CTRL+X para salir y guardar.
  • De nuevo en la línea de comandos, es hora de instalar y ejecutar el script. Escribe
     cd ~/Desktop/alexa-avs-sample-app
  • Escribe
     . automated_install.sh
  • Van a salir varias preguntas, para saltarlas deberás hacerlo con la letra “Y”. Esto configurará tu Raspberry e instalará algún software extra. Este proceso puede ser algo largo, unos 30 minutos, así que se paciente.

Una vez que esto se haya terminado es hora de arrancar el servicio de Alexa.

PASO 3: EJECUTAR EL SERVICIO WEB DE ALEXA

Cada uno de los pasos siguientes va a tener que hacerse en una ventana de Terminal distinta. Por tanto, necesitarás crear una ventana para cada uno de los pasos, ¡teniendo cuidado de no cerrar ninguna! Cada vez que reinicies la Raspberry es necesario que repitas los pasos tres, cuatro y cinco.

El primero es iniciar el servicio web de Alexa:

  • Escribe
     cd ~/Desktop/alexa-avs-sample-app/samples
  • Introduce:
     cd companionService && npm start

Esto inicia los servicios de la compañía y abre un puerto para comunicarse con Amazon. Recuerda dejar esta ventana abierta.

PASO 4: EJECUTA LA APLICACIÓN DE PRUEBA Y CONFIRMA TU CUENTA

Abre una segunda ventana de Terminal con (File > New Window). El siguiente paso ejecutará una aplicación de Java y lanzará un navegador con el cual podremos registrar nuestro Echo Casero con el servicio web de Alexa.

  • En tu ventana de Terminal introduce:
     cd ~/Desktop/alexa-avs-sample-app/samples
  • Luego escribe:
     cd javaclient && sudo mvn exec:exec
  • Se mostrará una ventana que te pedirá que autentiques tu dispositivo. Haz click en “Yes”. Esto abrirá un navegador. Una segunda ventana aparecerá en la aplicación Java y te pedirá que hagas click en OK. Es importante que NO hagas click aún.
  • Inicia sesión en tu cuenta de Amazon en este navegador.
  • Verás una pantalla de autenticación para tu dispositivo. Haz click en OK. Entonces el navegador va a mostrar una pantalla diciendo “device tokens ready”.
  • Ahora es cuando podrás hacer click en OK en la aplicación Java.

Ahora tu Raspberry tiene los elementos necesarios para comunicarse con el servidor de Amazon. Deja esta ventana de Terminal abierta.

PASO 5: INICIA EL ENCENDIDO DE DISPOSITIVO POR VOZ.

Finalmente, abre una Tercera ventana de Terminal (File > New Window). Aquí será cuando iniciemos el encendido automático por comandos de voz. Gracias a esto podremos sencillamente decir “Alexa” para que nuestra Raspberry comience a escucharnos. Usaremos el software KITT.AI, pero si no funciona podéis probar sensory:

  • Escribe:
     cd ~/Desktop/alexa-avs-sample-app/samples
  • Escribe:
     cd wakeWordAgent/src && sudo ./wakeWordAgent -e sensory

Eso es todo, nuestro Echo casero está ejecutándose en este momento. Haz una prueba diciendo “Alexa”, deberás oír una señal indicando que está escuchando. Ahora puedes hacerle preguntas como: “¿How is the weather?”.

PASO 6: MEJORA EL MICRÓFONO Y ASEGÚRATE DE QUE TU ECHO PUEDE ESCUCHARTE.

Finalmente, dependiendo de la calidad de tu micrófono, notarás que tiene algunos problemas a la hora de escucharte. En lugar de gritar “Alexa” cada vez que quieras usarlo, lo que haremos será regular el micrófono mediante la línea de comandos una vez más.

  • Introduce en la terminal:
     alsamixer
  • Pulsa F6 para seleccionar un USB diferente. Usa, las flechas para seleccionar tu micrófono.
  • Usa las flechas para aumentar el volumen de captura.
  • Cuando estés satisfecho con el volumen, toca ESC para salir.
  • Escribe
     sudo alsactl store

para hacer permanentes los cambios.

Ahora serás capaz de comunicarte con tu Echo casero hablando de manera normal en lugar de gritando. Desde esta misma pantalla también se puede cambiar el volumen por defecto si lo necesitaras.

¡COMPARTE SI TE HA GUSTADO!

Fuente: LifeHacker

¡Comparte si te ha gustado!

Estudiante de ingeniería informática y apasionado de la tecnología. Como redactor de Working With Android intento traeros las últimas novedades en cuanto a móviles, aplicaciones y periféricos para que siempre estéis a la última.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

12 + 2 =