Tabla de contenido:

Control remoto de TV con control por voz de Alexa ESP8266: 9 pasos
Control remoto de TV con control por voz de Alexa ESP8266: 9 pasos

Video: Control remoto de TV con control por voz de Alexa ESP8266: 9 pasos

Video: Control remoto de TV con control por voz de Alexa ESP8266: 9 pasos
Video: 24) Alexa y Arduino - Control mediante comandos de voz, Esp8266 - Parte 2/2 - Sistema de Domótica 2024, Noviembre
Anonim
Control remoto de TV con control por voz de Alexa ESP8266
Control remoto de TV con control por voz de Alexa ESP8266

¿Alguien en tu casa pierde el control remoto? ¿Entras en una habitación vacía y te encuentras con la televisión a todo volumen? Las baterías comienzan a fallar y no hay control desde el fondo de la habitación. Ahora puede controlar su televisor, DVR, cualquier cosa con control de infrarrojos para la que pueda capturar la señal de infrarrojos. Hice este sistema para controlar mi SKY DVR con una interfaz de voz simple.

Hardware requerido:

  1. Amazon Echo o Dot
  2. Un enrutador wifi que puede reenviar el puerto (mi proveedor de servicios hizo esto por mí)
  3. Un Arduino NANO convertido a 3V3
  4. ESP8266 -01 o similar
  5. Circuito o módulo transmisor de infrarrojos
  6. Módulo receptor de infrarrojos si desea capturar códigos.

Software y servicios necesarios:

  1. Arduino IDE, usé 1.6.11
  2. Cuenta de habilidades de Amazon Alexa (gratis)
  3. Cuenta de Amazon AWS (nivel gratuito, pero requiere tarjeta de crédito para abrir la cuenta) o servidor alternativo.

Paso 1: Configuración de habilidades de Alexa

Configuración de habilidades de Alexa
Configuración de habilidades de Alexa
Configuración de habilidades de Alexa
Configuración de habilidades de Alexa
Configuración de habilidades de Alexa
Configuración de habilidades de Alexa

El kit de habilidades de Alexas toma el comando de voz y lo filtra usando una lista de 'valores'

Una vez registrado:

En la consola para desarrolladores de Amazon, seleccione la pestaña Alexa> Kit de habilidades de Alexa [Comenzar]

[Agregar una nueva habilidad]

Tipo de habilidad: Modelo de interacción personalizado

Idioma: seleccione el correcto, cuando lo tuviera configurado en inglés (EE. UU.) ¡No respondería!

Nombre: esto no es importante ahora porque no estamos publicando.

Nombre de invocación:, elija un nombre corto, es la palabra utilizada para abrir la aplicación.

[SIGUIENTE]

Intent Schema, pegar en el código

Tipos de ranuras personalizados {Agregar tipo de ranura], ingrese EFFECT_ON_TV

en los valores de la ranura, pegar en el código

Expresiones de muestra, put, TVCommandIntent tv {TVAction}

[GUARDAR], en la siguiente página de habilidades debemos agregar un enlace al código que vamos a ejecutar cuando el "Intent" sea activado por la palabra de inicio de la aplicación "clicker" o después de eso por "tv {slot value}".

Volveremos a Alexa después de configurar el script Python del servidor Lambda.

Paso 2: secuencia de comandos de Python del servidor AWS Lambda

Regístrese para la capa gratuita de AWS, me preocupaba que esto pudiera costarme dinero real, pero después de usarlo un tiempo y leer foros, los límites de uso son tan altos para uso personal y de desarrollo que nunca debería llegar a un punto de recarga. Existe una alternativa para usar su propio servidor HTTPS y tal vez esto sea algo que el esp8266 podría hacer, ¡otro instructable!

Este es el código que se ejecuta cuando se pronuncia el Nombre de invocación (por ejemplo, "Alexa abre clicker") y recibe la palabra mágica de Alexa. Una vez que se inicia la aplicación, solo necesita decir "tv play, tv jump five" y Alexa enviará "play", "jump 5" a este script de Python. La aplicación se agota si no tiene respuestas después de un tiempo.

En AWS Services, primero seleccione su ubicación, en la parte superior derecha hay una opción.

para EE. UU., seleccione N Virginia, para la UE, seleccione Irlanda.

seleccione Lambda en el encabezado Compute.

[Crear una función Lambda]

[Función en blanco]

Configurar disparador: haga clic en el cuadro punteado y seleccione Alexa Skills Kit

[SIGUIENTE]

Configurar función

Nombra lo que quieras

Descripción, depende de ti

Runtine: Python 2.7

pegar en código Python,

en el código, la dirección URL HTTP deberá cambiarse a su propia dirección IP externa más adelante

link = "https://185.255.255.255:777/text?data=" + favorite_color

en la parte inferior de la pantalla hay un ROL, haga clic en la pestaña y seleccione Seleccionar un rol personalizado

Esto abrirá una nueva pantalla y haga clic en permitir., Regresa a la pantalla Configurar función con la ejecución básica de Lamda seleccionada como Rol existente.

[SIGUIENTE] la revisión, presione [Crear función] y debería compilarse y darle un número ARN. COPIA este código y lo incluiremos en el kit de habilidades de alexa.

Paso 3:

Paso 4: establezca el enlace del kit de habilidades de Alexa en AWS Lambda

Establecer el enlace del kit de habilidades de Alexa en AWS Lambda
Establecer el enlace del kit de habilidades de Alexa en AWS Lambda

En el kit de habilidades de Alexa, seleccione la página Configuración, encabezado Campos globales y seleccione AWS Lambda y su región y pegue el código ARN en el cuadro, [SIGUIENTE], en la prueba, verifique que ENABLED esté seleccionado.

Hemos terminado aquí por ahora, ahora por algo de hardware.

Paso 5: Conversión de Arduino NANO 3V3

Conversión Arduino NANO 3V3
Conversión Arduino NANO 3V3
Conversión Arduino NANO 3V3
Conversión Arduino NANO 3V3

El ESP8266 se ejecuta desde 3v3, por lo que puede ejecutarlo desde un regulador externo o convertir un nano. He usado un clon nano con un chip USB CH340. Tengo dos diseños diferentes de PCB que conozco, pero espero que esto cubra la mayoría de los diseños.

Necesitamos reemplazar el regulador de 5V con uno de 3v3 compatible con pines, 1117-3. luego enrute los 5V desde la toma USB solo al regulador y conecte todo lo demás a su salida. afortunadamente, esto se puede lograr quitando el diodo de entrada reemplazando el regulador y agregando un cable desde el lado de entrada del diodo al Vin en la placa nano.

compruebe que puede programar el nano después de la conversión.

Paso 6: Código NANO

Código NANO
Código NANO
Código NANO
Código NANO

Esto usó códigos para mi control remoto SKY UK, podría ser específico del modelo y vale la pena verificar que sus códigos funcionen en un boceto separado que no esté vinculado al esp8266.

Usé la biblioteca IRremote de shirriff Versión 2.0.1

Utilice el ejemplo de IRrecord para capturar comandos remotos que requieran un módulo receptor de infrarrojos o puede encontrar sus códigos en la web. No voy a entrar en eso aquí, pero aquí es donde puedes elegir lo que controlas y cómo.

Conecte un transmisor de infrarrojos disponible en eBay o construya uno. Debería utilizar un LED IR de 850nm, ya que son los más habituales en los receptores. La biblioteca IR usó D3 como su pin TX

La palabra alexa se pasa al nano, por lo que desde aquí es nano con control por voz.

Paso 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Hay muchos módulos ESP8266, utilicé uno que tuve que cablear bajo un microscopio, el ESP8266-01 tiene un encabezado 2x4 y todos los pines que necesitas y es barato. Montones de ejemplos en la web,. Mi viaje sube, GPIO_0 necesita estar conectado a la tierra durante el encendido (luego puede flotar) cuando se programa, es un pin de configuración, elevado internamente. Una vez programado, deje que GPIO_0 flote y vuelva a encender. CHPD se conecta a V + de forma permanente.

El administrador de la placa en arduino 1.6.11 no tiene el enlace esp8622, en Arduino IDEfile> preferencias> URL adicionales de Board Manager, agregue:

arduino.esp8266.com/stable/package_esp8266c…

luego vaya al administrador de la placa y busque el paquete esp8266. esto ahora debería darle una gran lista de placas esp8266, seleccione Herramientas> Placa> Módulo genérico ESP8266. Usando un módulo usb a uart, ahora puede programar la parte esp con esp8266_server_text. Encienda con 3V3, conecte TX-RX, RX-TX y Gnd.

Debe ingresar el SSID y la contraseña de su red en el script y el puerto que configurará para el reenvío de puertos, por ejemplo, 777.

Puede ejecutar el código volviendo a encender el esp mientras está conectado al convertidor de usb a uart y la ventana serial de arduino (9600 baudios) debería mostrar la dirección IP local del módulo esp. ingrese esto en el código y reprograme.

Paso 8: configuración de la red

Configuración de la red
Configuración de la red
Configuración de la red
Configuración de la red

Entonces, para permitir que la llamada de URL de Lambda se conecte al servidor HTTP ESP, debemos configurar su enrutador para el reenvío de puertos. Obtuve mi dirección IP externa de https://www.whatsmyip.org/, estoy en un enlace de microondas, por lo que mi proveedor tiene el enrutador y tuve que solicitarles el reenvío de puertos. Tuve que dar la dirección IP del ESP8266 en mi red y el puerto que elegí, por ejemplo 777. La dirección IP externa debe ingresarse en el script lambda python y su dirección esp local se mostrará cuando ejecute el código esp8266 a través el enlace usb a uart.

El módulo ESP en la conexión usb a uart debería mostrar en un terminal la palabra entrante de lambda.

Conecte el ESP al nano como se muestra 3v3, gnd y TX al nano D2 soft serial. si tiene el nano en usb en una pantalla de comunicaciones en serie en el epc, debería mostrar lo que recibe del esp.

Si el ESP no está conectado a la red o no responde a la llamada URL de lambda, lambda expirará y Alexa informa una respuesta de habilidad fallida

Paso 9: Pausa de Alexa Open Clicker Tv

Pausa de TV con clicker abierto de Alexa
Pausa de TV con clicker abierto de Alexa

Puse el módulo al lado del receptor, pero con una salida de infrarrojos de mayor potencia, podría estar en cualquier lugar de una habitación. Utilizo un adaptador de corriente USB de marca conocida para alimentar energía a través del USB.

Siéntese y diga "Alexa abre Clicker"

guía de televisión

tv baja

selección de tv

juego de tv

tv salta cinco

para avanzar un número determinado de minutos, las macros esperarán 30 veces el tiempo solicitado y luego se reproducirán.

Los anuncios en el Reino Unido duran unos cinco minutos.

Para salir de la aplicación, diga Alexa salir.

Disfrutar.

Recomendado: