Съдържание:

Телевизионно дистанционно за гласово управление Alexa ESP8266: 9 стъпки
Телевизионно дистанционно за гласово управление Alexa ESP8266: 9 стъпки

Видео: Телевизионно дистанционно за гласово управление Alexa ESP8266: 9 стъпки

Видео: Телевизионно дистанционно за гласово управление Alexa ESP8266: 9 стъпки
Видео: sonoff s26 голосовое управление Amazon Alexa 2024, Ноември
Anonim
Дистанционно управление за гласово управление на Alexa ESP8266
Дистанционно управление за гласово управление на Alexa ESP8266

Ако някой в къщата ви загуби дистанционното управление, влизате ли в празна стая, за да откриете, че телевизорът изгасва. Батериите започват да се повреждат и няма контрол от задната част на стаята. Сега можете да управлявате вашия телевизор, DVR, всичко с IR контрол, за което можете да заснемете IR сигнала. Направих тази система за управление на моя SKY DVR с прост гласов интерфейс.

Необходим хардуер:

  1. Amazon Echo или Dot
  2. Wi -Fi рутер, който може да пренася напред (моят доставчик на услуги направи това вместо мен)
  3. 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
Настройка на уменията на Alexa
Настройка на уменията на Alexa
Настройка на уменията на Alexa
Настройка на уменията на Alexa
Настройка на уменията на Alexa

Комплектът за умения на Alexas приема гласовата команда и я филтрира, като използва списък със „стойности“

Веднъж регистриран:

В конзолата за разработчици на Amazon изберете раздела Alexa> Alexa Skills Kit [Първи стъпки]

[Добавяне на ново умение]

Тип умение: Персонализиран модел на взаимодействие

Език: изберете правилния, когато това беше зададено на английски (САЩ), той няма да реагира!

Име: това вече не е важно, тъй като не публикуваме.

Име за извикване: изберете кратко име, думата, използвана за отваряне на приложението.

[СЛЕДВАЩИЯ]

Схема за намерение, поставете в кода

Персонализирани типове слотове {Add Slot Type], въведете EFFECT_ON_TV

в стойностите на слота, поставете в кода

Примерни изказвания, пуснати, TVCommandIntent tv {TVAction}

[СПЕСТЕТЕ], на следващата страница с умения трябва да добавим връзка към кода, който ще стартираме, когато „Намерението“се задейства или от началната дума на приложението „кликер“, или след това от „телевизия {стойност на слота}“.

Ще се върнем към Alexa, след като настроим Python скрипта на Lambda сървъра.

Стъпка 2: AWS Lambda Server Python Script

Регистрирайте се за Безплатното ниво на AWS, имах притеснения, че това може да ми струва истински пари, но след като го използвах известно време и прочетох форуми, ограниченията за използване са толкова високи за лична употреба и за развитие, че никога не трябва да достигат точка на зареждане. Има алтернатива да използвате свой собствен HTTPS сървър и може би това е нещо, което esp8266 би могъл да направи, друга инструкция!

Това е кодът, който се изпълнява, когато се изрече Името на Извикване (напр. „Alexa open clicker“) и получава вълшебната дума от Alexa. След като приложението се стартира, трябва само да кажете „tv play, tv jump five“и Alexa ще изпрати „play“, „jump 5“към този скрипт на python. Приложението изтича, ако няма отговор след известно време.

В AWS Services първо изберете вашето местоположение, горе вдясно има опция.

за САЩ изберете N Вирджиния, за ЕС изберете Ирландия.

изберете Lambda от заглавието Compute.

[Създаване на ламбда функция]

[Празна функция]

Конфигуриране на спусъка: щракнете върху пунктираната кутия и изберете Alexa Skills Kit

[СЛЕДВАЩИЯ]

Конфигуриране на функция

Назовете каквото искате

Описание, зависи от вас

Runtine: Python 2.7

поставете в кода на python,

в кода URL адресът HTTP адрес ще трябва да бъде променен на вашия собствен външен ip адрес по -късно

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

по -долу на екрана е РОЛЯ, щракнете върху раздела и изберете Избор на персонализирана роля

Това ще отвори нов екран и щракнете върху разреши., Той се връща към екрана за конфигуриране на функции с основно изпълнение на Lamda, избрано като съществуваща роля.

[СЛЕДВАЩИ] преглед, натиснете [Създаване на функция] и той трябва да се компилира и да ви даде ARN номер. КОПИРАЙТЕ този код и ние ще го поставим в комплекта за умения на alexa.

Стъпка 3:

Стъпка 4: Задайте връзката на Alexa Skills Kit към AWS Lambda

Задайте връзката на Alexa Skills Kit към AWS Lambda
Задайте връзката на Alexa Skills Kit към AWS Lambda

В комплекта за умения на Alexa изберете страницата за конфигуриране, озаглавена „Глобални полета“, изберете AWS Lambda и вашия регион и поставете кода ARN в полето [NEXT], в теста проверете дали е избрано ENABLED.

Ние сме свършили тук за сега, сега за малко хардуер.

Стъпка 5: Преобразуване на Arduino NANO 3V3

Преобразуване на Arduino NANO 3V3
Преобразуване на Arduino NANO 3V3
Преобразуване на Arduino NANO 3V3
Преобразуване на Arduino NANO 3V3

ESP8266 работи от 3v3, така че или го стартирате от външен регулатор, или конвертирате нано. Използвал съм клонинг nano с чип CH340 usb. Имам две различни оформления на печатни платки, за които знам, но се надявам, че това ще обхване повечето оформления.

Трябва да сменим 5V регулатора със съвместим с щифт 3v3, 1117-3. след това насочете 5V входа от usb гнездото само към регулатора и свържете всичко останало към неговия изход. за щастие това може да бъде постигнато чрез премахване на входния диод, смяна на регулатора и добавяне на един проводник от входната страна на диода към Vin на нано платката.

проверете дали можете да програмирате nano след преобразуването.

Стъпка 6: NANO код

Код на NANO
Код на NANO
Код на NANO
Код на NANO

Това използва кодове за моето дистанционно SKY UK, може да е специфично за модела и си струва да проверите кодовете си да работят в отделна скица, която не е свързана с esp8266.

Използвах библиотеката IRremote от shirriff Версия 2.0.1

Използвайте пример IRrecord за улавяне на отдалечени команди, които изискват модул за IR приемник или може да намерите кодовете си в мрежата? Тук няма да навлизам в това, но тук можете да изберете какво контролирате и как.

Свържете IR предавател, наличен в ebay, или изградете такъв. Трябва да използвате 850nm IR LED, тъй като те са най -често срещаните в приемниците. IR библиотеката използва D3 като своя TX пин

Думата алекса се предава на нано, така че оттук нано с гласово управление.

Стъпка 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Има много модули ESP8266, използвах един, който трябваше да окабеля под микроскоп, ESP8266-01 има 2x4 заглавка и всички пинове, от които се нуждаете, и е евтин. Много примери в мрежата,. Моето пътуване нагоре, GPIO_0 трябва да бъде свързан към gnd по време на включване (след това може да бъде плаващ) при програмиране, неговият конфигурационен щифт, издърпан високо вътрешно. След като бъде програмиран, оставете GPIO_0 да плава и включете отново. CHPD се свързва постоянно с V+.

Управителят на борда в arduino 1.6.11 няма връзката esp8622, в IDEfile на Arduino> предпочитания> допълнителни URL адреси на мениджъра на борда, добавете:

arduino.esp8266.com/stable/package_esp8266c…

след това отидете на мениджъра на борда и намерете пакета esp8266. това сега трябва да ви даде голям списък с платки esp8266, изберете Инструменти> Платка> ESP8266 Общ модул. С помощта на usb към uart модул вече можете да програмирате esp частта с esp8266_server_text. Захранвайте с 3V3, свържете TX-RX, RX-TX и Gnd.

Трябва да въведете мрежовия SSID и парола в скрипта и порта, който ще зададете за пренасочване на портове, напр. 777.

Можете да стартирате кода, като включите отново esp, докато сте свързани към usb към uart конвертор и серийният прозорец arduino (9600 бода) трябва да показва локалния ip адрес на esp модула. въведете това в кода и препрограмирайте.

Стъпка 8: Настройка на мрежата

Настройка на мрежата
Настройка на мрежата
Настройка на мрежата
Настройка на мрежата

Така че, за да позволим на Lambda URL обаждането да се свърже с ESP HTTP сървъра, трябва да настроим маршрутизатора ви за пренасочване на портове. Взех външния си ip адрес от https://www.whatsmyip.org/, аз съм на микровълнова връзка, така че моят доставчик има рутера и трябваше да поискам пренасочване на портове от тях. Трябваше да дам IP адреса на ESP8266 в моята мрежа и избрания от мен порт, напр. 777. Външният IP адрес трябва да бъде въведен в скрипта на lambda python и вашият локален esp адрес ще се покаже, когато стартирате кода esp8266 чрез връзката usb към uart.

Модулът ESP на връзката usb към uart трябва да показва на терминала входящата дума от ламбда.

Свържете ESP към nano, както е показано 3v3, gnd и TX към nano D2 soft serial. ако имате нано на usb към сериен комуникационен дисплей на th epc, той трябва да покаже какво получава от esp.

Ако ESP не е свързан към мрежата или не отговаря на извикването на URL от lambda, lambda ще изтече и Alexa съобщава за неуспешен отговор на уменията

Стъпка 9: Alexa Open Clicker Tv Pause

Alexa Open Clicker Tv Пауза
Alexa Open Clicker Tv Пауза

Поставих модула до приемника, но с по -голяма мощност IR изход може да бъде навсякъде в стаята. Използвам USB захранващ адаптер с известна марка за захранване чрез USB.

Седнете и кажете „Alexa open Clicker“

телевизионно ръководство

телевизора слиза

избор на телевизия

телевизионна игра

тв скок пет

за прескачане на зададен брой минути макросите ще преминат към 30x изчакване за заявено време и след това ще играят.

Рекламите във Великобритания са около пет минути.

За да излезете от приложението, кажете Alexa да се откаже.

Наслади се.

Препоръчано: