• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос ИК - приемник + ESP8266(NodeMCU)

lifesgood

New member
Добрый день всем форумчанам. Пытаюсь сделать lua модуль который позволит принимать/отправлять команды с ИК пульта (36-38-40) КГц. Если с отправкой команд все более или менее ясно (есть примеры) , то с приемом все несколько хуже. Разобрался с алгоритмом приема и дешифровки команд, как это сделано в Arduino, портировать один-в-один в lua не представляется возможным , потому как библиотека tmr не позволяет производить внутр. прерывания чаще чем 1мс(1000мкс). Пробовал сделать на внешнем прерывании и отмерять время по tmr.now(). Так же не увенчалось успехом. Может кто сталкивался , подскажите пожалуйста, или есть какие то альтернативы ??? Заранее спасибо
 

ivdok

New member
Добрый день всем форумчанам. Пытаюсь сделать lua модуль который позволит принимать/отправлять команды с ИК пульта (36-38-40) КГц. Если с отправкой команд все более или менее ясно (есть примеры) , то с приемом все несколько хуже. Разобрался с алгоритмом приема и дешифровки команд, как это сделано в Arduino, портировать один-в-один в lua не представляется возможным , потому как библиотека tmr не позволяет производить внутр. прерывания чаще чем 1мс(1000мкс). Пробовал сделать на внешнем прерывании и отмерять время по tmr.now(). Так же не увенчалось успехом. Может кто сталкивался , подскажите пожалуйста, или есть какие то альтернативы ??? Заранее спасибо
Я использую в своём проекте таймер GitHub - simenkid/nodemcu-timer: Timer utility in node.js style for NodeMcu on ESP8266 WiFi SoC. Пробовал задержки от 1мс до 15 минут - полёт нормальный.
 

nikolz

Well-known member
В этом нет смыла т.к. скорость интерпритатора ниже чем 1/1мкс. Вы можете задать интервалыс точностью до 1 мкс при помощи tmr.delay() и опросить пин после истечения, но задержка на выполнение команды опроса съест время и реально будет не много больше требуемого интервала кроме того delay есть тупой цикл т.е. все прочие процессы встанут. Лучше собрать в си библиотечку под ИК используя системные таймеры.
Не встанут, если будете в цикле сбрасывать WD. и задержку делать не более 5 секунд
 

lifesgood

New member
Лучше собрать в си библиотечку под ИК используя системные таймеры.
Да, спасибо большое , я так и понял что это наиболее логичный вариант решения проблемы. Будем курить SDK , писать вкрячивать либу в NodeMCU. Если у кого есть наработки , буду благодарен ..
 

Wake_me

New member
Апну тему. Нет ли сподвижек в подключении ИК приемника к NodeMCU на LUA? Неужели только из-за него придется все делать на Arduino SDK?
 

lifesgood

New member
Апну тему. Нет ли сподвижек в подключении ИК приемника к NodeMCU на LUA? Неужели только из-за него придется все делать на Arduino SDK?
У меня пока глухо , разобрался как дописывать модули в прошивку , использовать SDK , собрал пару собственных , но на "порт" библиотеки пока времени нет.
 
Сверху Снизу