interesante

Cómo construir tu propio Amazon Echo con una Raspberry Pi

El Amazon Echo es útil para tener en casa. Puede reproducir podcasts, tomar recordatorios y notas, decirle la duración de su viaje, incluso controlar otros electrodomésticos en su casa. Pero a precios que oscilan entre $ 50 y $ 150, es una propuesta costosa si no está seguro de usarla. Sin embargo, una buena noticia es que puedes hacer una totalmente funcional usando una Raspberry Pi.

Actualización : este método es un poco más fácil y le ofrece un mejor producto final. Dejamos esta guía ya que usa los repositorios oficiales de Amazon, pero el sistema funciona mucho mejor.

Lo que obtendrás

Al final de esta guía, tendrá un Amazon Echo (casi) totalmente funcional que responde a sus comandos de voz. Lo único que no puede hacer es acceder a servicios de música como Amazon Prime, Spotify o Pandora. De lo contrario, es un Echo con todas las campanas y silbidos de Alexa, la asistente virtual de Amazon. Lo que significa que puede hacer conversiones de unidades, verificar puntajes deportivos, leerle sus libros Kindle, verificar el clima, reproducir podcasts y radio, y mucho más. Una vez que haya terminado, podrá usar la aplicación complementaria de Alexa (iOS y Android) para modificar la configuración de su Alexa, y podrá instalar todas las mismas habilidades que puede en un Echo real. Esto incluye los gustos de Batman, elige tu propio juego de aventura o una base de datos de datos de gatos. Quizás en el extremo más útil, incluye las integraciones anunciadas recientemente con aplicaciones de tareas de terceros como Todoist y Any.do.

También funcionará con una variedad de dispositivos conectados, como bombillas inteligentes de la talla de LIFX o Nest Thermostat, para que pueda controlarlas con su voz. Al igual que el Echo real, su DIY Echo se puede vincular a If This Then That para agregar más funciones, como agregar tareas pendientes a Evernote u obtener una notificación en su teléfono cuando se apaga el temporizador.

En lo que respecta al precio, hay una cosa que deberíamos mencionar aquí: el Echo Dot más nuevo de Amazon (el Echo más pequeño con un altavoz basura) cuesta solo $ 50, lo que hace que la creación de la suya a partir de una Raspberry Pi de $ 35 sea una venta mucho más difícil. Sin embargo, hay una característica clave de la Raspberry Pi que hace que todo valga la pena: Este proyecto simplemente instala un conjunto de programas que permiten que su Raspberry Pi funcione como un Echo. Su Raspberry Pi aún puede funcionar con otros proyectos, como una estación de juegos retro (solo necesitará instalar el entorno de escritorio) o un centro de medios. Esto significa que puede convertirlo en una máquina multitarea.

Lo que necesitarás

Como era de esperar, necesitará una Raspberry Pi junto con un puñado de partes:

  • Un Raspberry Pi 3 (recomendado) o un Raspberry Pi 2 (también necesitará un adaptador USB Wi-FI con el Modelo 2) con Raspbian instalado. Si no ha instalado Raspbian antes, nuestra guía cubre todo lo que necesita saber.
  • Un cable de alimentación MicroUSB
  • Una tarjeta microSD de 8GB
  • Un micrófono USB (usé este micrófono barato de $ 6, pero casi cualquier micrófono USB parece funcionar. El Playstation Eye de $ 8 parece funcionar especialmente bien si está buscando una ligera actualización)
  • Altavoces (cualquier altavoz con alimentación hace el trabajo, decidí usar un UE Mini Boom porque ya lo poseía e incluso cuando está enchufado al Pi, todavía funciona como un altavoz Bluetooth)
  • Un teclado y mouse para configuración (o acceso a una computadora con VNC)

En teoría, es posible utilizar una Raspberry Pi anterior o una Raspberry Pi Zero para este proyecto, pero para hacerlo deberá instalar manualmente la última versión de Java. Este hilo sobre GitHub puede ayudar. Sin embargo, probamos esto en Raspberry Pi 2 y 3.

Construirá su DIY Echo instalando el Kit de habilidades de Amazon Alexa en la Raspberry Pi. Para esta guía, utilizaremos el código oficial de Amazon. Sin embargo, esto viene con una advertencia: requiere que inicies manualmente el servicio Alexa. Es molesto, pero suponiendo que no pierdas mucha energía o que necesites reiniciar tu Pi muy a menudo, es solo un poco molesto.

Paso uno: Regístrese para obtener una cuenta de desarrollador de Amazon

Antes de hacer nada, deberá registrarse para obtener una cuenta de desarrollador de Amazon gratuita y luego crear un perfil para su DIY Echo. Esto es bastante sencillo:

  1. Inicie sesión en su cuenta de desarrollador de Amazon.
  2. Haga clic en la pestaña Alexa.
  3. Haga clic en Registrar un tipo de producto> Dispositivo.
  4. Nombre su tipo de dispositivo y nombre para mostrar (Elegimos "Raspberry Pi" para ambos).
  5. Haga clic en Siguiente.
  6. En la pantalla Perfil de seguridad, deslice "Crear nuevo perfil".
  7. En la pestaña General, junto a "Nombre del perfil de seguridad", nombre su perfil. Haz lo mismo para la descripción. Haga clic en Siguiente.
  8. Tome nota de la identificación del producto, la identificación del cliente y el secreto del cliente que el sitio genera para usted.
  9. Haga clic en la pestaña Configuración web, luego haga clic en el botón Editar junto al menú desplegable de perfil.
  10. Junto a Orígenes permitidos, haga clic en "Agregar otro" y escriba: //localhost:3000 .
  11. Junto a URL de retorno permitidas, haga clic en "Agregar otro" y escriba: //localhost:3000/authresponse Haga clic en Siguiente cuando haya terminado.
  12. La pestaña Detalles del dispositivo es la siguiente. No importa mucho lo que ingreses aquí. Elija una categoría, escriba una descripción, elija una línea de tiempo esperada e ingrese un 0 en el formulario junto a la cantidad de dispositivos que planea usar. Haga clic en Siguiente.
  13. Finalmente, puedes elegir agregar Amazon Music aquí. Esto no funciona en el dispositivo con alimentación Pi, así que déjelo marcado como "No." Haga clic en Guardar.

Ahora tiene una cuenta de desarrollador de Amazon y ha creado un perfil para su Echo con Pi. Es hora de dirigirse a la Raspberry Pi y hacer que Alexa funcione.

Paso dos: clonar e instalar Alexa

Conecte todo a su Pi y enciéndalo. Necesitará estar en la interfaz gráfica de usuario (ahora llamada PIXEL) para esto porque eventualmente usa un navegador web para autenticar su dispositivo.

  1. Abra la aplicación Terminal en la Raspberry Pi y escriba: cd Desktop y presione Entrar.
  2. Escriba git clone //github.com/alexa/alexa-avs-sample-app.git y presione Entrar.

  3. Una vez que esté completo, escriba: cd ~/Desktop/alexa-avs-sample-app y presione Entrar.
  4. Escriba nano automated_install.sh y presione Entrar.
  5. Esto levanta tu editor de texto. Aquí, deberá ingresar su ProductID, ClientID y ClientSecret que anota en el paso anterior. Use las teclas de flecha para navegar a cada entrada. Ingrese cada detalle después del signo = como se indica en la imagen de arriba. Cuando haya terminado, toque CTRL + X para guardar y salir.
  6. Ahora estás de vuelta en la línea de comando. Es hora de ejecutar el script de instalación. Escriba cd ~/Desktop/alexa-avs-sample-app y presione Entrar.
  7. Escribe . automated_install.sh . automated_install.sh y presiona Enter.
  8. Cuando se le solicite, presione Y para las diferentes preguntas y responda como mejor le parezca para el resto. Esto configurará su Pi e instalará algún software adicional. Esto puede tomar hasta 30 minutos, así que déjalo hacer.

Una vez que termine, es hora de iniciar el servicio Alexa.

Paso tres: ejecute el servicio web Alexa

A continuación, ejecutará tres conjuntos de comandos a la vez en tres ventanas de Terminal diferentes. Creará una nueva ventana de Terminal para cada uno de los siguientes pasos. ¡No cierres ninguna ventana! Deberá realizar los pasos tres (este, cuatro) y cinco cada vez que reinicie su Raspberry Pi.

El primero que comenzará es el servicio web Alexa:

  1. Escriba cd ~/Desktop/alexa-avs-sample-app/samples y presione Entrar.
  2. Escriba cd companionService && npm start y presione Entrar.

Esto inicia el servicio complementario y abre un puerto para comunicarse con Amazon. Deja esta ventana abierta.

Paso cuatro: Ejecute la aplicación de muestra y confirme su cuenta

Abra una segunda ventana de Terminal (Archivo> Nueva ventana). El siguiente paso ejecuta una aplicación Java y lanza un navegador web que registra su Echo con Pi con el servicio web Alexa.

  1. En su nueva ventana de Terminal, escriba cd ~/Desktop/alexa-avs-sample-app/samples y presione Entrar.
  2. Escriba cd javaclient && mvn exec:exec y presione Entrar.
  3. Aparecerá una ventana pidiéndole que autentique su dispositivo. Haz clic en Sí. Esto abre una ventana del navegador. Aparecerá una segunda ventana emergente en la aplicación Java que le pedirá que haga clic en Aceptar. No hagas clic en esto todavía.
  4. Inicie sesión en su cuenta de Amazon en el navegador.
  5. Verá una pantalla de autenticación para su dispositivo. Haz clic en Okay. Su navegador ahora mostrará "tokens de dispositivo listos".
  6. Ahora puede hacer clic en la ventana emergente Ok en la aplicación Java.

Ahora, su Raspberry Pi tiene los tokens necesarios para comunicarse con el servidor de Amazon. Deje esta ventana de Terminal abierta.

Paso cinco: Inicie su Wake Word Engine

Finalmente, abra una tercera ventana de Terminal (Archivo> Nueva ventana). Aquí, comenzará el motor de Word Wake. Esto hace que pueda decir "Alexa" para que su Raspberry Pi comience a escucharlo. Tiene dos opciones para el software wake word, Sensory y KITT.AI. Ambos son gratuitos, pero Sensory expira después de 90 días, así que usemos KITT en su lugar:

  1. Escriba cd ~/Desktop/alexa-avs-sample-app/samples y presione Entrar.
  2. Escriba cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

Eso es todo, tu DIY Echo ahora está funcionando. Siga adelante y pruébelo diciendo "Alexa". Debería escuchar un pitido que indica que está escuchando. Cuando escuches ese pitido, haz una pregunta como "¿Qué tiempo hace?" O "¿Cuál es el puntaje en el juego de los Dodgers?"

Paso seis: mejore el micrófono y asegúrese de que su eco pueda escucharlo

Finalmente, dependiendo de la calidad de su micrófono, puede notar que tiene problemas para escucharlo. En lugar de gritar "Alexa" en la parte superior de tus pulmones, vamos a la línea de comando por última vez.

  1. Desde la línea de comando, escriba alsamixer y presione Entrar.
  2. Toque F6 para seleccionar un dispositivo USB diferente. Use las teclas de flecha para seleccionar su micrófono.
  3. Use las teclas de flecha para aumentar el volumen de captura.
  4. Cuando esté satisfecho con el volumen, toque ESC para salir.
  5. Escriba sudo alsactl store y presione Entrar para que la configuración sea permanente.

Ahora, deberías poder activar tu DIY Echo al hablarle como un humano normal en lugar de gritar. También puede cambiar el volumen predeterminado aquí si es necesario.

Crédito adicional: Agregar soporte AirPlay

Una cosa que le falta a su DIY Echo en la versión comercial es la capacidad de funcionar como un altavoz Bluetooth. Puede agregar una funcionalidad similar con AirPlay. De esta manera, su Echo también actúa como un receptor al que puede enviar música desde su teléfono o computadora. Es fácil de agregar, solo necesitará un último viaje a la línea de comando a través de la Terminal:

  1. Escriba sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl y presione Entrar. Esto instala el software diferente que necesitará.
  2. Presione Y cuando se le solicite y espere a que todo se descargue e instale.
  3. Escriba git clone //github.com/njh/perl-net-sdp.git y presione Entrar. Esto es necesario para la versión más reciente del software de AirPlay. Los siguientes comandos compilan e instalan este software.
  4. Escriba cd perl-net-sdp y presione Entrar.
  5. Escriba perl Build.PL y presione Entrar.
  6. Escriba sudo ./Build y presione Entrar.
  7. Escriba sudo ./Build test y presione Entrar.
  8. Escriba sudo ./Build install y presione Entrar.
  9. Escriba CD .. y presione Entrar.
  10. Ahora tomarás shairport, el software DIY Airport. Escriba git clone //github.com/hendrikw82/shairport.git y presione Entrar.

  11. Escriba cd shairport y presione Entrar.
  12. Escribe make y presiona Enter.
  13. Escriba ./shairport.pl -a AlexaPi y presione Entrar.

Con eso, ahora puede transmitir música u otro audio a su DIY Echo utilizando el protocolo AirPlay. Ahora que su Echo está en funcionamiento, siga adelante y comience a jugar con él.