Revista 100% Verde

Conversion Raspberry Pi en Amazon eco

Por Soloelectronicos @soloelectronico

Construir un dispositivo compatible con Alexa( Amazon) usando una Raspberry Pi no es en ninguna manera más barata que comprar un dispositivo Echo ya montado,a no ser que se quiera aprender e investigar su funcionamiento .Para ello, Amazon nos facilita kits de desarrollo con diversas configuraciones para poder crear prototipos y realizar las pruebas necesarias en distintos escenarios. Estos kits son geniales para fines educativos y alimentar nuestra curiosidad, pero se van un poco de precio y se complica su disponibilidad en el mercado Español asi que hoy vamos a crear un prototipo que nos permite realizar las pruebas del AVS en un equipo económico y fácil de obtener en España: una Raspberry Pi 3.

Esta pequeña placa , junto a algunos accesorios adicionales, nos permitirá crear nuestro propio Amazon Echo, hecho en casa y por poco dinero.

Echemos un vistazo a lo que necesitamos .

  • Raspberry Pi 3 con fuente de alimentación y tarjeta MicroSD
  • Micrófono USB. Se puede utilizar el micrófono incluido en algunas cámaras web para las pruebas. La gran ventaja del mini micrófono es la portabilidad del prototipo pero cualquier producto similar hará el trabajo de forma satisfactoria.
  • Altavoces con entrada de audio de 3,5 mm Aunque inclusive unos auriculares de cable son más que suficiente para realizar las pruebas, idealmente podremos contar con algún tipo de altavoz equipado con conector de 3.5mm para obtener una mejor experiencia de usuario
  • Ratón y teclado USB

Respecto al micrófono usb

Dado el precio y el tamaño, se necesita un micrófono funcional que sea capaz de captar voces cercanas o grandes sonidos pero sin gastarse una fortuna requiriéndose un micrófono usb que sea reconocido y funcione con Raspbian en una Raspberry Pi3( por ejemplo el modelo RRunzfon de kinobo)

Este tipo de micrófonos no son de alta fidelidad de modo que cuando escuche las reproducciones está claro que hay mucha estática a menos que esté hablando directamente con el micrófono, pero para este proyecto lo importante es que sea capaz de funcionar para el reconocimiento de voz utilizando la compilación Alexa Raspberry Pi.

Es interesante instalar la activación " siempre encendida " para no tener que presionar un botón para activarla, y pero dadas las características de este modesto micrófono solo funcionara si está cerca de este

Dado el tamaño y el precio, esta es una de las maneras más fáciles de agregar un micrófono por menos de $ 10, pero si está esperando un audio de alta calidad, quizás siga buscando. Para aquellos que buscan un micrófono decente para uso diario, existen mejores opciones en cuanto a calidad de sonido. (lo que hace que este micrófono sea genial es lo pequeño y económico que es)

Para las personas que buscan hacer algunas cosas técnicas de Raspberry Pi, este micrófono no funciona con RPI v1, pero sí funciona con RPI v3 de fábrica. Cuando lo conecta al puerto USB, se detecta automáticamente y puede verlo en la salida "arecord -l ".

Bajo el sistema operativo Linux, parece que el sonido grabado es un poco bajo. Es posible que necesite normalizar (aumentar la ganancia) en el sonido usando un programa como mp3gain, ffmpeg, sox, etc. o mejor aún aumentar la ganancia en el receptor usando pulseaudio. Si eleva el volumen a un nivel alto, obtendrá una gran cantidad de estática, que es de esperar.

Conversion Raspberry Pi en Amazon eco

Configuración de la cuenta de desarrollador de Amazon

Asumiendo que lo tiene todos los elementos coenctados lo primero es crear nuestra cuenta de desarrollador de Amazon y crear nuestro perfil de dispositivo

  • Ir a developer.amazon.com y o inicie la sesión con una cuenta de desarrollador o crear un inicio de sesión entonces
  • Haga clic en Consola de desarrolladores en la parte superior de la página
  • Bajo el título de Alexa seleccione Servicio de voz de Alexa.
  • Haga clic en crear producto
  • Rellene todos los campos requeridos
Conversion Raspberry Pi en Amazon eco
  • Antes de hacer clic en siguiente copie el ID del producto para su uso posterior
  • Haga clic en siguiente
  • Haga clic en Crear nuevo perfil y complete los campos requeridos
Conversion Raspberry Pi en Amazon eco
    Rellene orígenes permitidos y permitidos volver URL como se muestra a continuación
Conversion Raspberry Pi en Amazon eco
  • Copiar su ID de cliente y el Cliente secreto
  • Marque la casilla de verificación junto a la de acuerdo
  • Haga clic en Finalizar

Configuración de la Raspberry Pi con Alexa

Como siempre esta nueva versión se descarga a partir de una nueva imagen descargada a partir del sitio oficial Raspbian ,

En la url de descarga podrá apreciar en la imagen de abajo , se mantienen tanto la imagen de la versión previa mínima (Lite) o la nueva version Stretch para escritorio:

Conversion Raspberry Pi en Amazon eco

Lógicamente si la SD es suficiente grande , lo interesante es descargar la primera en lugar de la versión mínima

Una vez decidida, descargue la imagen correspondiente en su ordenador y siga los siguientes pasos:

  • Inserte la tarjeta SD en el lector de tarjetas SD de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de Raspbian.
  • Seleccione la letra de la unidad de la tarjeta SD en la caja del dispositivo. Tenga cuidado de seleccionar la unidad correcta; si usted consigue el incorrecto puede destruir los datos en el disco duro de su ordenador! Si está utilizando una ranura para tarjetas SD en su ordenador y no puede ver la unidad en la ventana Win32DiskImager, intente utilizar un adaptador SD externa.
  • Haga clic en Escribir y esperar a que la escritura se complete.
  • Salir del administrador de archivos y expulsar la tarjeta SD.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los conectores USB, conectar la con un cable ethernet al router conectividad a Internet y finalmente conectar la alimentación para comprobar que la Raspeberry arranca con la nueva imagen

La version previa basada en Raspbian Jessie ( Debian8 ) ya incluía características y aplicaciones bastante interesantes así como algunos cambios más sutiles en el diseño del sistema, como por ejemplo,al iniciar ahora su Raspberry Pi que la pantalla inicial cambiara mostrando una imagen mas moderna .También incluia algunas aplicaciones como un navegador integrado , el software de RealVNC, para acceder a la Pi desde un escritorio remoto , wallpapers nuevos para decorar el fondo de escritorio de su Raspberry Pi,etc .

Ahora lo mas importante de esta nueva actualización es sin duda la subida de version hacia Debian 9 ( recordemos que la versión anterior era Debian 8) trayendo ademas un gran número de cambios y mejoras internas respecto a Debian 8 destacando quizás ademas de la subida de version el incluir un nuevo asistente de configuración que será mostrado en el primer inicio, lo cual ayudará a los recién llegados a configurar el sistema Raspbian a su gusto sin tener que buscar los distintos paneles de ajustes.Por supuesto este asistente de configuración se ejecutará de forma automática en el primer inicio del sistema, permitiendo que los usuarios escojan su país, lenguaje, huso horario, configuren un perfil con contraseña, agreguen una red Wi-Fi e incluso instalen actualizaciones disponibles.

"

Conversion Raspberry Pi en Amazon eco

Conversion Raspberry Pi en Amazon eco

Conversion Raspberry Pi en Amazon eco

    Desde Terminal ejecutar los siguientes comandos para asegurarse de que se actualiza Raspbian, instalar Java y clonar la aplicación AVS de Alexa de GitHub:

A continuación, tenemos que actualizar el script de instalación de la aplicación AVS de Alexa con las credenciales que copio anteriormente que eran el ID producto, ID de cliente, y Cliente secreto para hacer esto siga a lo largo de los siguientes:

    Cuando se haya completado, escriba:
 cd ~/Desktop/alexa-avs-sample-app
     nano automated_install.sh
    Esto lo que hará será abrir un editor de texto. Aquí será necesario que introduzca el ProductID, ClientID(Raspberry_po), y ClientSecret que apunto en el primer paso al registrar su cuenta de desarrollador de aLexa . Introduzca cada campo , utilizando las flechas para moverse. Cuando haya terminado teclee CTRL+X para salir y guardar.
Conversion Raspberry Pi en Amazon eco
    De nuevo en la línea de comandos, es hora de instalar y ejecutar el script. Escriba
 cd ~/Desktop/alexa-avs-sample-app
 . automated_install.sh
    En el inicio del proceso de instalación, se le pedirá una serie de preguntas responde a estas e ir a buscar una cerveza.Van a salir varias preguntas, para saltarlas deberá hacerlo con la letra "Y". Esto configurará su 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.

Ejecutar el servicio web de Alexa

Ahora tenemos iniciar nuestro servicio Web, la aplicación AVS y despertar palabra motor. Esto tendrá que hacerse en tres ventanas de Terminal independiente y necesita hacerse el orden exacto que se enumeran a continuación por favor siga adelante.

1-Servicio de Web

    Desde el escritorio de Raspbian lanze el Terminal y ejecute los siguientes comandos:
    • cd ~/Desktop/alexa-avs-sample-app/samples
    • cd companionService & npm start
Conversion Raspberry Pi en Amazon eco

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

2-La aplicación AVS

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.

Abra una segunda ventana de Terminal con (File > New Window) y desde el escritorio de Raspbian lance una ventana de Terminal y ejecute los siguientes comandos:

  • cd ~/Desktop/alexa-avs-sample-app/samples
  • cd javaclient & mvn exec:exec

Después de ejecutar ese comando de la segunda consigue un popup preguntando si desea registrar el dispositivo y se debe abrir su explorador predeterminado, haga clic en sí. Como podemos imaginar esto abrirá un navegador. Una segunda ventana aparecerá en la aplicación Java y lee pedirá que haga click en OK. Es importante que NO haga click aún. Veamos pasoa a paso:

    Cuando cargue la página web tendrá algunas advertencias de seguridad insegura para ocuparse
Conversion Raspberry Pi en Amazon eco
  • Inicie sesión con sus credenciales de Amazon en ese navegador
  • Continúe con las preguntas a autorizar el dispositivo. Que eventualmente será redirigido a https://localhost:3000/authresponse
  • 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". ( "fichas de dispositivo listos")
Conversion Raspberry Pi en Amazon eco
    Ahora es cuando podrá hacer click en OK en la aplicación Java.
Conversion Raspberry Pi en Amazon eco
    La aplicación que funcionó a partir la ventana de Terminal dos tendrá ahora un botón aceptar que se necesita hacer clic

3-Encendido por voz

¿Usted quiere ser capaz de decir "Alexa" y su nuevo dispositivo responder derecho? Bien, para hacerlo necesitamos el motor de palabra empieza a ejecutarse.

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 Pi comience a escucharnos. Usaremos el software KITT.AI, pero si no funciona podéis probar sensory

Para hacer esto siga los siguientes pasos:

Conversion Raspberry Pi en Amazon eco

    Desde el escritorio de Raspbian lanzamiento de Terminal y ejecute los siguientes comandos:
    • cd ~/Desktop/alexa-avs-sample-app/samples
    • cd wakeWordAgent/src & ./wakeWordAgent -e kitt_ai

Si has seguido a lo largo de este ahora hemos terminado y ahora tienes un trabajo Amazonas Alexa habilitado Frambuesa Pi!

Eso es todo, nuestro Echo casero está ejecutándose en este momento. Haga una prueba diciendo "Alexa", deberá oír una señal indicando que está escuchando. Ahora puede hacerle preguntas eso si en ingles como por ejemplo : "¿ How is the weather?"

MEJORA DEL MICRÓFONO

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

    Introduzca en la termina ssh el siguinte comando:
 alsaixer
  • Pulsee F6 para seleccionar un USB diferente. Use, las flechas para seleccionar tu micrófono.
  • Usa las flechas para aumentar el volumen de captura.
  • Cuando esté satisfecho con el volumen, pulse ESC para salir.
  • Escriba el siguiente comando para hacer permanentes los cambios.
 sudo alsactl store

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

En este video podemos ver el proceso completo:

Fuentes


Volver a la Portada de Logo Paperblog