Cuprins:

Telecomanda Alexa Voice Control TV ESP8266: 9 pași
Telecomanda Alexa Voice Control TV ESP8266: 9 pași

Video: Telecomanda Alexa Voice Control TV ESP8266: 9 pași

Video: Telecomanda Alexa Voice Control TV ESP8266: 9 pași
Video: WiFi RF DIY Smart Light Switch Module Universal Breaker Timer Support Voice Control by Alexa 2024, Noiembrie
Anonim
Telecomanda Alexa Voice Control TV ESP8266
Telecomanda Alexa Voice Control TV ESP8266

Oare cineva din casa ta pierde telecomanda, pătrunzi într-o cameră goală pentru a găsi televizorul care explodează. Bateriile încep să se defecteze și fără control din spatele camerei. Acum puteți controla televizorul, DVR-ul, orice lucru cu control IR pentru care puteți captura semnalul IR. Am creat acest sistem pentru a-mi controla SKY DVR-ul cu o interfață vocală simplă.

Hardware necesar:

  1. Amazon Echo sau Dot
  2. Un router wifi care poate redirecționa portul (furnizorul meu de servicii a făcut acest lucru pentru mine)
  3. Un Arduino NANO convertit în 3V3
  4. ESP8266 -01 sau similar
  5. Modul sau circuit transmițător IR
  6. Modul receptor IR dacă doriți să capturați coduri.

Software și servicii necesare:

  1. Arduino IDE, am folosit 1.6.11
  2. Cont de abilități Amazon Alexa (gratuit)
  3. Cont Amazon AWS (nivel gratuit dar necesită card de credit pentru a deschide contul) sau server alternativ.

Pasul 1: Configurarea abilităților Alexa

Configurarea abilităților Alexa
Configurarea abilităților Alexa
Configurarea abilităților Alexa
Configurarea abilităților Alexa
Configurarea abilităților Alexa
Configurarea abilităților Alexa

Trusa de abilități Alexas preia comanda vocală și o filtrează folosind o listă de „valori”

Odată înregistrat:

În consola pentru dezvoltatori Amazon, selectați fila Alexa> Alexa Skills Kit [Începeți]

[Adăugați o nouă abilitate]

Tipul abilităților: Model de interacțiune personalizată

Limbă: selectați-o pe cea corectă, când această opțiune ar fi setată la engleză (SUA) nu va răspunde!

Nume: acest lucru nu este important acum, deoarece nu publicăm.

Numele invocării: alegeți un nume scurt, acesta este cuvântul folosit pentru a deschide aplicația.

[URMĂTORUL]

Schema intenției, lipiți în cod

Tipuri de sloturi personalizate {Adăugați un tip de slot], introduceți EFFECT_ON_TV

în valorile sloturilor, lipiți în cod

Exemple de enunțuri, put, TVCommandIntent tv {TVAction}

[SAVE], pe următoarea pagină a abilităților trebuie să adăugăm un link către codul pe care urmează să îl rulăm atunci când „Intent” este declanșat fie de cuvântul de pornire a aplicației „clicker”, fie de „TV {slot value}”.

Vom reveni la Alexa după ce configurăm scriptul python al serverului Lambda.

Pasul 2: Script Python AWS Lambda Server

Înscrieți-vă la Free Tier of AWS, am avut îngrijorări că acest lucru mă poate costa bani reali, dar după ce l-am folosit o vreme și am citit forumurile, limitele de utilizare sunt atât de mari pentru utilizarea personală și dezvoltarea, nu ar trebui să ajungă niciodată la un punct de încărcare. Există o alternativă de a utiliza propriul server HTTPS și poate că asta ar putea face esp8266, un alt lucru instructiv!

Acesta este codul care rulează atunci când Numele Invocării este rostit (de exemplu „Alexa open clicker”) și primește cuvântul magic de la Alexa. Odată ce aplicația este pornită, trebuie doar să spuneți „redare tv, tv jump five” și Alexa va trimite „play”, „jump 5” la acest script python. Aplicația expiră dacă nu are răspunsuri după un timp.

În AWS Services, selectați mai întâi locația dvs., în partea dreaptă sus există o opțiune.

pentru SUA selectați N Virginia, pentru UE selectați Irlanda.

selectați Lambda din antetul Compute.

[Creați o funcție Lambda]

[Funcție necompletată]

Configurați declanșatorul: faceți clic pe caseta punctată și selectați Alexa Skills Kit

[URMĂTORUL]

Configurați funcția

Numiți orice doriți

Descriere, până la tine

Runtine: Python 2.7

lipiți în codul Python,

în cod, adresa URL URL va trebui modificată ulterior la propria adresă IP externă

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

mai jos pe ecran este un ROL, faceți clic pe filă și selectați Selectați un rol personalizat

Aceasta va deschide un nou ecran și faceți clic pe permite., Revine la ecranul de configurare a funcției cu executarea de bază Lamda selectată ca rol existent.

[NEXT] recenzie, apăsați pe [Create Function] și ar trebui să compileze și să vă ofere un număr ARN. COPIAȚI acest cod și îl vom introduce în trusa de abilități Alexa.

Pasul 3:

Pasul 4: Setați link-ul Alexa Skills Kit la AWS Lambda

Setați Alexa Skills Kit Link la AWS Lambda
Setați Alexa Skills Kit Link la AWS Lambda

În trusa de competențe Alexa, selectați pagina de configurare, intitulată Global Fields și selectați AWS Lambda și regiunea dvs. și lipiți codul ARN în casetă, [NEXT], în test, verificați ENABLED este selectat.

Am terminat aici pentru moment, acum pentru ceva hardware.

Pasul 5: conversie Arduino NANO 3V3

Conversie Arduino NANO 3V3
Conversie Arduino NANO 3V3
Conversie Arduino NANO 3V3
Conversie Arduino NANO 3V3

ESP8266 rulează de la 3v3, deci fie îl rulați de la un regulator extern, fie convertiți un nano. Am folosit o nano clonă cu un cip USB CH340. Am două machete de pcb diferite pe care le cunosc, dar sperăm că acestea vor acoperi cele mai multe machete.

Trebuie să înlocuim regulatorul de 5V cu un pin compatibil 3v3 one, 1117-3. apoi direcționați 5V de la mufa USB doar la regulator și conectați orice altceva la ieșirea sa. din fericire, acest lucru poate fi realizat prin îndepărtarea diodei de intrare, înlocuirea regulatorului și adăugarea unui fir din partea de intrare a diodei la Vin pe placa nano.

verificați dacă puteți programa nano după conversie.

Pasul 6: Cod NANO

Codul NANO
Codul NANO
Codul NANO
Codul NANO

Acestea foloseau coduri pentru telecomanda SKY UK, ar putea fi specifică modelului și merită să verificați codurile dvs. într-o schiță separată, care nu este legată de esp8266.

Am folosit biblioteca IRremote de shirriff Versiunea 2.0.1

Utilizați exemplul IRrecord pentru a captura comenzi la distanță care necesită un modul receptor IR sau s-ar putea să vă găsiți codurile pe web? Nu mă gândesc aici, dar aici puteți alege ce controlați și cum.

Conectați un transmițător IR disponibil pe eBay sau construiți unul. Ar trebui să utilizați un led IR de 850 nm, deoarece acestea sunt cele mai frecvente la receptoare. Biblioteca IR a folosit D3 ca pin TX

Cuvântul Alexa este transmis către nano, deci de aici nano-ul său cu control vocal.

Pasul 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Există multe module ESP8266, am folosit unul pe care trebuia să-l conectez la microscop, ESP8266-01 are un antet 2x4 și toate pinii de care aveți nevoie și este ieftin. O mulțime de exemple pe web,. Trip-urile mele, GPIO_0 trebuie să fie conectat la gnd în timpul pornirii (poate fi apoi plutit) atunci când programarea, este un pin de configurare, tras în interior. Odată programat, lăsați GPIO_0 să plutească și să re-alimenteze. CHPD se conectează permanent la V +.

Managerul de bord din arduino 1.6.11 nu are link-ul esp8622, în Arduino IDEfile> preferințe> adrese URL suplimentare ale administratorului de bord, adăugați:

arduino.esp8266.com/stable/package_esp8266c…

apoi mergeți la managerul de bord și găsiți pachetul esp8266. acest lucru ar trebui să vă ofere acum o listă mare de plăci esp8266, selectați Instrumente> Placă> ESP8266 Modul generic. Folosind un modul usb to uart acum puteți programa partea esp cu esp8266_server_text. Alimentați cu 3V3, conectați TX-RX, RX-TX și Gnd.

Trebuie să introduceți SSID-ul de rețea și parola în script și în portul pe care îl veți seta pentru redirecționarea porturilor, de ex. 777.

Puteți rula codul re-alimentând ESP în timp ce sunteți conectat la convertorul USB la uart, iar fereastra serială arduino (9600 baud) ar trebui să afișeze adresa IP locală a modulului esp. introduceți acest lucru în cod și reprogramați.

Pasul 8: Configurare rețea

Configurarea rețelei
Configurarea rețelei
Configurarea rețelei
Configurarea rețelei

Deci, pentru a permite apelului URL Lambda să se conecteze la serverul HTTP ESP, trebuie să setăm routerul la redirecționarea portului. Am primit adresa IP externă de la https://www.whatsmyip.org/, sunt pe o legătură cu microunde, așa că furnizorul meu are routerul și a trebuit să solicit portul de la ei. A trebuit să dau adresa IP a ESP8266 în rețeaua mea și portul pe care l-am ales, de ex. 777. Adresa IP externă trebuie introdusă în scriptul lambda python și adresa dvs. locală de ESP va fi afișată când rulați codul esp8266 prin linkul usb la uart.

Modulul ESP de pe conexiunea usb la uart ar trebui să afișeze pe un terminal cuvântul primit de la lambda.

Conectați ESP la nano așa cum se arată 3v3, gnd și TX la nano D2 serial. dacă aveți nano pe USB la un afișaj de comunicare serial pe epc ar trebui să arate ce primește de la sp.

Dacă ESP nu este conectat la rețea sau nu răspunde la apelul URL de la lambda, lambda va expira și Alexa raportează un răspuns de abilitate eșuat

Pasul 9: Alexa Open Clicker Tv Pause

Alexa Open Clicker Tv Pause
Alexa Open Clicker Tv Pause

Am pus modulul lângă receptor, dar cu o ieșire IR de putere mai mare, ar putea fi oriunde într-o cameră. Folosesc un adaptor de alimentare USB de marcă cunoscut pentru a alimenta prin USB.

Stai pe spate și spune „Alexa open Clicker”

Ghid TV

tv coboară

TV select

redare tv

tv jump five

pentru a sari înainte un număr stabilit de minute, macrocomenzile vor merge la 30 de ori așteptați timpul solicitat și apoi vor fi redate.

Reclamele din Marea Britanie sunt de aproximativ cinci minute.

Pentru a ieși din aplicație, spuneți Alexa renunță.

Bucurați-vă.

Recomandat: