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

El Amazon eco es útil tener alrededor de la 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 van desde $ 50 a $ 150, es una propuesta costosa si no está seguro de que la usará. Sin embargo, hay buenas noticias, puedes hacer uno completamente funcional usando una Raspberry Pi.


Actualizar : Este método es un poco más fácil y le brinda un mejor producto final. . Dejamos esta guía ya que utiliza los repositorios oficiales de Amazon, pero el sistema funciona mucho mejor.

Lo que obtendrá

Al final de esta guía, tendrá (casi) Amazon Echo en pleno funcionamiento que responde a tus 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 silbatos de Alexa, el asistente virtual de Amazon. Lo que significa que puede hacer conversiones de unidades, verificar resultados deportivos, leer sus libros de 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 Alexa, y podrá instalar todas las mismas habilidades que puede en un Echo real. Esto incluye los gustos de los Batman elige tu propio juego de aventuras o un base de datos de datos de gatos . Quizás en el extremo más útil, incluye las integraciones recientemente anunciadas con aplicaciones de tareas de terceros como Todoista y Any.do .

También funcionará con una variedad de dispositivos conectados como bombillas inteligentes de la talla de LIFX o el Termostato nido , para que puedas controlarlos con tu voz. Al igual que el Echo real, tu Echo DIY se puede vincular a si esto entonces eso a añadir más características , como agregar tareas para Evernote o para recibe una notificación en tu teléfono cuando el temporizador se apaga.

En lo que respecta al precio, hay una cosa que debemos mencionar aquí: el más nuevo de Amazon. Punto de eco (el Echo más pequeño con un parlante chatarra) cuesta solo $ 50, lo que hace que crear uno propio a partir de un Raspberry Pi de $ 35 sea mucho más difícil de vender. Sin embargo, hay una característica clave de Raspberry Pi que hace que valga la pena: sigue siendo una Raspberry Pi, y no un dispositivo sin tareas . 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 una serie de otros proyectos, como un estación de juegos retro (solo tendrás que 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 piezas:

En teoría, es posible utilizar una Raspberry Pi más antigua o una Frambuesa pi cero F O r t h i s pag r O j Es C t , b en t deberá instalar manualmente el última versión de Java para hacerlo Este hilo en GitHub poder ayudar. Sin embargo, probamos esto en Raspberry Pi 2 y 3.


Construirás tu DIY Echo instalando el Kit de habilidades de Amazon Alexa en la Raspberry Pi. Para esta guía, usaremos Código oficial de Amazon . Sin embargo, esto viene con una advertencia: requiere que inicie manualmente el servicio de Alexa cada vez que arrancas la Pi . Es molesto, pero asumiendo que no pierde mucha energía o necesita reiniciar su Pi con mucha frecuencia, solo es un poco molesto.

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

Antes de hacer nada, deberá registrarse para obtener un Cuenta de desarrollador de Amazon , luego crea un perfil para tu DIY Echo. Esto es bastante sencillo:


  1. Inicie sesión en su Cuenta de desarrollador de Amazon .
  2. Haz clic en la pestaña de Alexa.
  3. Haga clic en Registrar un tipo de producto > Dispositivo.
  4. Asigne un nombre a 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, haga clic en 'Crear nuevo perfil'.
  7. En la pestaña General, junto a 'Nombre del perfil de seguridad', asigne un nombre a 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 del perfil.
  10. Junto a Orígenes permitidos, haga clic en 'Agregar otro' y escriba: https://localhost:3000.
  11. Junto a URL de retorno permitidas, haga clic en 'Agregar otra' y escriba: https://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 en los que planea usar esto. Haga clic en Siguiente.
  13. Finalmente, puede elegir agregar Amazon Music aquí. Esto hace no funcione en el dispositivo alimentado por Pi, así que déjelo marcado como 'No'. Clic en Guardar.

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

Paso dos: clonar e instalar Alexa

Conecta todo a tu Pi y enciéndelo. Deberá estar en la interfaz gráfica de usuario ( ahora llamado PIXEL ) para esto porque eventualmente usa un navegador web para autenticar su dispositivo.

  1. Abra la aplicación Terminal en Raspberry Pi y escriba: cd Desktop y presione Enter.
  2. Escriba git clone https://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 abre su 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. Escriba . automated_install.sh y presione Entrar.
  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 su trabajo.

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

Paso tres: ejecute el servicio web de 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 iniciará es el servicio web de 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. Deje esta ventana abierta.

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

Abre una segunda ventana de Terminal (Archivo > Nueva ventana). El siguiente paso ejecuta una aplicación Java y abre un navegador web que registra su Echo con tecnología Pi con el servicio web de 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. Haga clic en Sí. Esto abre una ventana del navegador. Aparecerá una segunda ventana emergente en la aplicación Java pidiéndole que haga clic en Aceptar. Hacer no haga 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 Aceptar. Su navegador ahora mostrará 'tokens de dispositivo listos'.
  6. Ahora puede hacer clic en la ventana emergente Aceptar 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 motor Wake Word

Finalmente, abra una tercera ventana de Terminal (Archivo > Nueva ventana). Aquí, iniciará el motor de palabras de activación. Esto hace que puedas decir 'Alexa' para que tu Raspberry Pi comience a escucharte. Tiene dos opciones para el software de palabra de activación, Sensorial y KITT.AI . Ambos son gratuitos, pero Sensory caduca 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. Adelante, pruébalo diciendo 'Alexa'. Debería escuchar un pitido que indica que está escuchando. Cuando escuche ese pitido, haga 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' a todo pulmón, vayamos 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. Utilice las teclas de flecha para seleccionar su micrófono.
  3. Utilice 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ía poder activar su DIY Echo hablándole como un humano normal en lugar de gritar. También puede cambiar el volumen predeterminado aquí si lo necesita.

Crédito adicional: agregar compatibilidad con AirPlay

Una cosa que le falta a su DIY Echo en la versión comercial es la capacidad de funcionar como un altavoz Bluetooth. Puedes añadir 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 un software diferente que necesitará.
  2. Presione Y cuando se le solicite y espere a que todo se descargue e instale.
  3. Escriba git clone https://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 construyen 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á shairport, el software DIY Airport. Escriba git clone https://github.com/hendrikw82/shairport.git y presione Entrar.
  11. Escriba cd shairport y presione Entrar.
  12. Escriba make y presione Entrar.
  13. Escriba ./shairport.pl -a AlexaPi y presione Entrar.

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