Cómo instalar Alexa en Raspberry pi

En esta entrada, os vamos a mostrar cómo instalar Alexa en Raspberry pi y montar nuestro propio altavoz inteligente casero y muy económico.

Con el cual podremos, mediante comandos de voz, interactuar con el asistente de voz de Amazon, y realizar tareas cotidianas como encender o apagar luces, poner música, saber el clima que hará en nuestra ciudad y un sinfín de opciones.

Lista de materiales

La lista de materiales que necesitaremos para este proyecto es la siguiente (incluye algunos enlaces de compra para que podáis conseguir todos los materiales que os falten):

Una vez tengamos todos los materiales, tendremos que conectar nuestra Raspberry pi, usando el teclado y el ratón a un monitor HDMI. También es importante conectar el micrófono USB y los altavoces, y por supuesto el cable de red para disponer de conexión a Internet.

Prerrequisitos

Antes de hacer nada, deberemos instalar el sistema operativo en nuestra raspberry pi para poder empezar a trabajar en nuestro proyecto para crear un altavoz inteligente.

En este caso usaremos el sistema operativo por defecto, llamado Raspberry Pi Os. Para instalarlo, seguiremos los siguientes pasos:

  • Formatear la tarjeta micro SD. Este paso solo será necesario si la tarjeta micro SD que estemos usando, tiene datos guardados en ella. En caso de que sea nueva, no será necesario este paso. Para formatear la tarjeta SD, os recomendamos leer nuestra entrada dónde explicamos el proceso de forma muy sencilla: https://bugeados.com/raspberry/formatear-sd-para-raspberry-pi/
  • Descargar Raspberry Pi Imager. Para instalar el sistema operativo de forma muy intuitiva, deberemos descargar el software Raspberry Pi Imager para Windows, Mac o Linux, desde el siguiente enlace: https://www.raspberrypi.org/downloads/
  • Instalar Raspberry Pi OS en la tarjeta SD. Por último, abriremos Raspberry Pi Imager, pulsaremos el botón «Choose OS» y seleccionaremos «Raspberry Pi OS (32-bit)», a continuación pulsaremos el botón «Choose SD Card» y seleccionaremos la tarjeta SD que introducimos previamente en nuestro PC. Por último pulsaremos en el botón «Write».
Figura 1. Raspberry Pi Imager
  • Introducir la tarjeta micro SD en nuestra Raspberry Pi. Una vez haya acabado el paso anterior, ya tendremos nuestro sistema operativo instalado en la tarjeta SD, solo falta introducirla en nuestra raspberry pi y encenderla.

Registrar nuevo dispositivo en nuestra cuenta de Amazon

Una vez tengamos nuestra raspberry pi con el sistema operativo instalado, necesitaremos crear un nuevo dispositivo AVS (Alexa Voice Service) en nuestra cuenta de Amazon. Para ello, necesitaremos crear una cuenta de desarrollador en Amazon. Podéis hacerlo a través del siguiente enlace: https://developer.amazon.com/alexa/console/signin

Después de crear una cuenta de desarrollador de Amazon, crearemos un producto y un perfil de seguridad. Esto autenticará a nuestra raspberry pi para que pueda conectarse a AVS.

Los pasos a seguir son los siguientes (NOTA IMPORTANTE: LOS SIGUIENTES PASOS DEBERÁN REALIZARSE DESDE LA RASPBERRY PI, NO DESDE OTRO PC)

Para crear un producto

  1. Iniciar sesión en el panel de AVS . Si es la primera vez que se registra un producto, veremos una pantalla de bienvenida. Haremos clic en GET STARTED.
  2. Hacer clic en PRODUCTS.
  3. Hacer clic en ADD NEW PRODUCT.
  4. Elegir un Product Name . Por ejemplo, AVS Tutorials Project .
  5. Elegir una Product ID . Por ejemplo, PrototypePi . Es importante no usar espacios en el nombre de su producto.
  6. En el menú desplegable seleccionar Device with Alexa built-in .
  7. A la pregunta Will your device use a companion app? , Seleccionar No .
  8. En el menú desplegable Categoría de producto , seleccionar Otro (especifique) .
  9. Escribir una descripción en el cuadro Descripción breve del producto . Por ejemplo, Prototype .
  10. En How will users interact with your product? , seleccione Hands-free (Manos libres).
  11. Omitir el paso Upload an image (Cargar una imagen) . Esto no es necesario para la creación de prototipos.
  12. A la pregunta Do you intend to distribute this product commercially? , Seleccionar No .
  13. En Will your device be used for Alexa for Business? , Seleccionar No .
  14. En Is this device associated with one or more AWS IoT Core Accounts? , Seleccionar No .
  15. En Is this a children’s product or is it otherwise directed to children younger than 13 years old?, Seleccione No .
  16. Hacer clic en SIGUIENTE.

Para configurar su perfil de seguridad

  1. Hacer clic en CREAR PERFIL NUEVO .
  2. En Security Profile Name , ingresar un nombre relevante. Por ejemplo, AVS Tutorials Project .
  3. En Security Profile Description , ingresar una descripción. Por ejemplo, tutoriales de AVS
  4. Hacer clic en NEXT. Esto genera el ID de perfil de seguridad .
  5. Seleccionar la pestaña Other devices and platforms.
  6. En Client ID name , ingresar un nombre. Por ejemplo, Prototype.
  7. Hacer clic en Generate ID.
  8. Hacer clic en Download. Esto descarga un archivo config.json que contiene las credenciales AVS. Guardar el archivo en el directorio /home/pi.
  9. Leer los términos y condiciones de Amazon. Y marcar la casilla I agree to the AVS agreement and the AVS Program Requirements.
  10. Hacer clic en FINISH.
  11. Aparecerá una ventana emergente. Hacer clic en OK. Y ya podremos ver nuestro dispositivo en el panel de AVS .
Figura 2. Creando dispositivo AVS (1)
Figura 2. Creando dispositivo AVS (2)

Instalar el SDK de Alexa Voice Service (AVS)

Por último, deberemos instalar el SDK de AVS, esto se hace muy fácil ejecutando un script. Los pasos a seguir son los siguientes

  1. Iniciar sesión en su panel de AVS .
  2. Hacer clic en el nombre del producto que creamos previamente (debería ser AVS Tutorials Project o el nombre que hayáis elegido al crear el perfil del producto).
  3. En el menú Product Details , seleccionar Security Profile.
  4. Eligir Other devices and platforms from the Web – Android/Kindle – iOS – Other devices and platforms en el menú.
  5. Hacer clic en Download. El archivo config.json aparecerá en la carpetahome/pi/downloads. En el administrador de archivos, copiar este archivo de la carpeta /downloads y colocarlo en la carpeta home/pi como se muestra en la imagen a continuación.
  6. Abrir un nuevo terminal en nuestra rapsberry pi.
  7. Escribir el siguiente comando: cd /home/pi
  8. Ahora ejecutar el siguiente comando: wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/setup.sh \
    wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/genConfig.sh \
    wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/pi.sh
  9. Por último ejecutar este comando: sudo bash setup.sh config.json [-s 1234]
  10. Esto lanzará un script que empezará a instalar todo lo necesario en nuestra raspberry pi. Durante la ejecución del mismo, nos pedirá aceptar algunos términos y condiciones:
    – Cuando nos solicite revisar los términos de licencia de las bibliotecas externas, ingresar «AGREE«.
    – En algún momento, la instalación del SDK se detendrá y nos pedirá que aceptemos los términos y condiciones de Sensory Wake Word; escribir Yes para aceptar. El Wake Word Engine (WWE) de Sensory se usa como palabra de activación de nuestro dispositivo ( la palabra será «Alexa» ).
  11. Cuando el script termine de ejecutarse (puede tardar varios minutos, hay que ser pacientes), aparecerá un mensaje como el siguiente: [100%] Built Target SampleApp
Figura 3. Script finalizado

Listos para probar Alexa en nuestra raspberry pi

Si habéis llegado hasta aquí, enhorabuena, ya está todo el trabajo duro hecho. Ya solo nos falta comprobar que todo funciona como es debido y empezar a mandar órdenes a Alexa.

Para ello:

  1. Abrir un nuevo terminal en nuestra raspaberry pi
  2. Ejecutar el comando: cd /home/pi/
  3. Lanzar el siguiente comando: sudo bash startsample.sh
  4. Una vez nos aparezca texto similar al de la imagen siguiente, introducir el código que nos aparece en la pantalla en el siguiente enlace: https://amazon.com/us/code

¡Todo listo! Una vez metido el código de autenticación, ya tendremos Alexa en Raspberry pi y se pondrá en modo escucha, esperando escuchar la palabra de activación. Prueba a decir «Alexa, ¿qué hora es?» al micrófono de la raspberry pi, deberás escuchar por los altavoces como te responde.

Esperemos os haya gustado esta entrada. Si tenéis cualquier duda o sugerencia, podéis dejárnosla en los comentarios. ¡Gracias por leernos!