Turinys:

„Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266: 9 žingsniai
„Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266: 9 žingsniai

Video: „Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266: 9 žingsniai

Video: „Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266: 9 žingsniai
Video: Умный WiFi проектор звездных галактик с лазером и светомузыкой TUYA SMART 2024, Liepa
Anonim
„Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266
„Alexa“balso valdymo televizoriaus nuotolinio valdymo pultas ESP8266

Ar kas nors jūsų namuose pameta nuotolinio valdymo pultą, ar einate į tuščią kambarį, kad pamatytumėte televizoriaus blykstę. Baterijos pradeda gesti ir nekontroliuojamos iš kambario galo. Dabar galite valdyti savo televizorių, DVR, bet ką su IR valdymu, kuriam galite užfiksuoti IR signalą. Šią sistemą sukūriau norėdamas valdyti savo „SKY DVR“naudodami paprastą balso sąsają.

Reikalinga aparatūra:

  1. „Amazon Echo“arba „Dot“
  2. „Wi -Fi“maršrutizatorius, kuris gali perkelti (mano paslaugų teikėjas tai padarė už mane)
  3. „Arduino NANO“konvertuotas į 3V3
  4. ESP8266 -01 arba panašus
  5. IR siųstuvo modulis arba grandinė
  6. IR imtuvo modulis, jei norite užfiksuoti kodus.

Reikalinga programinė įranga ir paslaugos:

  1. „Arduino IDE“, naudojau 1.6.11
  2. „Amazon Alexa“įgūdžių sąskaita (nemokama)
  3. „Amazon AWS“paskyra (nemokama pakopa, tačiau norint atidaryti sąskaitą reikalinga kredito kortelė) arba alternatyvus serveris.

1 žingsnis: „Alexa“įgūdžių sąranka

„Alexa“įgūdžių sąranka
„Alexa“įgūdžių sąranka
„Alexa“įgūdžių sąranka
„Alexa“įgūdžių sąranka
„Alexa“įgūdžių sąranka
„Alexa“įgūdžių sąranka

„Alexas“įgūdžių rinkinys priima balso komandą ir filtruoja ją naudodami „vertybių“sąrašą

Užsiregistravus:

„Amazon“kūrėjų pulte pasirinkite skirtuką „Alexa“> „Alexa Skills Kit“[Pradėti]

[Pridėti naują įgūdį]

Įgūdžio tipas: pasirinktinis sąveikos modelis

Kalba: pasirinkite teisingą, jei šis nustatymas būtų anglų (JAV), jis neatsakytų!

Pavadinimas: dabar tai nėra svarbu, nes neskelbiame.

Kvietimo pavadinimas: pasirinkite trumpą pavadinimą, kuris yra žodis, naudojamas programai atidaryti.

[KITAS]

Ketinimo schema, įklijuokite kodą

Tinkinti lizdų tipai {Pridėti lizdo tipą], įveskite EFFECT_ON_TV

į lizdo reikšmes, įklijuokite kodą

Pavyzdiniai posakiai, įdėti, TVCommandIntent TV {TVAction}

[SAVE], kitame įgūdžių puslapyje turime pridėti nuorodą į kodą, kurį vykdysime, kai „Ketinimą“suaktyvins programos pradžios žodis „clicker“arba po to „tv {slot value}“.

Sugrįšime į „Alexa“, kai sukonfigūruosime „Lambda“serverio „python“scenarijų.

2 veiksmas: „AWS Lambda Server Python“scenarijus

Užsiregistruokite nemokamam AWS lygiui, turėjau nuogąstavimų, kad tai gali kainuoti tikrus pinigus, tačiau kurį laiką juos naudojant ir perskaičius forumus naudojimo apribojimai yra tokie dideli asmeniniam naudojimui ir tobulėjimui, kad niekada neturėtų būti įkrautas. Yra alternatyva naudoti savo HTTPS serverį ir galbūt esp8266 gali tai padaryti, kita pamokoma!

Tai kodas, kuris paleidžiamas, kai ištariamas kvietimo pavadinimas (pvz., „Alexa open clicker“) ir gauna stebuklingą žodį iš „Alexa“. Kai programa bus paleista, jums tereikia pasakyti „TV play, tv jump five“, o „Alexa“į šį python scenarijų atsiųs „play“, „jump 5“. Programa baigiasi, jei po kurio laiko ji neatsako.

„AWS Services“pirmiausia pasirinkite savo vietą, viršuje dešinėje yra parinktis.

JAV pasirinkite N Virdžiniją, ES - Airiją.

pasirinkite Lambda iš skaičiavimo antraštės.

[Sukurti „Lambda“funkciją]

[Tuščia funkcija]

Konfigūruoti trigerį: spustelėkite punktyrinį langelį ir pasirinkite „Alexa Skills Kit“

[KITAS]

Konfigūruoti funkciją

Pavadink ką nori

Aprašymas, priklauso nuo jūsų

Runtine: Python 2.7

įklijuokite python kodą,

į kodą vėliau URL HTTP adresą reikės pakeisti į jūsų išorinį IP adresą

link = "https://185.255.255.255:777/text?data=" + mėgstamiausia_spalva

Žemiau ekrane yra VAIDMUO, spustelėkite skirtuką ir pasirinkite Pasirinkite pasirinktinį vaidmenį

Bus atidarytas naujas ekranas ir spustelėkite leisti., Jis grįš į funkcijos konfigūravimo ekraną, kai esamas vaidmuo bus pasirinktas „Lamda“pagrindinis vykdymas.

[KITAS] peržiūrą, paspauskite [Sukurti funkciją] ir ji turėtų sudaryti ir suteikti jums ARN numerį. Nukopijuokite šį kodą ir mes jį įdėsime į alexa įgūdžių rinkinį.

3 žingsnis:

4 veiksmas: nustatykite „Alexa Skills Kit“nuorodą į „AWS Lambda“

Nustatykite „Alexa Skills Kit“nuorodą į „AWS Lambda“
Nustatykite „Alexa Skills Kit“nuorodą į „AWS Lambda“

„Alexa“įgūdžių rinkinyje pasirinkite konfigūracijos puslapį, pavadintą „Global Fields“, pasirinkite „AWS Lambda“ir savo regioną ir įklijuokite ARN kodą į lauką [NEXT], testo metu pažymėkite, kad pažymėta ENABLED.

Šiuo metu mes baigėme čia, dabar - kai kuri aparatinė įranga.

5 veiksmas: „Arduino NANO 3V3“konversija

„Arduino NANO 3V3“konversija
„Arduino NANO 3V3“konversija
„Arduino NANO 3V3“konversija
„Arduino NANO 3V3“konversija

ESP8266 veikia nuo 3v3, todėl paleiskite jį iš išorinio reguliatoriaus arba konvertuokite nano. Aš naudoju klono nano su CH340 USB lustu. Aš žinau du skirtingus PCB išdėstymus, bet tikiuosi, kad tai apims daugumą išdėstymų.

Turime pakeisti 5V reguliatorių su kaiščiu, suderinamu su 3v3, 1117-3. tada nukreipkite 5V iš USB lizdo tik į reguliatorių ir visa kita prijunkite prie jo išvesties. laimei, tai galima pasiekti pašalinus įvesties diodą, pakeičiantį reguliatorių, ir pridedant vieną laidą iš diodo įvesties pusės prie „Vin“plokštės nano plokštėje.

patikrinkite, ar po konvertavimo galite užprogramuoti nano.

6 žingsnis: NANO kodas

NANO kodas
NANO kodas
NANO kodas
NANO kodas

Čia buvo naudojami mano „SKY UK“nuotolinio valdymo pulto kodai, jis gali būti pritaikytas konkrečiam modeliui ir verta patikrinti, ar jūsų kodai veikia atskirame eskize, nesusietame su esp8266.

Naudojau „IRremote“biblioteką pagal shirriff 2.0.1 versiją

Naudokite „IRrecord“pavyzdį, norėdami užfiksuoti nuotolines komandas, kurioms reikalingas IR imtuvo modulis, arba galite rasti savo kodus žiniatinklyje? Aš čia nesigilinu į tai, bet čia galite pasirinkti, ką ir kaip valdote.

Prijunkite infraraudonųjų spindulių siųstuvą, kurį galima rasti „ebay“, arba sukurkite. Turėtumėte naudoti 850 nm infraraudonųjų spindulių šviesos diodą, nes tai dažniausiai būna imtuvuose. IR biblioteka kaip TX kaištį naudojo D3

Alexa žodis perduodamas nano, taigi iš čia jo nano su balso valdymu.

7 žingsnis: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Yra daug ESP8266 modulių, aš naudojau vieną, kurį turėjau prijungti po mikroskopu, ESP8266-01 turi 2x4 antraštę ir visus reikalingus kaiščius ir tai pigu. Daugybė pavyzdžių internete,. Mano kelionė, GPIO_0 turi būti prijungtas prie gnd įjungimo metu (tada gali būti plukdomas) programuojant, jo konfigūracijos kaištis, ištrauktas aukštai viduje. Kai užprogramuotas, leiskite GPIO_0 plaukti ir vėl įjungti maitinimą. CHPD visam laikui prisijungia prie V+.

„Arduino 1.6.11“valdybos valdytojas neturi nuorodos esp8622, skiltyje „Arduino IDEfile“> nuostatos> papildomus valdytojo URL adresus pridėkite:

arduino.esp8266.com/stable/package_esp8266c…

tada eikite į lentos tvarkyklę ir raskite paketą esp8266. dabar turėtų būti pateiktas didelis esp8266 plokščių sąrašas, pasirinkite Įrankiai> Lenta> ESP8266 Generic Module. Naudodami modulį nuo usb iki uart, dabar galite užprogramuoti esp dalį naudodami esp8266_server_text. Maitinkite 3V3, prijunkite TX-RX, RX-TX ir Gnd.

Turite įvesti savo tinklo SSID ir slaptažodį į scenarijų ir prievadą, kurį nustatysite uosto persiuntimui, pvz., 777.

Galite paleisti kodą iš naujo įjungdami esp, kai esate prijungtas prie USB prie uart keitiklio, o arduino nuoseklusis langas (9600 baudų) turėtų rodyti vietinį esp modulio IP adresą. įveskite tai į kodą ir perprogramuokite.

8 veiksmas: tinklo sąranka

Tinklo sąranka
Tinklo sąranka
Tinklo sąranka
Tinklo sąranka

Taigi, kad „Lambda“URL skambutis galėtų prisijungti prie ESP HTTP serverio, turime nustatyti maršrutizatorių į prievado peradresavimą. Išorinį IP adresą gavau iš https://www.whatsmyip.org/, aš naudoju mikrobangų nuorodą, todėl mano paslaugų teikėjas turi maršrutizatorių ir turėjau iš jų prašyti persiųsti uostą. Turėjau nurodyti ESP8266 IP adresą savo tinkle ir pasirinktą prievadą, pvz., 777. Išorinis IP adresas turi būti įvestas į lambda python scenarijų, o jūsų vietinis esp adresas bus rodomas, kai paleisite esp8266 kodą nuoroda iš usb į uart.

ESP modulis USB jungtyje prie uart turėtų terminale parodyti gaunamą žodį iš lambda.

Prijunkite ESP prie „nano“, kaip parodyta 3v3, gnd ir TX prie „nano D2 soft serial“. jei turite nano USB prie serijos komiksų ekrano, esančio epc, jis turėtų parodyti, ką jis gauna iš esp.

Jei ESP nėra prijungtas prie tinklo arba neatsako į „lambda“URL skambutį, „lambda“baigsis skirtasis laikas ir „Alexa“praneša apie nesėkmingą įgūdžių atsakymą

9 veiksmas: „Alexa“atidarykite „Clicker TV“pauzę

„Alexa“atidarykite „Clicker“televizoriaus pauzę
„Alexa“atidarykite „Clicker“televizoriaus pauzę

Aš įdėjau modulį šalia imtuvo, tačiau esant didesnės galios IR išėjimui jis gali būti bet kurioje kambario vietoje. Aš naudoju žinomo prekės ženklo USB maitinimo adapterį, kad galėčiau maitinti per USB.

Atsisėskite ir pasakykite „Alexa open Clicker“

TV gidas

televizorius nusileidžia

pasirinkti tv

televizijos žaidimas

TV šuolis penkis

norėdami peršokti nustatytą minučių skaičių, makrokomandos 30 kartų palauks reikiamą laiką ir tada paleis.

JK reklama trunka apie penkias minutes.

Norėdami išeiti iš programos, pasakykite Alexa quit.

Mėgautis.

Rekomenduojamas: