Talaan ng mga Nilalaman:

Ang Alexa Voice Control TV Remote ESP8266: 9 Mga Hakbang
Ang Alexa Voice Control TV Remote ESP8266: 9 Mga Hakbang

Video: Ang Alexa Voice Control TV Remote ESP8266: 9 Mga Hakbang

Video: Ang Alexa Voice Control TV Remote ESP8266: 9 Mga Hakbang
Video: Make your Home Smart (full project 9 switch) by voice control via Alexa or RemoteXY 2024, Hulyo
Anonim
Ang Alexa Voice Control TV Remote ESP8266
Ang Alexa Voice Control TV Remote ESP8266

Mayroon bang isang tao sa iyong bahay na maluwag ang remote control, lumalakad ka ba sa isang walang laman na silid upang makita ang paglabas ng TV. Ang mga baterya ay nagsisimulang mabigo at walang kontrol mula sa likuran ng silid. Ngayon ay maaari mong makontrol ang iyong TV, DVR, anumang may kontrol sa IR maaari mong makuha ang signal ng IR. Ginawa ko ang sistemang ito upang makontrol ang aking SKY DVR gamit ang isang simpleng interface ng boses.

Kinakailangan Hardware:

  1. Amazon Echo o Dot
  2. Isang wifi router na maaaring mag-port forward (ginawa ito ng aking service provider para sa akin)
  3. Ang isang Arduino NANO ay nag-convert sa 3V3
  4. ESP8266 -01 o katulad
  5. IR module ng transmiter o circuit
  6. IR module ng tatanggap kung nais mong makakuha ng mga code.

Kinakailangan na Software at mga serbisyo:

  1. Arduino IDE, gumamit ako ng 1.6.11
  2. Amazon Alexa skills account (libre)
  3. Ang Amazon AWS account (Libreng baitang ngunit nangangailangan ng credit card upang buksan ang account) o alternatibong server.

Hakbang 1: Pag-set up ng Mga Kasanayan sa Alexa

Pag-set up ng Mga Kasanayan sa Alexa
Pag-set up ng Mga Kasanayan sa Alexa
Pag-set up ng Mga Kasanayan sa Alexa
Pag-set up ng Mga Kasanayan sa Alexa
Pag-set up ng Mga Kasanayan sa Alexa
Pag-set up ng Mga Kasanayan sa Alexa

Kinukuha ng Alexas skills kit ang boses na utos at sinasala ito gamit ang isang listahan ng 'mga halaga'

Kapag nakarehistro:

Sa Amazon Developer console, piliin ang tab na Alexa> Alexa Skills Kit [Magsimula]

[Magdagdag ng bagong Kasanayan]

Uri ng kasanayan: Modelo ng Pasadyang Pakikipag-ugnay

Wika: piliin ang tama, kung kailan itinakda sa English (US) na hindi ito tutugon!

Pangalan: hindi ito mahalaga ngayon dahil hindi kami naglilimbag.

Pangalan ng Paanyaya:, pumili ng isang maikling pangalan, ito ang salitang ginamit upang buksan ang app.

[SUSUNOD]

Layunin na Schema, i-paste sa code

Mga Custom na Uri ng Slot {Magdagdag ng Uri ng Slot], ipasok ang EFFECT_ON_TV

sa mga halaga ng Slot, i-paste sa code

Mga halimbawang pagbigkas, ilagay, TVCommandIntent tv {TVAction}

[I-save], sa susunod na pahina ng mga kasanayan kailangan naming magdagdag ng isang link sa code na tatakbo namin kapag ang "Intent" ay na-trigger ng alinman sa simulang app na "clicker" o pagkatapos nito ng "tv {slot halaga}".

Babalik kami sa Alexa pagkatapos naming i-setup ang Lambda server python script.

Hakbang 2: AWS Lambda Server Python Script

Mag-sign up para sa Libreng Tier ng AWS, mayroon akong mga alalahanin na maaari itong magdulot sa akin ng tunay na pera ngunit pagkatapos gamitin ito ng ilang sandali at pagbabasa ng mga forum ang mga limitasyon sa paggamit ay napakataas para sa personal at pag-unlad na paggamit na hindi dapat umabot sa isang punto ng pagsingil. Mayroong isang kahalili upang magamit ang iyong sariling server ng HTTPS at marahil ito ay isang bagay na maaaring gawin ng esp8266, isa pang itinuturo!

Ito ang code na tumatakbo kapag ang Pangalan ng Paanyaya ay binibigkas (hal. "Alexa open clicker") at tumatanggap ng magic word mula sa Alexa. Kapag nasimulan na ang app kailangan mo lamang sabihin "tv play, tv jump five" at magpapadala si Alexa ng "play", "jump 5" sa script na ito ng sawa. Natapos ang app kung wala itong mga tugon pagkatapos ng ilang sandali.

Sa Mga Serbisyo sa AWS, piliin muna ang iyong lokasyon, sa kanang itaas ay mayroong isang pagpipilian.

para sa US piliin ang N Virginia, para sa EU piliin ang Ireland.

piliin ang Lambda mula sa heading ng Compute.

[Lumikha ng isang Lambda Function]

[Blangkong Pag-andar]

I-configure ang gatilyo: mag-click sa tuldok na kahon at piliin ang Alexa Skills Kit

[SUSUNOD]

I-configure ang Pag-andar

Pangalanan ang kahit anong gusto mo

Paglalarawan, nasa iyo

Runtine: Python 2.7

i-paste sa python code,

sa code ang URL HTTP address ay kailangang baguhin sa iyong sariling panlabas na ip address sa paglaon

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

mas mababa sa screen ay isang ROLE, mag-click sa tab at piliin ang Piliin ang isang pasadyang Role

Bubuksan nito ang isang bagong screen at i-click ang payagan., Babalik ito sa I-configure ang screen ng pag-andar kasama ang Lamda pangunahing pagpapatupad na napili bilang Umiiral na papel.

[SUSUNOD] ang pagsusuri, pindutin ang [Lumikha ng Pag-andar] at dapat itong mag-ipon at bigyan ka ng isang ARN na numero. COPY ang code na ito at ilalagay namin ito sa kit ng mga kasanayan sa Alexa.

Hakbang 3:

Hakbang 4: Itakda ang Link ng Mga Kasanayan sa Alexa sa AWS Lambda

Itakda ang Alexa Skills Kit Link sa AWS Lambda
Itakda ang Alexa Skills Kit Link sa AWS Lambda

Sa kit ng kasanayan sa Alexa, piliin ang pahina ng Pag-configure, tumungo sa Mga Patlang Pandaigdig at piliin ang AWS Lambda at ang iyong rehiyon at i-paste ang ARN code sa kahon, [SUSUNOD], sa pagsubok, suriin ang PINAGPAPATUNO ay napili.

Tayo ay tapos na dito sa ngayon, ngayon para sa ilang hardware.

Hakbang 5: Arduino NANO 3V3 Conversion

Arduino NANO 3V3 Conversion
Arduino NANO 3V3 Conversion
Arduino NANO 3V3 Conversion
Arduino NANO 3V3 Conversion

Ang ESP8266 ay tumatakbo mula sa 3v3 kaya't patakbo mo ito mula sa isang panlabas na regulator o i-convert ang isang nano. Gumamit ako ng isang clone nano na may CH340 usb chip. Mayroon akong dalawang magkakaibang mga layout ng pcb na alam ko, ngunit sana sakupin nito ang karamihan sa mga layout.

Kailangan naming palitan ang 5V regulator ng isang pin na katugmang 3v3 isa, 1117-3. pagkatapos ay ruta ang 5V mula sa usb socket lamang sa regulator at ikonekta ang lahat ng iba pa sa output nito. sa kabutihang-palad makakamit ito sa pamamagitan ng pag-alis ng input diode na pagpapalit ng regulator at pagdaragdag ng isang kawad mula sa input na bahagi ng diode sa Vin sa nano board.

suriin maaari mong i-program ang nano pagkatapos ng conversion.

Hakbang 6: NANO Code

Code ng NANO
Code ng NANO
Code ng NANO
Code ng NANO

Ang mga ginamit na code para sa aking remote na SKY UK, maaaring ito ay tukoy sa modelo at sulit na suriin ang iyong mga code na gumana sa isang hiwalay na sketch na hindi naka-link sa esp8266.

Ginamit ko ang IRremote library sa pamamagitan ng shirriff Bersyon 2.0.1

Gumamit ng halimbawa ng IRrecord upang makuha ang mga malalayong utos na nangangailangan ng isang module ng IR receiver o maaari mong makita ang iyong mga code sa web? Hindi ko ito pupunta dito ngunit dito mo mapipili kung ano ang iyong kontrolin at kung paano.

Ikonekta ang isang IR transmitter na magagamit sa ebay o bumuo ng isa. Dapat mong gamitin ang isang 850nm IR na humantong dahil ang mga ito ang pinakakaraniwan sa mga tumatanggap. Ginamit ng IR library ang D3 bilang TX pin nito

Ang salita ng Alexa ay naipasa sa nano, kaya mula dito ang nano nito na may kontrol sa boses.

Hakbang 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Maraming mga module ng ESP8266, gumamit ako ng isa na kailangan kong mag-wire sa ilalim ng isang mikroskopyo, Ang ESP8266-01 ay may isang 2x4 header at lahat ng mga pin na kailangan mo at murang. Naglo-load ng mga halimbawa sa web,. Ang aking biyahe up, ang GPIO_0 ay kailangang konektado sa gnd sa panahon ng power up (maaaring palutangin) kapag ang pagprograma, ito ay isang config pin, hinila ng mataas sa loob. Kapag na-program ay hayaan ang GPIO_0 float at muling kapangyarihan. Perpektong kumonekta ang CHPD sa V +.

Ang tagapamahala ng board sa arduino 1.6.11 ay walang link na esp8622, sa Arduino IDEfile> mga kagustuhan> karagdagang mga Board Manager URL's, idagdag ang:

arduino.esp8266.com/stable/package_esp8266c…

pagkatapos goto board manager at hanapin ang esp8266 na pakete. dapat ka na ngayong bigyan ka ng isang malaking listahan ng mga board na esp8266, piliin ang Mga Tool> Lupon> ESP8266 Generic Module. Gamit ang isang usb upang uart module maaari mo na ngayong i-program ang esp na bahagi sa esp8266_server_text. Lakas sa 3V3, ikonekta ang TX-RX, RX-TX at Gnd.

Kailangan mong ipasok ang iyong network SSID at password sa script at ang port na iyong itatakda para sa pagpapasa ng port, hal. 777.

Maaari mong patakbuhin ang code sa pamamagitan ng muling pag-power ng esp habang nakakonekta sa usb upang uart converter at ang serial window ng arduino (9600 baud) ay dapat ipakita ang lokal na ip address ng esp module. ipasok ito sa code at muling programa.

Hakbang 8: Pag-setup sa Network

Pag-setup ng Network
Pag-setup ng Network
Pag-setup ng Network
Pag-setup ng Network

Kaya upang payagan ang tawag ng Lambda URL na kumonekta sa server ng HTTP ng ESP kailangan namin upang itakda ang iyong router sa pagpapasa ng port. Nakuha ko ang aking panlabas na ip address mula sa https://www.whatsmyip.org/, nasa isang link ako sa microwave kaya't ang aking tagabigay ay mayroong router at kailangan kong humiling ng pagpapasa ng port mula sa kanila. Kailangan kong ibigay ang IP address ng ESP8266 sa aking network at ang port na aking pinili, hal. 777. Ang panlabas na IP address ay kailangang ipasok sa script ng lambda python at ipapakita ang iyong lokal na esp address kapag pinatakbo mo ang code na esp8266 sa pamamagitan ng ang usb upang uart link.

Ang module ng ESP sa koneksyon sa usb to uart ay dapat ipakita sa isang terminal ang papasok na salita mula sa lambda.

Ikonekta ang ESP sa nano tulad ng ipinakita na 3v3, gnd at TX sa nano D2 soft serial. kung mayroon kang nano sa usb sa isang serial comms display sa ika-epc dapat ipakita nito kung ano ang natatanggap mula sa esp.

Kung ang ESP ay hindi konektado sa network o hindi tumugon sa tawag sa URL mula sa lambda, mag-timeout ang lambda at iulat ng Alexa ang isang nabigong tugon sa kasanayan

Hakbang 9: Pag-pause ng Buksan ng Clicker ng Alexa sa Alexa

Pag-pause ng Buksan ng Clicker ng Alexa sa Alexa
Pag-pause ng Buksan ng Clicker ng Alexa sa Alexa

Inilagay ko ang module sa tabi ng tatanggap ngunit may mas mataas na output ng IR power maaari itong maging kahit saan sa isang silid. Gumagamit ako ng isang kilalang adapter ng power usb ng tatak upang pakainin ang lakas sa pamamagitan ng usb.

Umupo at sabihin ang "Alexa open Clicker"

gabay sa tv

bumaba ang tv

tv pumili

tv play

tv jump five

upang tumalon sa unahan ng isang hanay ng bilang ng mga minuto ang macros ay pupunta sa 30x maghintay para sa isang hiniling na oras at pagkatapos maglaro.

Ang mga adver ng UK ay halos limang minuto.

Upang lumabas sa app sabihin na umalis na si Alexa.

Tangkilikin

Inirerekumendang: