Веб-ИК-пульт с Esp8266 (NodeMCU): 4 шага
Веб-ИК-пульт с Esp8266 (NodeMCU): 4 шага
Anonim
Веб-ИК-пульт с Esp8266 (NodeMCU)
Веб-ИК-пульт с Esp8266 (NodeMCU)

Проблема

На столе в гостиной есть три пульта дистанционного управления. Чтобы посмотреть любимое шоу, вы должны точно следовать специальной последовательности нажатий как минимум двух кнопок. А твоя соседка по комнате, мама, подруга никогда не помнит об этом..

Решение

Вы покупаете Logitech Harmony;-)

Но если вы не хотите тратить эти деньги, вы можете построить нечто подобное менее чем за 10 $. Подключив инфракрасный светодиод к ESP8266 (такой же, как Arduino, но с WiFi на борту), мы можем легко сконструировать устройство, с помощью которого мы можем управлять устройствами с помощью небольшой веб-страницы с любого компьютера или мобильного телефона в вашем Wi-Fi.

Что вам нужно

  • Плата для разработки NodeMCU (доставляется из Азии по цене <5 €)
  • ИК-датчик (OS-1838B или TSOP38238)
  • ИК-светодиод
  • Резистор 100 Ом
  • NPN транзистор (например, 2N2222)
  • небольшой кусок прототипа печатной платы
  • четырехконтактный разъем, который подходит к NodeMCU (то есть адаптеру питания гибкого диска)

Если у вас старый пульт, вы, вероятно, можете использовать ИК-светодиод и транзистор от него.

Шаг 1: Сборка оборудования

Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования

Соберите компоненты на небольшом кусочке на небольшом кусочке прототипа печатной платы и соедините компоненты, как показано на схеме.

В зависимости от светодиода защитный резистор может не понадобиться. Если вы обнаружите, что вам нужно очень хорошо целиться или быть очень близко к устройству, вы, вероятно, можете его удалить.

Я подключил все к вилке, которую вытащил из сломанного адаптера питания ПК (тот, что для дискеты).

Шаг 2: Установка приложения на NodeMCU

Настройте свою среду для компиляции программ для esp8266 с помощью Arduino IDE: [https://github.com/espressif/arduino-esp32

Клонировать или скачать исходный код приложения из репозитория github

В Arduino IDE установите библиотеку IRremoteESP8266 (Меню: Скетч -> Управление библиотеками). Скопируйте файл config.h.example и назовите эту копию config.h. Вы должны как минимум указать SSID и пароль вашего Wi-Fi в config.h, чтобы иметь возможность подключиться к веб-серверу. Эскиз Arduino теперь можно скомпилировать и загрузить. Подключите созданную вами коммутационную плату к 3V, заземлению, D5, D6.

Если все работает и вы запускаете чип, подключенный к Arduino IDE, вы должны отобразить IP-адрес, на котором работает сервер, на последовательном мониторе.

Шаг 3: Настройка HTML-страницы для управления NodeMCU

Процесс на этом этапе также показан на видео.

В каталоге исходного кода также есть «ir.html». При правильной настройке он будет «разговаривать» с NodeMCU.

Итак, первый шаг - сообщить файлу, по какому адресу он может найти NodeMCU. Откройте файл ir.html в текстовом редакторе и найдите строку, которая выглядит следующим образом:

var host = '192.168.2.121';

Измените значение между галочками, чтобы оно совпадало с адресом, который веб-сервер напечатал на последовательном мониторе после запуска.

Запись Нажмите кнопку записи Наведите пульт дистанционного управления на датчик и нажмите нужную кнопку на пульте дистанционного управления, после чего под кнопкой записи должен появиться длинный список чисел. Это время сигнала для той кнопки, которую вы нажали на пульте дистанционного управления.

Настройка команд

Теперь нам нужен способ отправки сигнала с этими таймингами от самого чипа. Для этого мы должны добавить только что записанные тайминги в список известных сигналов. Скопируйте значения (включая квадратные скобки), полученные в процессе записи, и вставьте новую строку с именем и значениями в файле ir.html после строки, которая выглядит следующим образом:

var signal = {

"pgr1 btn": [1, 2, 3], Замените 1, 2, 3 записанными значениями и не забудьте запятую после окружающих скобок. Чтобы добавить кнопку, мы также должны добавить команду. Команда может состоять из нескольких сигналов, поскольку нам может потребоваться «нажать» несколько кнопок на пульте дистанционного управления, то есть 1 и 2, чтобы перейти на канал 12 на телевизоре. Это также позволяет управлять несколькими устройствами с помощью одной команды. Ищите линию, похожую на эту

«Звук вкл / выкл»: [«без звука»], Скопируйте эту строку и измените текст «Звук вкл / выкл», чтобы он соответствовал тому, что вы хотите отобразить на новой кнопке. Измените имя «mute» на имя добавленного вами сигнала. Итак, результат может быть таким:

"HBO": ["prg 1 btn"], Если вы хотите выполнить несколько сигналов, добавьте их следующим образом:

"HBO": ["prg 1 btn", "prg 2 btn"],

Шаг 4: Использование

После того, как вы вставили желаемые последовательности сигналов в файл HTML, вы можете скопировать их на любой компьютер или мобильное устройство с браузером и подключенным к тому же Wi-Fi, что и NodeMCU.

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