Taula de continguts:

Comandament de televisió Alexa Voice Control ESP8266: 9 passos
Comandament de televisió Alexa Voice Control ESP8266: 9 passos

Vídeo: Comandament de televisió Alexa Voice Control ESP8266: 9 passos

Vídeo: Comandament de televisió Alexa Voice Control ESP8266: 9 passos
Vídeo: Online Training: Day 3: Securing IoT Devices 2024, Juliol
Anonim
Comandament de televisió Alexa Voice Control ESP8266
Comandament de televisió Alexa Voice Control ESP8266

Si algú de casa seva perd el comandament a distància, entra a una habitació buida per trobar el televisor brollant? Les bateries comencen a fallar i no hi ha control des de la part posterior de l’habitació. Ara podeu controlar el vostre televisor, DVR, qualsevol cosa amb control IR per a la qual pugueu capturar el senyal IR. He creat aquest sistema per controlar el meu DVR SKY amb una interfície de veu senzilla.

Maquinari necessari:

  1. Amazon Echo o Dot
  2. Un encaminador wifi que pot reenviar el port (el meu proveïdor de serveis ho ha fet per mi)
  3. Un Arduino NANO convertit a 3V3
  4. ESP8266 -01 o similar
  5. Mòdul o circuit transmissor IR
  6. Mòdul receptor IR si voleu capturar codis.

Programes i serveis necessaris:

  1. Arduino IDE, he utilitzat 1.6.11
  2. Compte d'Amazon Alexa (gratuït)
  3. Compte Amazon AWS (nivell gratuït però requereix targeta de crèdit per obrir el compte) o servidor alternatiu.

Pas 1: Configuració de les habilitats d'Alexa

Configuració d’habilitats Alexa
Configuració d’habilitats Alexa
Configuració d’habilitats Alexa
Configuració d’habilitats Alexa
Configuració d’habilitats Alexa
Configuració d’habilitats Alexa

El kit d’habilitats d’Alexas pren l’ordre de veu i el filtra mitjançant una llista de “valors”

Un cop registrat:

A la consola per a desenvolupadors d'Amazon, seleccioneu la pestanya Alexa> Alexa Skills Kit [Introducció]

[Afegeix una nova habilitat]

Tipus d’habilitat: model d’interacció personalitzat

Idioma: seleccioneu-ne el correcte; si aquest estigui configurat a anglès (EUA) no respondria.

Nom: ara no és important, ja que no publiquem.

Nom de la invocació: trieu un nom curt, que és la paraula que s'utilitza per obrir l'aplicació.

[PRÒXIM]

Esquema d'intencions, enganxeu-lo al codi

Tipus de ranures personalitzades {Afegeix un tipus de ranura], introduïu EFFECT_ON_TV

a Valors de ranures, enganxeu-los al codi

Exemples d’enuncis, put, TVCommandIntent tv {TVAction}

[DESA], a la següent pàgina d’habilitats, hem d’afegir un enllaç al codi que executarem quan la "Intenció" s'activi mitjançant la paraula d'inici de l'aplicació "clic" o després amb "tv {slot value}".

Tornarem a Alexa després de configurar l’escriptura Python del servidor Lambda.

Pas 2: AWS Lambda Server Python Script

Registreu-vos al Free Tier d'AWS, tenia dubtes que això em podria costar diners reals, però després d'utilitzar-los una estona i llegir els fòrums, els límits d'ús són tan alts per a ús personal i de desenvolupament que mai no hauria d'arribar a cap punt de càrrega. Hi ha una alternativa per utilitzar el vostre propi servidor HTTPS i potser això és el que podria fer l’esp8266, un altre instructiu.

Aquest és el codi que s'executa quan es pronuncia el nom de la invocació (per exemple, "Alexa open clicker") i rep la paraula màgica d'Alexa. Un cop iniciada l'aplicació, només cal que digueu "TV play, tv jump five" i Alexa enviarà "play", "jump 5" a aquest script Python. L’aplicació s’espera si no té respostes al cap d’un temps.

A AWS Services, primer seleccioneu la vostra ubicació, a la part superior dreta hi ha una opció.

per als EUA seleccioneu N Virgínia, per als EUA seleccioneu Irlanda.

seleccioneu Lambda des de l'encapçalament Compute.

[Crea una funció Lambda]

[Funció en blanc]

Configureu el disparador: feu clic al quadre de punts i seleccioneu Alexa Skills Kit

[PRÒXIM]

Configura la funció

Anomena el que vulguis

Descripció, fins a tu

Runtine: Python 2.7

enganxa en codi Python,

al codi, l'adreça HTTP de l'URL haurà de canviar-se a la vostra pròpia adreça IP externa més endavant

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

inferior a la pantalla hi ha un ROL, feu clic a la pestanya i seleccioneu Selecciona un rol personalitzat

S'obrirà una nova pantalla i es farà clic a permetre., Es torna a la pantalla Configura la funció amb l'execució bàsica de Lamda seleccionada com a rol existent.

[SEGÜENT] a la revisió, premeu [Crea funció] i hauria de compilar i donar-vos un número ARN. COPIA aquest codi i el posarem al kit d’habilitats de Alexa.

Pas 3:

Pas 4: configureu l'enllaç del kit d'Aptitudes d'Alexa a AWS Lambda

Configureu l'enllaç del kit d'habilitats Alexa a AWS Lambda
Configureu l'enllaç del kit d'habilitats Alexa a AWS Lambda

Al kit d’habilitats d’Alexa, seleccioneu la pàgina de configuració, encapçalada Global Fields i seleccioneu AWS Lambda i la vostra regió i enganxeu el codi ARN al quadre, [NEXT], a la prova, comproveu que està seleccionat ACTIVAT.

Hem acabat aquí per ara, ara per a una mica de maquinari.

Pas 5: conversió Arduino NANO 3V3

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

L'ESP8266 funciona des de 3v3, de manera que podeu executar-lo des d'un regulador extern o convertir un nano. He utilitzat un nano clon amb un xip USB CH340. Tinc dos dissenys diferents de PCB que conec, però espero que cobreixin la majoria de dissenys.

Hem de substituir el regulador de 5V per un pin compatible 3v3 one, 1117-3. a continuació, enruteu els 5V d'entrada des del sòcol USB només al regulador i connecteu tota la resta a la seva sortida. per sort, això es pot aconseguir traient el díode d'entrada substituint el regulador i afegint un cable del costat d'entrada del díode al Vin de la placa nano.

comproveu que podeu programar el nano després de la conversió.

Pas 6: Codi NANO

Codi NANO
Codi NANO
Codi NANO
Codi NANO

S'utilitzaven codis per al meu comandament a distància SKY UK, pot ser que sigui específic del model i val la pena comprovar que els vostres codis funcionin en un esbós independent que no estigui vinculat a l'esp8266.

He utilitzat la biblioteca IRremote per la versió 2.0.1 de shirriff

Utilitzeu l'exemple IRrecord per capturar ordres remotes que requereixen un mòdul receptor IR o és possible que trobeu els vostres codis al web? No hi entraré aquí, però aquí és on podeu triar què controleu i com.

Connecteu un transmissor IR disponible a ebay o construïu-ne un. Haureu d’utilitzar un led IR de 850 nm, ja que són els més habituals als receptors. La biblioteca IR utilitzava D3 com a pin TX

La paraula Alexa passa al nano, de manera que d’aquí el seu nano amb control de veu.

Pas 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Hi ha molts mòduls ESP8266, he utilitzat un que havia de connectar al microscopi, l’ESP8266-01 té una capçalera de 2x4 i tots els pins que necessiteu i és barat. Un munt d'exemples al web,. Els meus viatges, GPIO_0 ha d’estar connectat a gnd durant l’engegada (després es pot flotar) quan es programa, és un pin de configuració, que s’estira internament. Un cop programat, deixeu flotar i torneu a encendre GPIO_0. CHPD es connecta a V + permanentment.

El gestor de la placa a arduino 1.6.11 no té l'enllaç esp8622, a Arduino IDEfile> preferències> URL addicionals del gestor de taules, afegiu:

arduino.esp8266.com/stable/package_esp8266c…

a continuació, aneu al gestor del tauler i cerqueu el paquet esp8266. ara us hauria de donar una llista completa de taulers esp8266, seleccioneu Eines> Tauler> Mòdul genèric ESP8266. Amb un mòdul usb to uart ara podeu programar la part esp amb esp8266_server_text. Alimentació amb 3V3, connecta TX-RX, RX-TX i Gnd.

Heu d'introduir el SSID i la contrasenya de xarxa a l'script i al port que definireu per al reenviament de ports, per exemple, 777.

Podeu executar el codi tornant a engegar l'esp mentre esteu connectat al convertidor usb a uart i la finestra sèrie arduino (9600 baud) hauria de mostrar l'adreça IP local del mòdul esp. introduïu-lo al codi i torneu a programar.

Pas 8: Configuració de la xarxa

Configuració de la xarxa
Configuració de la xarxa
Configuració de la xarxa
Configuració de la xarxa

Per tant, per permetre que la trucada a l’URL de Lambda es connecti al servidor HTTP de l’ESP, hem d’establir l’encaminador al reenviament de ports. Vaig obtenir la meva adreça IP externa de https://www.whatsmyip.org/, estic en un enllaç de microones, de manera que el meu proveïdor té l’encaminador i els vaig haver de sol·licitar el reenviament de ports. Vaig haver de donar l'adreça IP de l'ESP8266 a la meva xarxa i el port que vaig escollir, per exemple, 777. Cal introduir l'adreça IP externa a l'escriptura lambda python i la vostra adreça local d'esp es mostrarà quan executeu el codi esp8266 l'enllaç usb a uart.

El mòdul ESP de la connexió usb a uart hauria de mostrar en un terminal la paraula entrant de lambda.

Connecteu l'ESP al nano tal com es mostra a 3v3, gnd i TX a nano D2 serial. si teniu el nano a usb a una visualització de comunicacions en sèrie a l'epc, hauria de mostrar el que rep de l'esp.

Si l'ESP no està connectat a la xarxa o no respon a la trucada d'URL de lambda, lambda esgotarà el temps d'espera i Alexa informarà d'una resposta d'habilitats fallida

Pas 9: Pausa de la televisió Alexa Open Clicker

Alexa Open Clicker Tv Pausa
Alexa Open Clicker Tv Pausa

Vaig posar el mòdul al costat del receptor, però amb una sortida IR de més potència podria ser a qualsevol lloc d’una habitació. Faig servir un adaptador d’alimentació usb de marca coneguda per alimentar l’alimentació mitjançant l’usb.

Seieu i digueu "Alexa open Clicker"

Guia televisiva

tv baixa

selecció de televisió

joc de televisió

tv salta cinc

per avançar un nombre fixat de minuts, les macros passaran a 30x esperar el temps sol·licitat i després es reproduiran.

Els anuncis del Regne Unit són d’uns cinc minuts.

Per sortir de l'aplicació, digueu que Alexa ha sortit.

Gaudeix.

Recomanat: