INHOUDSOPGAWE:

Alexa Voice Control TV Remote ESP8266: 9 stappe
Alexa Voice Control TV Remote ESP8266: 9 stappe

Video: Alexa Voice Control TV Remote ESP8266: 9 stappe

Video: Alexa Voice Control TV Remote ESP8266: 9 stappe
Video: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, November
Anonim
Alexa Voice Control TV Remote ESP8266
Alexa Voice Control TV Remote ESP8266

Maak iemand in u huis die afstandsbediening los, loop u in 'n leë kamer om te sien hoe die TV uitbrand. Batterye begin uitval en geen beheer aan die agterkant van die kamer nie. Nou kan u u TV, DVR, alles met IR -beheer beheer waarvoor u die IR -sein kan opneem. Ek het hierdie stelsel gemaak om my SKY DVR te beheer met 'n eenvoudige stemkoppelvlak.

Vereiste hardeware:

  1. Amazon Echo of Dot
  2. 'N Wifi -router wat kan deurstuur (my diensverskaffer het dit vir my gedoen)
  3. 'N Arduino NANO omgeskakel na 3V3
  4. ESP8266 -01 of soortgelyk
  5. IR -sender module of stroombaan
  6. IR -ontvanger module as u kodes wil vaslê.

Vereiste sagteware en dienste:

  1. Arduino IDE, ek het 1.6.11 gebruik
  2. Amazon Alexa -vaardigheidsrekening (gratis)
  3. Amazon AWS -rekening (gratis vlak, maar vereis kredietkaart om rekening oop te maak) of alternatiewe bediener.

Stap 1: Opstel van Alexa Skills

Alexa vaardigheidsopstelling
Alexa vaardigheidsopstelling
Alexa vaardigheidsopstelling
Alexa vaardigheidsopstelling
Alexa vaardigheidsopstelling
Alexa vaardigheidsopstelling

Die Alexas -vaardigheidskit neem die stemopdrag en filtreer dit met behulp van 'n lys met 'waardes'

Sodra dit geregistreer is:

Kies in die Amazon -ontwikkelaarkonsole Alexa -oortjie> Alexa Skills Kit [Begin]

[Voeg 'n nuwe vaardigheid by]

Vaardigheidstipe: pasgemaakte interaksiemodel

Taal: kies die regte een; as dit op Engels (VS) gestel is, reageer dit nie!

Naam: dit is nie nou belangrik nie, aangesien ons nie publiseer nie.

Aanroepnaam: kies 'n kort naam; dit is die woord wat gebruik word om die app oop te maak.

[VOLGENDE]

Voorneme skema, plak kode in

Aangepaste gleuftipes {Voeg gleuftipe by], voer EFFECT_ON_TV in

plak die kode in die slotwaardes

Voorbeelduitsprake, put, TVCommandIntent tv {TVAction}

[BESPAAR], op die volgende vaardigheidsbladsy moet ons 'n skakel by die kode voeg wat ons gaan gebruik as die 'voorneme' geaktiveer word deur die app -beginwoord 'kliker' of daarna deur 'tv {slot value}'.

Ons sal terugkeer na Alexa nadat ons die Lambda -bediener -python -script opgestel het.

Stap 2: AWS Lambda Server Python Script

Sluit aan by die gratis vlak van AWS, ek was bekommerd dat dit my regtig geld kan kos, maar nadat ek dit 'n rukkie gebruik het en die forums gelees het, is die gebruiksgrense so hoog vir persoonlike en ontwikkelingsgebruik dat dit nooit 'n laaipunt moet bereik nie. Daar is 'n alternatief om u eie HTTPS -bediener te gebruik, en miskien is dit iets wat die esp8266 kan doen, nog 'n opdrag!

Dit is die kode wat loop wanneer die aanroepingsnaam geuiter word (bv. "Alexa open clicker") en die towerwoord van Alexa ontvang. Sodra die app begin is, hoef u slegs 'tv -speel, tv -sprong vyf' te sê, en Alexa stuur 'speel', 'spring 5' na hierdie luislang. Die app het 'n tydsduur as dit na 'n rukkie geen antwoorde het nie.

Kies eers u ligging in AWS Services, regs bo is daar 'n opsie.

vir VS kies N Virginia, vir EU kies Ierland.

kies Lambda uit Compute -opskrif.

[Skep 'n Lambda -funksie]

[Leë funksie]

Stel sneller in: klik op die stippellys en kies Alexa Skills Kit

[VOLGENDE]

Stel funksie op

Noem wat jy wil

Beskrywing, aan jou

Runtine: Python 2.7

plak python -kode in,

in die kode moet die URL HTTP -adres later na u eie eksterne ip -adres verander word

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

Laer op die skerm is 'n ROL, klik op die oortjie en kies Kies 'n pasgemaakte rol

Dit sal 'n nuwe skerm oopmaak en klik op toelaat., Dit keer terug na die funksie skerm Configure met die basiese uitvoering van Lamda gekies as die bestaande rol.

[VOLGENDE] die resensie, druk op [Skep funksie] en dit moet saamstel en u 'n ARN -nommer gee. KOPIEER hierdie kode en ons plaas dit in die alexa skills kit.

Stap 3:

Stap 4: Stel die Alexa Skills Kit Link in op AWS Lambda

Stel die Alexa Skills Kit Link op AWS Lambda
Stel die Alexa Skills Kit Link op AWS Lambda

Kies in die Alexa skills kit die konfigurasiebladsy met die hoof Global Fields en kies AWS Lambda en u streek en plak die ARN -kode in die blokkie, [VOLGENDE], in die toets, kyk of ENABLED gekies is.

ONS is hier klaar, nou vir 'n paar hardeware.

Stap 5: Arduino NANO 3V3 -omskakeling

Omskakeling van Arduino NANO 3V3
Omskakeling van Arduino NANO 3V3
Omskakeling van Arduino NANO 3V3
Omskakeling van Arduino NANO 3V3

Die ESP8266 loop vanaf 3v3, dus óf u voer dit van 'n eksterne reguleerder af, óf omskakel 'n nano. Ek het 'n kloon nano met 'n CH340 usb -chip gebruik. Ek het twee verskillende PCB -uitlegte waarvan ek weet, maar hopelik sal dit die meeste uitlegte dek.

Ons moet die 5V-reguleerder vervang met 'n pen wat versoenbaar is met 3v3, 1117-3. lei dan die 5V slegs van die usb -aansluiting na die reguleerder en koppel al die ander aan die uitset. Gelukkig kan dit bereik word deur die insetdiode te verwyder deur die reguleerder te vervang en een draad van die ingangskant van die diode by die Vin op die nano -bord te voeg.

kyk of u die nano na die omskakeling kan programmeer.

Stap 6: NANO -kode

NANO -kode
NANO -kode
NANO -kode
NANO -kode

Hierdie gebruikte kodes vir my SKY UK -afstandsbediening, dit is moontlik modelspesifiek, en dit is die moeite werd om te kyk of u kodes werk in 'n aparte skets wat nie aan die esp8266 gekoppel is nie.

Ek het die IRremote -biblioteek gebruik deur shirriff Weergawe 2.0.1

Gebruik 'n voorbeeld van IRrecord om opdragte op afstand op te neem wat 'n IR -ontvangermodule benodig, of u kan u kodes op die internet vind? Ek gaan hier nie daarop in nie, maar dit is waar u kan kies wat u beheer en hoe.

Koppel 'n IR -sender op eBay beskikbaar, of bou een. U moet 'n 850nm IR -LED gebruik, aangesien dit die algemeenste by ontvangers is. Die IR -biblioteek het D3 as sy TX -pin gebruik

Die alexa -woord word oorgedra na die nano, so van hier af is dit nano met stembeheer.

Stap 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Daar is baie ESP8266-modules; ek het een wat ek onder 'n mikroskoop moes dra, gebruik. Die ESP8266-01 het 'n 2x4-kopstuk en al die penne wat u benodig, en dit is goedkoop. Baie voorbeelde op die internet,. My trip ups, GPIO_0 moet verbind word met gnd tydens opstart (kan dan gedryf word) tydens die programmering, dit is 'n config -pen, intern hoog getrek. Sodra dit geprogrammeer is, laat GPIO_0 dryf en weer aanskakel. CHPD maak permanent verbinding met V+.

Die direksiebestuurder in arduino 1.6.11 het nie die esp8622 -skakel nie, Voeg in Arduino IDEfile> voorkeure> bykomende URL's van die bestuurder by:

arduino.esp8266.com/stable/package_esp8266c…

Gaan dan na die bestuurder van die bord en vind die esp8266 -pakket. dit behoort u nou 'n groot lys esp8266 -borde te gee; kies Tools> Board> ESP8266 Generic Module. Deur 'n usb -uart -module te gebruik, kan u die esp -gedeelte nou met esp8266_server_text programmeer. Krag met 3V3, verbind TX-RX, RX-TX en Gnd.

U moet u netwerk -SSID en wagwoord in die script invoer en die poort wat u sal instel vir die deurstuur van die poort, bv. 777.

U kan die kode uitvoer deur die esp weer aan te skakel terwyl u aan die usb na uart-omskakelaar gekoppel is, en die arduino seriële venster (9600 baud) moet die plaaslike ip-adres van die esp-module vertoon. voer dit in die kode in en herprogrammeer.

Stap 8: Netwerkopstelling

Netwerkopstelling
Netwerkopstelling
Netwerkopstelling
Netwerkopstelling

Om die Lambda -URL -oproep toe te laat om aan te sluit by die ESP HTTP -bediener, moet ons u router op poortaanstuur stel. Ek het my eksterne ip -adres gekry van https://www.whatsmyip.org/, ek is op 'n mikrogolfskakel sodat my diensverskaffer die router het en ek moes poortaanstuur van hulle versoek. Ek moes die IP -adres van die ESP8266 op my netwerk en die poort wat ek gekies het, gee. die usb na uart skakel.

Die ESP -module op die usb -uart -verbinding moet die inkomende woord van lambda op 'n terminaal wys.

Koppel die ESP aan die nano soos aangedui 3v3, gnd en TX na nano D2 soft serial. as u die nano op usb het na 'n seriële kommunikasie op die epc, moet dit wys wat dit van die esp.

As die ESP nie aan die netwerk gekoppel is nie of nie op die URL -oproep van lambda reageer nie, sal lambda tydsbreek kry en Alexa meld 'n mislukte vaardigheidsreaksie

Stap 9: Alexa Open Clicker TV -pouse

Alexa Open Clicker TV -pouse
Alexa Open Clicker TV -pouse

Ek sit die module langs die ontvanger, maar met 'n hoër IR -uitset kan dit oral in 'n kamer wees. Ek gebruik 'n bekende usb -stroomadapter van 'n bekende handelsmerk om krag deur die usb te voer.

Sit terug en sê "Alexa open Clicker"

televisie gids

TV gaan af

TV kies

TV speel

tv spring vyf

Om 'n sekere aantal minute vorentoe te spring, gaan die makro's tot 30x, wag vir 'n verlangde tyd en speel dan.

Britse advertensies is ongeveer vyf minute.

Sê Alexa om die app te verlaat.

Geniet dit.

Aanbeveel: