• Система автоматизации с открытым исходным кодом на базе 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 , собрал пару собственных , но на "порт" библиотеки пока времени нет.
 
Сверху Снизу