Перейти к содержанию

Обучаемый ИК-пульт DIY: различия между версиями

Материал из Wiki yaboard
Строка 97: Строка 97:
# Создаем новое устройство нажатием соответствующей кнопки (например, для простого действия достаточно выбрать "Розетка" (даже если у нас кнопка телевизора), имеющего функции "Вкл" и "Выкл"
# Создаем новое устройство нажатием соответствующей кнопки (например, для простого действия достаточно выбрать "Розетка" (даже если у нас кнопка телевизора), имеющего функции "Вкл" и "Выкл"
# В поле "Правило на включение" и "Правило на выключение" выбираем из списка наше созданное ранее правило (Рис. 2.2)
# В поле "Правило на включение" и "Правило на выключение" выбираем из списка наше созданное ранее правило (Рис. 2.2)
<gallery>
Kuzya1.jpg|Рис. 2.1
Kuzya2.jpg|Рис. 2.2
</gallery>

Версия от 13:49, 6 декабря 2021

Знания Применение информации с этой страницы требует специальных знаний и навыков
Всё описанное на этой странице вы производите на свой страх и риск, включая нарушение работы программного обеспечения и выход из строя оборудования, а также риск поражения током и травмы.
Материал носит информационный характер, и не является прямым указанием к действию!

Вступление

Сегодня соберем полностью обучаемый ИК-пульт для управления устройствами посредством команд Алисе. Для сборки нам понадобятся: 1. NodeMcu V3 (покупал здесь) или Wemos D1 mini (или подобные платы с esp2688) - 1 шт. 2. Модуль ИК-приемника (можно этот или любой принимающий ИК-диод) - 1 шт. 3. Модуль ИК-излучателя (покупал этот) - 1-4 шт. (в зависимости от желаемого угла излучения и бюджета) 4. Источник стабилизированного (желательно, чтобы избежать проблем) питания (подойдет обычная USB зарядка около 1А)

Преимущества перед прошлым решением или заводским решением:

  • Отсутствие потребности загрузки скетча при любых изменениях;
  • Управление любыми инфракрасными устройствами (если найдутся устройства, которые откажутся работать - пишите, рассмотрим);
  • Дешевизна деталей и простота сборки;
  • Возможность коррекции списка устройств и сценариев управления ими
  • Возможность разместить пульт в любой корпус (включая корпус самого принимающего устройства);
  • Отличный способ провести время и подтянуть скиллы.

Подготовительные работы

Установить:

  • ArduinoIDE, и в самой среде:
    • библиотеки Blynk и IRremoteESP8266,
    • библиотеки для платы NodeMCU.

Проверить правильность настройки ArduinoIDE:

  • Подключить NodeMCU к USB-порту компьютера.
  • Выбрать правильный тип платы.
  • Выбрать правильный порт (меню «Инструменты» - «Порт»), его можно посмотреть в диспетчере устройств вашей ОС (например, COM4).
  • Создать пустой скетч (меню «Файл» - «Новый», или Ctrl-N).
  • Загрузить этот пустой скетч в плату (кнопка «Загрузка», или Ctrl-U).


Подробнее по настройке разделе «Полезные ссылки».

Создаем проект в Blynk

  1. Скачиваем официальное приложение blynk из GooglePlay или AppStore.
  2. Регистрируемся в приложении (рис. 1)
  3. Создаём новый проект (рис. 2)
  4. Важно правильно выбрать микроконтроллер (рис. 3)
  5. Появится пустая страница для элементов управления (рис. 4), а на адрес электронной почты придёт token от нашего проекта в blynk, который мы будем использовать для управления через webhook.

Собираем схему пульта

Собираем схему пульта по рисунку (Рис. 1)

Скачиваем скетч по ссылке и меняем в файле "config.h" следующие данные:

1. char auth[] = "TokenBlynkTokenBlynkTokenBlynkTokenBlynk"; TokenBlynkTokenBlynkTokenBlynkTokenBlynk меняем на свой токен, полученный при создании проекта в приложении Blynk

2. char ssid[] = "My-WiFi"; My-WiFi меняем на название Вашей WiFi-сети

3. char pass[] = "My-pass"; My-pass меняем на пароль от Вашей WiFi-сети

Загружаем скетч в наше устройство.

Учим УДЯ управлять устройством через навык "Домовенок Кузя"

Будем использовать хорошо зарекомендовавший себя навык УД "Домовенок Кузя". Для этого:

  1. Переходим на сайт навыка и авторизуемся там с помощью учетной записи Яндекс.
  2. Выбираем кнопку "Добавить правило HTTP (GET)".
  3. Для управления нам нужна ссылка на get-запрос вида http://blynk-cloud.com/token_blynk/update/V1?value=key_ir

где token_blynk - токен, полученный на моменте создания проекта blynk и зашитый в конфиге нашего скетча key_ir - код ИК-сигнала, который мы должны получить следующим образом:

  • Наводим оригинальный пульт от устройства на наш DIY-пульт и нажимаем нужную кнопку (например включение-выключение телевизора)
  • Переходим по ссылке http://blynk-cloud.com/token_blynk/get/V0, где token_blynk - наш токен и видим ответ вида: ["71-9098,4498,632,514,600,542,606,512,634,508,598,544,608,508,634,508,598,544,608,1658,596,1670,630,1662,610,1658,602,1664,634,1658,608,1660,604,1664,626,516,594,1672,626,1666,610,510,628,514,602,542,604,512,626,522,598,1664,636,508,594,548,606,1660,598,1668,634,1660,602,1666,604,1662,636,40458,9106,2228,600"]

тут 71-9098,4498,632,514,600,542,606,512,634,508,598,544,608,508,634,508,598,544,608,1658,596,1670,630,1662,610,1658,602,1664,634,1658,608,1660,604,1664,626,516,594,1672,626,1666,610,510,628,514,602,542,604,512,626,522,598,1664,636,508,594,548,606,1660,598,1668,634,1660,602,1666,604,1662,636,40458,9106,2228,600 и будет нужный нам key_ir

В итоге ссылка на отправку get-запроса будет выглядеть примерно так: http://blynk-cloud.com/jiuiIOJUYiytUITY78698UuiY7y/update/V1?value=71-9098,4498,632,514,600,542,606,512,634,508,598,544,608,508,634,508,598,544,608,1658,596,1670,630,1662,610,1658,602,1664,634,1658,608,1660,604,1664,626,516,594,1672,626,1666,610,510,628,514,602,542,604,512,626,522,598,1664,636,508,594,548,606,1660,598,1668,634,1660,602,1666,604,1662,636,40458,9106,2228,600

  1. Вставляем полученную ссылку в поле ввода URL управления устройством, доступный из интернета на сайте навыка "Домовенок Кузя" (Рис. 2.1)
  2. Переходим в раздел виртуальных устройств нажатием на кнопку "Виртуальные устройства умного дома" в шапке сайта
  3. Создаем новое устройство нажатием соответствующей кнопки (например, для простого действия достаточно выбрать "Розетка" (даже если у нас кнопка телевизора), имеющего функции "Вкл" и "Выкл"
  4. В поле "Правило на включение" и "Правило на выключение" выбираем из списка наше созданное ранее правило (Рис. 2.2)