Мазмуну:

Alexa Voice Control TV Remote ESP8266: 9 кадам
Alexa Voice Control TV Remote ESP8266: 9 кадам

Video: Alexa Voice Control TV Remote ESP8266: 9 кадам

Video: Alexa Voice Control TV Remote ESP8266: 9 кадам
Video: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, Ноябрь
Anonim
Alexa Voice Control TV Remote ESP8266
Alexa Voice Control TV Remote ESP8266

Сиздин үйдө кимдир бирөө пультун жоготуп койсо, бош бөлмөгө кирип телевизордун шыңгырап жатканын көрөсүзбү? Батареялар иштен чыга баштады жана бөлмөнүн артынан эч кандай көзөмөл жок. Эми сиз телекөрсөтүүңүздү, DVRди, IR контролунун жардамы менен IR сигналын тартып ала аласыз. Мен бул системаны SKY DVRди жөнөкөй үн интерфейси менен башкаруу үчүн жасадым.

Керектүү Аппаратура:

  1. Amazon Echo же Dot
  2. Wi -Fi роутери алдыга жылдыра алат (менин провайдерим муну мен үчүн жасады)
  3. An Arduino NANO 3V3кө которулду
  4. ESP8266 -01 же окшош
  5. IR өткөргүч модулу же схемасы
  6. IR алуучу модулу, эгер сиз коддорду жазгыңыз келсе.

Керектүү Программалык камсыздоо жана кызматтар:

  1. Arduino IDE, мен 1.6.11ди колдондум
  2. Amazon Alexa көндүмдөр эсеби (бекер)
  3. Amazon AWS аккаунту (Акысыз деңгээл, бирок эсеп ачуу үчүн кредиттик карта талап кылынат) же альтернативдүү сервер.

1 -кадам: Alexa Skills орнотуу

Alexa Skills орнотуу
Alexa Skills орнотуу
Alexa Skills орнотуу
Alexa Skills орнотуу
Alexa Skills орнотуу
Alexa Skills орнотуу

Alexas көндүмдөр жыйнагы үн буйругун алат жана "баалуулуктардын" тизмеси аркылуу чыпкалайт.

Катталгандан кийин:

Amazon Developer консолунда Alexa өтмөгүн> Alexa Skills Kit тандаңыз [Баштоо]

[Жаңы көндүм кошуу]

Көндүм түрү: Өз ара аракеттенүү модели

Тил: туура бирин тандаңыз, качан бул англисче (АКШ) деп коюлса, ал жооп бербейт!

Аты: бул азыр маанилүү эмес, анткени биз жарыя кылбайбыз.

Чакыруунун аты:, кыска атын тандаңыз, анын сөзү колдонмону ачуу үчүн колдонулат.

[КИЙИНКИ]

Ниет схемасы, кодду чаптаңыз

Ыңгайлаштырылган слот түрлөрү {Slot Type кошуу], EFFECT_ON_TV киргизиңиз

Slot баалуулуктарына кодду чаптаңыз

Үлгү айтуу, коюу, TVCommandIntent тв {TVAction}

[SAVE], кийинки көндүмдөр барагында биз "ниет" колдонмонун баштоо сөзү "чыкылдатуу" же андан кийин "tv {slot value}" тарабынан иштетилгенде, биз иштете турган кодго шилтемени кошушубуз керек..

Lambda серверинин питон скриптин орноткондон кийин биз Alexaга кайтып келебиз.

2 -кадам: AWS Lambda Server Python Script

AWSтин бекер деңгээлине катталыңыз, бул мага чыныгы акчаны талап кылышы мүмкүн деген кооптонуум бар болчу, бирок аны бир аз колдонгондон жана форумдарды окугандан кийин жеке жана өнүгүү үчүн колдонуу чектери ушунчалык жогору болгондуктан, ал эч качан кубатталуучу чекитке жетпеши керек. Өз HTTPS сервериңизди колдонуунун альтернативасы бар, балким, бул esp8266 кыла турган нерсе, дагы бир нускоочу!

Бул Чакыруу Аты айтылганда иштеген код (мисалы, "Alexa open clicker") жана Alexaдан сыйкырдуу сөздү алат. Колдонмо иштей баштагандан кийин, "tv play, tv jump five" деп айтуу керек жана Alexa бул python скриптине "play", "5 секирүү" жөнөтөт. Колдонмо бир аз убакыттан кийин эч кандай жооп бербесе, убактысы бүтөт.

AWS кызматтарында алгач жайгашкан жериңизди тандаңыз, жогорку оң жакта параметр бар.

АКШ үчүн Н Виржинияны, ЕБ үчүн Ирландияны тандаңыз.

Compute бөлүмүнөн Lambda тандаңыз.

[Lambda функциясын түзүү]

[Бош функция]

Триггерди конфигурациялоо: чекиттүү кутучаны чыкылдатып, Alexa Skills Kitти тандаңыз

[КИЙИНКИ]

Функцияны конфигурациялоо

Эмнени кааласаң ошону ата

Сүрөттөмө, сизге чейин

Иштетүү: Python 2.7

python кодуна чаптаңыз,

коддо URL HTTP дареги кийинчерээк тышкы тышкы IP дарегиңизге өзгөртүлүшү керек

шилтеме = "https://185.255.255.255:777/text?data=" + Favorite_color

экрандын төмөн жагында - РОЛ, өтмөктү чыкылдатып, ыңгайлаштырылган ролду тандоо дегенди тандаңыз

Бул жаңы экранды ачат жана уруксат берүүнү басыңыз., Ал Lamda негизги аткарылышы менен Configure функциясынын экранына кайтып бар ролу катары тандалат.

[КИЙИНКИ] кароо, [Функцияны түзүү] баскычын басыңыз жана ал сизге ARN номерин түзүп бериши керек. Бул кодду КӨЧҮРҮП, биз аны alexa көндүмдөр топтомуна киргизебиз.

3 -кадам:

4 -кадам: Alexa Skills Kit Шилтемесин AWS Lambdaга орнотуңуз

Alexa Skills Kit Шилтемесин AWS Lambdaга коюңуз
Alexa Skills Kit Шилтемесин AWS Lambdaга коюңуз

Alexa көндүмдөр топтомунда, Global Fields жетектеген Конфигурация баракчасын тандап, AWS Lambda жана сиздин аймакты тандап, ARN кодун [NEXT] кутусуна чаптаңыз, текшерүүдө ENABLED тандалганын текшериңиз.

БИЗ азыр бул жерде, азыр кээ бир жабдыктар үчүн жасалып бүттүк.

5 -кадам: Arduino NANO 3V3 конверсиясы

Arduino NANO 3V3 конверсиясы
Arduino NANO 3V3 конверсиясы
Arduino NANO 3V3 конверсиясы
Arduino NANO 3V3 конверсиясы

ESP8266 3v3төн иштейт, андыктан аны тышкы жөнгө салгычтан иштетесиз же нанону айландырасыз. Мен CH340 USB чипи бар клон наносун колдондум. Мен билген эки башка компьютердин макети бар, бирок бул көпчүлүк макеттерди камтыйт деп үмүттөнөм.

Биз 5V жөндөгүчтү 3v3 бири менен шайкеш келген пинге алмаштырышыбыз керек, 1117-3. анда 5Вди USB розеткасынан жөнгө салуучуга гана буруңуз жана калган нерсенин бардыгын анын чыгуусуна туташтырыңыз. Бактыга жараша, бул жөнгө салуучуну алмаштыруучу диодду алып салуу жана диоддун кирүүчү тарабынан бир зымды нано тактасындагы Винге кошуу аркылуу ишке ашат.

конверсиядан кийин нанону программалай алаарыңызды текшериңиз.

6 -кадам: NANO Code

NANO коду
NANO коду
NANO коду
NANO коду

Бул менин SKY UK пульту үчүн колдонулган коддор, бул моделге мүнөздүү болушу мүмкүн жана коддоруңуздун esp8266 менен байланышы жок өзүнчө эскизде иштегенин текшерүү керек.

Мен IRremote китепканасын shirriff Version 2.0.1 аркылуу колдондум

IR кабылдагыч модулун талап кылган алыскы буйруктарды басып алуу үчүн IRrecord мисалын колдонуңуз же Интернеттен коддоруңузду таба аласызбы? Мен бул жерге кирбейм, бирок бул жерде сиз эмнени жана кантип башкарууну тандай аласыз.

Ebayде жеткиликтүү IR өткөргүчтү туташтырыңыз же бирин куруңуз. Сиз 850nm IR LEDди колдонушуңуз керек, анткени алар ресиверлерде эң көп кездешет. IR китепканасы D3ти TX пини катары колдонгон

Алекса сөзү наного өтөт, ошондуктан бул жерден анын үнү башкарылган наносу.

7 -кадам: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Көптөгөн ESP8266 модулдары бар, мен микроскоптун астынан өткөрүүгө туура келгенди колдондум, ESP8266-01де 2х4 аталыш бар жана сизге керектүү бардык казыктары бар жана арзан. Интернетте көптөгөн мисалдар,. Менин саякатым, GPIO_0 программасы, анын конфигурацияланган пини, жогорку деңгээлде тартылганда (андан кийин калкып чыгууга болот) gnd менен туташуусу керек. Программалангандан кийин GPIO_0 калкып чыгып, кайра күйгүзүлсүн. CHPD V+ менен биротоло туташат.

Arduino 1.6.11деги башкарманын менеджеринде esp8622 шилтемеси жок, Arduino IDEfile> каалоолор> кошумча Башкаруучу URL'дерине кошуңуз:

arduino.esp8266.com/stable/package_esp8266c…

анда goto board менеджери жана esp8266 пакетин табыңыз. бул азыр сизге esp8266 такталарынын чоң тизмесин бериши керек, Tools> Board> ESP8266 Generic Module тандаңыз. Usart to uart модулун колдонуп, эми esp бөлүгүн esp8266_server_text менен программалай аласыз. 3V3 менен Power, TX-RX, RX-TX жана Gnd туташуу.

Сиз тармак SSID жана сырсөзүңүздү сценарийге жана портту багыттоо үчүн койгон портко киргизишиңиз керек, мисалы 777.

Сиз USB'ге UART конвертерине туташып турганда espти кайра иштетүү менен кодду иштете аласыз жана arduino сериялык терезеси (9600 baud) esp модулунун жергиликтүү IP дарегин көрсөтүшү керек. муну кодго киргизиңиз жана кайра программалаңыз.

8 -кадам: Тармакты орнотуу

Тармакты орнотуу
Тармакты орнотуу
Тармакты орнотуу
Тармакты орнотуу

Ошентип, Lambda URL чалуусуна ESP HTTP серверине туташууга уруксат берүү үчүн, роутериңизди порт багыттоого орнотушубуз керек. Мен тышкы IP дарегимди https://www.whatsmyip.org/ сайтынан алдым, мен микротолкундуу шилтемедемин, ошондуктан провайдеримде роутер бар жана мен алардан портту багыттоону суранышым керек болчу. Мен ESP8266нын IP дарегин өз тармагыма жана мен тандаган портко беришим керек болчу, мисалы 777. Тышкы IP дарегин lambda python скриптине киргизүү керек жана esp8266 кодун иштеткениңизде сиздин жергиликтүү esp дарегиңиз көрсөтүлөт. usb to uart шилтемеси.

Usart to uart байланышындагы ESP модулу терминалда lambdaдан келген сөздү көрсөтүшү керек.

ESPти нано менен 3v3, gnd жана TXти нано D2 жумшак сериясына туташтырыңыз. Эгерде сизде usbдо нано бар болсо, анда epcте сериялык билдирүүлөр дисплейи бар, ал espтен алганын көрсөтүшү керек.

Эгерде ESP тармакка туташпаса же ламбданын URL чалуусуна жооп бербесе, lambda күтүү убактысы бүтөт жана Alexa жөндөмсүз жооп жөнүндө кабар берет

9 -кадам: Alexa Open Clicker Tv Pause

Alexa Open Clicker Tv Pause
Alexa Open Clicker Tv Pause

Мен модулду ресивердин жанына койдум, бирок IR кубаттуулугу жогору болгондо ал бөлмөнүн каалаган жеринде болушу мүмкүн. Мен USB аркылуу кубаттоо үчүн белгилүү бренд USB кубат адаптерин колдоном.

Отуруп, "Alexa open Clicker" деп айтыңыз

телекөрсөтүү

телевизор түшүп кетет

сыналгы тандоо

телевизор ойноо

сыналгы беш

белгиленген мүнөттөрдүн алдыга секириши үчүн макростар керектүү убакытты күтүп, андан кийин 30 эсеге чейин барышат, анан ойношот.

Улуу Британиянын жарнактары болжол менен беш мүнөт.

Колдонмодон чыгуу үчүн Alexaдан чыгууну айтыңыз.

Ырахат.

Сунушталууда: