Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Amazon Alexa Controlando un Chromecast

[OUTDATED] Tener Amazon Alexa, a través de un Amazon Echo, controle un Google Chromecast a través de una Raspberry Pi que ejecute un script de Python.

Historia

Haciendo lo imposible:Google Chromecast y Amazon Alexa

Desde el lanzamiento de Amazon Echo, la gente ha estado pidiendo una cosa.

- Esto está desactualizado, consulte las nuevas instrucciones en Github -

¿Hay alguna forma de que pueda controlar Chromecast con Echo?

preguntó el usuario de reddit MichaelFR85

solicitud de función:compatibilidad con Chromecast

usuario de reddit sugerido Phasefx

¡Pero ahora, no esperes más!

Chromecast y Alexa ahora trabajan juntos en un intento multiplataforma para controlar Chromecasts usando una Raspberry Pi y algo de Python. Hablamos sobre "AlexaDev Tuesday:Innovative Alexa Skills Spotlight" de http://www.lovemyecho.com y reverenciado como

[una de] las habilidades de Alexa más innovadoras que están creando los desarrolladores de Alexa. Hay mucho que aprender de la forma en que estos desarrolladores han resuelto los desafíos técnicos y de codificación para crear algo extraordinario.

Usando Raspbian, Python y Chromecast con Echo Support, comencemos nuestro viaje uniéndonos a este amor prohibido.

¿Por qué Raspberry Pi?

La respuesta simple es “no solo Raspberry Pi”. Puede ejecutar este script en cualquier hardware compatible y los resultados serán los mismos. Sin embargo, elegí la Raspberry Pi por su compatibilidad, así como por su tamaño y portabilidad.

Cómo se fabrica:

Todo esto fue escrito en Python. Sin embargo, utilicé el módulo para ayudarme a conectarme con los Chromecasts y el módulo para ayudarme a conectarme a las bases de datos. Utilicé el ejemplo de “Alexa Color Expert” como base para la habilidad, escribiendo desde cero todas las funciones. El resto es desde cero.

Cómo funciona:

  • El usuario inicia la sesión preguntando a Alexa "Iniciar / Preguntar / Ejecutar Chromecast"
  • El usuario le dice a Alexa Command (la respuesta predeterminada es buscar en YouTube)
  • La solicitud se analiza y luego se envía a la base de datos MySQL alojada en Raspberry Pi
  • Python Script (también alojado en Rasp. Pi), luego lee la base de datos y ejecuta el comando correspondiente
  • La fila se elimina después de completar el comando
  • ¡Listo!

Paso 1:Configuración de su Raspberry Pi para el reenvío de puertos

Antes de comenzar:

  • Asegúrese de que su Raspberry Pi esté encendida y conectada a Internet
  • Encuentre la dirección IP de su Raspberry Pi

En su Raspberry Pi u otra PC:

  • Inicie su terminal preferido (cmd o Terminal)
  • Busque su puerta de enlace predeterminada mediante ifconfig (Linux) o ipconfig (Windows)

Ejemplo de salida de un comando ipconfig

Visite su puerta de enlace predeterminada para acceder a su enrutador.

Ejemplo de una página de inicio de sesión de enrutador

Para obtener más información sobre el reenvío de puerto de su enrutador específico, consulte aquí:http://portforward.com/

En este caso, vamos a reenviar ambos puertos 3306 (el puerto predeterminado para MySQL), el puerto 80 (para PHPMyAdmin) y el puerto 22 (para SSH)

TENGA EN CUENTA:Esto abre su red y Raspberry Pi para que otras personas accedan a ella, y causa riesgos a su información.

Paso 2:configurar mysql

Recurso:Tutorial:Instale el servidor MySQL o Raspberry Pi

sudo apt-get install mysql-server –fix-missing

Paso 3:Configurar PhpMyAdmin

Puede ver un tutorial sobre cómo configurar PHPMyAdmin aquí

Use el build.sql incluido para crear la base de datos requerida.

NOTA:asegúrese de que su usuario sea accesible desde otras ubicaciones, puede ver cómo hacerlo aquí.

Paso 4:editar sus archivos

Para comenzar, definamos algunos términos que reemplazaremos:

  • RASP_PI_DNS:se refiere a la URL del servidor MySQL que usaremos.
  • MYSQL_USER:se refiere a su nombre de usuario de MySQL
  • MYSQL_PASS:se refiere a su contraseña de MySQL
  • DB_NAME:se refiere al nombre de su base de datos MySQL
  • CHROMECAST_NAME:el nombre de su Chromecast (o el Chromecast al que desea conectarse)

Reemplaza todas las apariciones de estas cadenas tanto en index.py como en raspberry.py con sus valores correspondientes.

Paso 5:carga a Lambda

Comprima todos los archivos y carpetas EXCEPTO speechAssets y raspberry.py, luego inicie sesión en su AWS Dashboard.

Ejemplo de la sección del panel de AWS

Haga clic en Lambda.

Ejemplo de sección Lambda

En Lambda, haga clic en "Crear una nueva función Lambda".

Haga clic en "Omitir" para seleccionar el plano.

Para el nombre de su función, escriba "alexaChromecast", para el tiempo de ejecución, asegúrese de que "Python 2.7" esté seleccionado.

Para el tipo de entrada de código, seleccione "Subir un archivo zip".

Haga clic en el botón Cargar y cargue su archivo zip.

Ejemplo de configuración de la función Lambda

Establezca su controlador en index.lambda_handler, su función en la ejecución básica y su tiempo de espera en 30 segundos.

Paso 6:Configurar la habilidad en la Consola para desarrolladores de Amazon

Inicie sesión en la Consola para desarrolladores de Amazon en developer.amazon.com

Haga clic en la pestaña "Alexa".

Haga clic en "Comenzar" para el Kit de habilidades de Alexa.

Haga clic en el botón "Agregar una nueva habilidad" para agregar una nueva habilidad.

Deje el tipo de habilidad como está. Para el nombre de la aplicación, escriba "Alexa Chromecast" y para el nombre de invocación escriba "Chromecast"

Haga clic en el botón Siguiente en la esquina inferior derecha de la página.

Para el esquema de intención, use intentSchema.json ubicado en la carpeta SpeechAssets del repositorio y pegue su contenido. Haga lo mismo con las expresiones de muestra usando sample-utterances.txt.

Haga clic en el botón Siguiente.

En el cuadro "Punto final", pegue su "ARN Lambda". El ARN Lambda se encuentra en la página de funciones en la esquina superior derecha.

Seleccione "No" para vincular la cuenta.

Paso 7:configuración de raspberry.py

Mueva raspberry.py a su Raspberry Pi copiando el archivo en una unidad flash o copiándolo a través de WinSCP disponible aquí.

Ejecute raspberry.py

Paso 8:(OPCIONAL) Configuración de Cron Job

Cree un archivo bash que ejecutará raspberry.py y guárdelo como "launcher.sh".

Pon el siguiente código en launcher.sh, reemplazándolo con la ubicación de raspberry.py

sudo python3 /location/to/raspberry.py

Para saber cómo configurar el cronjob para ejecutar launcher.sh en el arranque, puede seguir las instrucciones que se encuentran aquí.

¡Ahora, usa la pestaña Prueba para probar tu nueva habilidad! Si hiciste todo correctamente, ¡deberías poder controlar tu Chromecast con Amazon Alexa!

Video:

Diagrama de interfaz VUI:

Leer más detalles:Amazon Alexa controlando un Chromecast


Proceso de manufactura

  1. Monitoreo de temperatura en Raspberry Pi
  2. Estación meteorológica Raspberry Pi 2
  3. Supervisión de la temperatura con Raspberry Pi
  4. Seguimiento de Raspberry Pi Ball
  5. Mando a distancia universal Raspberry Pi
  6. Sensor de movimiento con Raspberry Pi
  7. Un trozo de Raspberry Pi
  8. Cycle Chaser
  9. Sensor de humedad del suelo Raspberry Pi
  10. Detector de ladrones Raspberry Pi
  11. Sensores Raspberry Pi