Съдържание:

Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки
Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки

Видео: Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки

Видео: Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки
Видео: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, Юли
Anonim
Уеб дистанционно управление с Esp8266 (NodeMCU)
Уеб дистанционно управление с Esp8266 (NodeMCU)

Проблем

На масата в хола има три дистанционни управления. За да гледате любимото си предаване, трябва точно да следвате специална последователност от натискания на бутони върху поне две от тях. И твоята съквартирантка, мама, приятелка никога не помни тези..

Решение

Купувате Logitech Harmony;-)

Но ако не искате да харчите тези пари, можете да изградите нещо подобно за под 10 $. Чрез свързване на инфрачервен светодиод към ESP8266 (s.th. като Arduino, но с WiFi на борда) можем лесно да конструираме устройство, с което можем да контролираме устройства с малка уеб страница от всеки компютър или мобилен телефон във вашата WiFi.

От какво имаш нужда

  • Съвет за развитие на NodeMCU (изпращат се от Азия за <5 €)
  • IR сензор (OS-1838B или TSOP38238)
  • IR LED
  • 100Ω резистор
  • NPN транзистор (т.е. 2N2222)
  • малко парче прототипна печатна платка
  • четири -пинов конектор, който се побира на NodeMCU (т.е. захранващ адаптер за флопи диск)

Ако имате старо дистанционно, вероятно можете да използвате IR LED и транзистора от него.

Стъпка 1: Сглобяване на хардуера

Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера
Сглобяване на хардуера

Сглобете компонентите на малко парче на малко парче прототипна платка и свържете компонентите, както е показано на диаграмата.

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

Свързах всичко към щепсел, който премахнах от счупен адаптер за захранване на компютъра (този за дискетата).

Стъпка 2: Инсталиране на приложението на NodeMCU

Настройте вашата среда, за да компилирате програми за esp8266 с Arduino IDE: [https://github.com/espressif/arduino-esp32

Клонирайте или изтеглете изходния код на приложението от хранилището на github

В IDE на Arduino инсталирайте библиотеката IRremoteESP8266 (Меню: Sketch -> Manage Libraries). Копирайте файла config.h.example и дайте име на това копие config.h. Трябва да посочите поне SSID и парола на вашата WiFi в config.h, за да можете да се свържете с уеб сървъра. Arduino Sketch вече трябва да може да се компилира и качва. Свържете създадената от вас пробивна платка към 3V, Ground, D5, D6.

Ако всичко работи и стартирате чипа, свързан към Arduino IDE, трябва да покажете IP адреса, на който сървърът работи, в серийния монитор.

Стъпка 3: Персонализиране на HTML-страницата за контрол на NodeMCU

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

В директорията с изходния код има и „ir.html“. Ако е конфигуриран правилно, това ще „говори“с NodeMCU.

Така че първата стъпка е да кажете на файла, под който адрес може да намери NodeMCU. Отворете файла ir.html в текстов редактор и потърсете ред, който изглежда така:

var host = '192.168.2.121';

Променете стойността между отметките, за да съответства на адреса, който уеб сървърът отпечатва на серийния монитор след стартиране.

Запис Натиснете бутона за запис Насочете дистанционното управление към сензора и натиснете желания бутон на дистанционното управление След това под бутона Запис трябва да се появи дълъг списък с числа. Това са времената на сигнала за този бутон, който сте натиснали на дистанционното.

Настройване на команди

Сега искаме начин да изпратим сигнал с тези времена от самия чип. За това трябва да добавим времето, което току -що записахме, към списъка с известни сигнали. Копирайте стойностите (включително квадратните скоби), които ви е дал процесът на запис и вмъкнете нов ред с име и стойностите във файла ir.html след реда, който изглежда така:

var сигнали = {

"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 файла, можете да го копирате на всеки компютър или мобилно устройство, което има браузър и е свързано към същия WiFi като NodeMCU.

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