Оглавление:

Alexa Voice Control TV Remote ESP8266: 9 шагов
Alexa Voice Control TV Remote ESP8266: 9 шагов

Видео: Alexa Voice Control TV Remote ESP8266: 9 шагов

Видео: Alexa Voice Control TV Remote ESP8266: 9 шагов
Видео: Arduino, ESP8266 - IR Remote 2024, Июль
Anonim
Пульт дистанционного управления для телевизора Alexa Voice Control ESP8266
Пульт дистанционного управления для телевизора Alexa Voice Control ESP8266

Кто-то в вашем доме теряет пульт дистанционного управления, вы заходите в пустую комнату и видите, как гудит телевизор. Батареи начинают выходить из строя, и никакого контроля из задней части комнаты. Теперь вы можете управлять своим телевизором, видеорегистратором и всем, что угодно с помощью ИК-управления, для которого вы можете захватывать ИК-сигнал. Я сделал эту систему для управления моим SKY DVR с помощью простого голосового интерфейса.

Требуемое оборудование:

  1. Amazon Echo или Dot
  2. Wi-Fi-роутер с возможностью переадресации портов (мой провайдер сделал это за меня)
  3. Arduino NANO преобразован в 3V3
  4. ESP8266 -01 или аналогичный
  5. Модуль или схема ИК-передатчика
  6. Модуль ИК-приемника, если вы хотите захватывать коды.

Требуемое программное обеспечение и услуги:

  1. Arduino IDE, я использовал 1.6.11
  2. Учетная запись Amazon Alexa Skills (бесплатно)
  3. Учетная запись Amazon AWS (бесплатный уровень, но для открытия учетной записи требуется кредитная карта) или альтернативный сервер.

Шаг 1. Настройка навыков Alexa

Настройка навыков Alexa
Настройка навыков Alexa
Настройка навыков Alexa
Настройка навыков Alexa
Настройка навыков Alexa
Настройка навыков Alexa

Набор навыков Alexas принимает голосовую команду и фильтрует ее, используя список «значений».

После регистрации:

В консоли разработчика Amazon выберите вкладку Alexa> Alexa Skills Kit [Начало работы]

[Добавить новый навык]

Тип навыка: пользовательская модель взаимодействия

Язык: выберите правильный, если он установлен на английский (США), он не будет отвечать!

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

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

[СЛЕДУЮЩИЙ]

Схема намерения, вставьте код

Пользовательские типы слотов {Добавить тип слота], введите EFFECT_ON_TV

в значениях слотов вставьте код

Примеры высказываний, put, TVCommandIntent tv {TVAction}

[СОХРАНИТЬ], на следующей странице навыков мы должны добавить ссылку на код, который мы собираемся запустить, когда «Намерение» запускается либо стартовым словом приложения «кликер», либо после этого «tv {slot value}».

Мы вернемся к Alexa после того, как настроим скрипт python для сервера Lambda.

Шаг 2. Скрипт Python для AWS Lambda Server

Зарегистрируйтесь на уровне бесплатного пользования AWS, у меня были опасения, что это может стоить мне реальных денег, но после того, как я использую его некоторое время и читая форумы, ограничения на использование настолько высоки для личного использования и разработки, что никогда не должны достигать точки зарядки. Существует альтернатива использованию вашего собственного HTTPS-сервера, и, возможно, это то, что может сделать esp8266, еще одно поучительное!

Это код, который запускается, когда произносится имя вызова (например, «Alexa open clicker») и получает волшебное слово от Alexa. После запуска приложения вам нужно только сказать «tv play, tv jump five», и Alexa отправит «play», «jump 5» этому скрипту python. Время ожидания приложения истекает, если через некоторое время оно не отвечает.

В сервисах AWS сначала выберите свое местоположение, в правом верхнем углу есть опция.

для США выберите N Вирджиния, для ЕС выберите Ирландию.

выберите "Лямбда" в заголовке "Вычислить".

[Создать лямбда-функцию]

[Пустая функция]

Настроить триггер: нажмите на пунктирную рамку и выберите Alexa Skills Kit.

[СЛЕДУЮЩИЙ]

Настроить функцию

Назови все, что хочешь

Описание на ваше усмотрение

Рутин: Python 2.7

вставить код Python,

в коде URL-адрес HTTP нужно будет позже изменить на ваш собственный внешний IP-адрес

ссылка = "https://185.255.255.255:777/text?data=" + любимый_цвет

внизу экрана находится РОЛЬ, щелкните вкладку и выберите Выбрать настраиваемую роль.

Откроется новый экран и нажмите «Разрешить». Он вернется к экрану «Настроить функцию» с основным исполнением Lamda, выбранным как «Существующая роль».

[ДАЛЕЕ] обзор, нажмите [Создать функцию], и он должен скомпилировать и дать вам номер ARN. Скопируйте этот код, и мы поместим его в набор навыков alexa.

Шаг 3:

Шаг 4. Установите ссылку набора навыков Alexa на AWS Lambda

Установите ссылку набора навыков Alexa на AWS Lambda
Установите ссылку набора навыков Alexa на AWS Lambda

В комплекте навыков Alexa выберите страницу конфигурации с заголовком Global Fields, выберите AWS Lambda и свой регион и вставьте код ARN в поле [ДАЛЕЕ], в тесте установите флажок ВКЛЮЧЕНО.

На этом мы закончили, теперь для некоторого оборудования.

Шаг 5: преобразование Arduino NANO 3V3

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

ESP8266 работает от 3v3, поэтому вы либо запускаете его от внешнего регулятора, либо конвертируете нано. Я использовал клон nano с USB-чипом CH340. У меня есть два разных макета печатных плат, о которых я знаю, но, надеюсь, они охватят большинство макетов.

Нам нужно заменить регулятор 5V на совместимый с контактами 3v3, 1117-3. затем направьте 5 В от гнезда USB только к регулятору, а все остальное подключите к его выходу. К счастью, этого можно достичь, удалив входной диод, заменив регулятор и добавив один провод от входной стороны диода к Vin на плате nano.

проверьте, сможете ли вы запрограммировать nano после преобразования.

Шаг 6: Код NANO

Код NANO
Код NANO
Код NANO
Код NANO

Здесь использовались коды для моего пульта дистанционного управления SKY UK, он может зависеть от модели, и стоит проверить, что ваши коды работают в отдельном эскизе, не связанном с esp8266.

Я использовал библиотеку IRremote от shirriff Version 2.0.1

Используйте пример IRrecord для захвата удаленных команд, для которых требуется модуль ИК-приемника, или вы можете найти свои коды в Интернете? Я не буду здесь вдаваться в подробности, но именно здесь вы можете выбрать, что и как контролировать.

Подключите ИК-передатчик, доступный на ebay, или создайте его. Вам следует использовать ИК-светодиоды с длиной волны 850 нм, так как они наиболее распространены в приемниках. Библиотека IR использовала D3 в качестве вывода TX.

Слово alexa передается в нано, поэтому отсюда его нано с голосовым управлением.

Шаг 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

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

Менеджер платы в Arduino 1.6.11 не имеет ссылки esp8622, в Arduino IDEfile> настройки> дополнительные URL-адреса Board Manager, добавьте:

arduino.esp8266.com/stable/package_esp8266c…

затем перейдите к менеджеру платы и найдите пакет esp8266. это должно дать вам большой список плат esp8266, выберите Tools> Board> ESP8266 Generic Module. Используя модуль usb to uart, теперь вы можете запрограммировать часть esp с помощью esp8266_server_text. Питание от 3V3, подключите TX-RX, RX-TX и Gnd.

Вам необходимо ввести свой сетевой SSID и пароль в скрипт, а также порт, который вы зададите для переадресации портов, например, 777.

Вы можете запустить код, повторно включив esp при подключении к преобразователю usb-uart, и в окне последовательного интерфейса Arduino (9600 бод) должен отображаться локальный IP-адрес модуля esp. введите это в код и перепрограммируйте.

Шаг 8: Настройка сети

Настройка сети
Настройка сети
Настройка сети
Настройка сети

Итак, чтобы разрешить вызову Lambda URL подключаться к HTTP-серверу ESP, нам нужно настроить ваш маршрутизатор на переадресацию портов. Я получил свой внешний IP-адрес с https://www.whatsmyip.org/, я использую микроволновую связь, поэтому у моего провайдера есть маршрутизатор, и мне пришлось запросить у них переадресацию портов. Мне пришлось указать IP-адрес ESP8266 в моей сети и порт, который я выбрал, например 777. Внешний IP-адрес необходимо ввести в лямбда-скрипт python, и ваш локальный адрес esp будет показан, когда вы запустите код esp8266 через ссылка usb на uart.

Модуль ESP на соединении usb-uart должен отображать на терминале входящее слово от лямбды.

Подключите ESP к nano, как показано 3v3, gnd и TX to nano D2 soft serial. Если у вас есть nano на usb для последовательного порта связи на th epc, он должен показать, что он получает от esp.

Если ESP не подключен к сети или не отвечает на URL-вызов от лямбда, лямбда будет тайм-аут и Alexa сообщает о неудачном ответе навыка

Шаг 9: Alexa Open Clicker Tv Pause

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

Я поставил модуль рядом с приемником, но с более мощным ИК-выходом он может быть где угодно в комнате. Я использую адаптер питания USB известного бренда для подачи питания через USB.

Устройтесь поудобнее и скажите "Alexa open Clicker"

Телепрограмма

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

ТВ выбор

ТВ спектакль

тв прыгай пять

для перехода вперед на заданное количество минут макрос перейдет к 30-кратному ожиданию запрошенного времени, а затем воспроизведется.

Рекламы в Великобритании занимают около пяти минут.

Чтобы выйти из приложения, скажите, что Alexa выйдет.

Наслаждаться.

Рекомендуемые: