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

Обсуждение Библиотека IRremote не компилируется под ESP8266

Jon

Member
Хочу прикрутить к модулю ESP инфракрасное управление.
Библиотека IRremote, которая идет в примерах, компилируется под платы Ардуино.
А вот под платы ESP - не хочет.
Может у кого-нибудь есть решение этой проблемы?
 

Jon

Member
Спасибо за экстренную помощь. Все скомпилировалось. Тему закрываю.
 

Jon

Member
Программ для работы с пультиками от телевизоров, полно в сети. И примеры к библиотеке работают хорошо.
А вот по управлению кондиционерами толковых программ не нашел.
Беда в том, что у кондиционеров команды на много длинее чем у телевизора. Мой McQuay работает с 128 битными командами, а все телевизоры укладываются в 32 бита.
Все что я смог, так это записывать полный дамп команд, но это тупиковый метод, так как очень быстро сжирает память микропроцессора.
Дамп 4 команд сожрал 70% памяти.
Как бы подкрутить библиотеку, чтобы она могла анализировать больше 48 бит потока?
 

tretyakov_sa

Moderator
Команда форума
Программ для работы с пультиками от телевизоров, полно в сети. И примеры к библиотеке работают хорошо.
А вот по управлению кондиционерами толковых программ не нашел.
Беда в том, что у кондиционеров команды на много длинее чем у телевизора. Мой McQuay работает с 128 битными командами, а все телевизоры укладываются в 32 бита.
Все что я смог, так это записывать полный дамп команд, но это тупиковый метод, так как очень быстро сжирает память микропроцессора.
Дамп 4 команд сожрал 70% памяти.
Как бы подкрутить библиотеку, чтобы она могла анализировать больше 48 бит потока?
Вот эту статью читали? http://geektimes.ru/post/258012/
 

Jon

Member
В этой статье используется тот же самый полный дамп команды. Эта идея кочует из одной стати в другую.
Суть этого метода получить RAW массив не обработанных данных и вернуть его в этом же виде на кондиционер.
Это не HEX- команда, а просто массив вкл/выкл IR-диода с определенной задержкой. Типа 700мкс сид горит, -700 не горит. Получился 1 бит информации в однопроводном интерфейсе.
В примере программы задано 4 массива по 32 импульса. Заметим что 4 команды это далеко не полный перечень всех команд кондиционера,
а ресурсов МП сожрало 78%.
Почему автор не воспользовался встроенным преобразователем массива в команды мне не понятно.
В его кондее используются стандартные 32 битные команды и библиотека их легко конвертирует из/в поток.
Повторюсь, у моего кондея 128 битная команда, т.е. массив аж из 256 элементов.
А набор команд большой. Только чтобы задать нужную температуру от 15-30 градусов уже нужно 15 массивов размерностью в 256 ячеек.
Такие объемы переменных ни один МП не в состоянии переварить напрямую.
Вопрос в том как дописать библиотеку, чтобы она собирала из любой длины массива импульсов (RAWмассива) 16-разрядную команду, и обратно превращала ее в непрерывный поток импульсов.
 

safari

New member
вот ещё вариант: GitHub - markszabo/IRremoteESP8266: Infrared remote library for ESP8266: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
вчера протестил IRRecvDump2 безымянный китайский пульт (клон, не родной) от кондея General Climate. Библиотека не только без проблем прожеваля 199 байтную посылку, но и определила кодировку
Код:
Encoding  : COOLIX
Code      : B27BE0 (24 bits)
Timing[199]:
   +  4428, -  4472,    +   492, -  1678,    +   470, -   632,    +   468, -  1700,
   +   502, -  1646,    +   526, -   598,    +   470, -   628,    +   470, -  1676,
   +   494, -   630,    +   526, -   596,    +   502, -  1646,    +   526, -   576,
   +   494, -   626,    +   502, -  1648,    +   522, -  1646,    +   526, -   576,
   +   492, -  1676,    +   528, -   574,    +   526, -  1642,    +   502, -  1646,
   +   524, -  1644,    +   504, -  1646,    +   524, -   596,    +   500, -  1648,
   +   468, -  1700,    +   472, -  1678,    +   524, -   594,    +   526, -   578,
   +   524, -   596,    +   470, -   630,    +   468, -  1700,    +   470, -   630,
   +   526, -   598,    +   500, -  1648,    +   468, -  1702,    +   500, -  1646,
   +   524, -   596,    +   470, -   628,    +   528, -   574,    +   494, -   626,
   +   528, -   598,    +   472, -   626,    +   528, -   574,    +   494, -   626,
   +   502, -  1646,    +   520, -  1648,    +   500, -  1648,    +   492, -  1676,
   +   502, -  1648,    +   494, -  5262,    +  4426, -  4472,    +   470, -  1700,
   +   470, -   630,    +   468, -  1700,    +   500, -  1646,    +   528, -   574,
   +   492, -   628,    +   500, -  1648,    +   524, -   596,    +   528, -   574,
   +   526, -  1642,    +   528, -   574,    +   524, -   598,    +   502, -  1644,
   +   494, -  1676,    +   496, -   606,    +   468, -  1700,    +   526, -   574,
   +   522, -  1648,    +   500, -  1648,    +   492, -  1676,    +   502, -  1646,
   +   526, -   596,    +   502, -  1646,    +   468, -  1700,    +   502, -  1648,
   +   526, -   596,    +   496, -   606,    +   524, -   596,    +   472, -   628,
   +   468, -  1702,    +   470, -   628,    +   528, -   596,    +   502, -  1648,
   +   466, -  1700,    +   502, -  1646,    +   526, -   596,    +   470, -   626,
   +   528, -   574,    +   524, -   598,    +   522, -   580,    +   494, -   628,
   +   526, -   574,    +   524, -   596,    +   500, -  1646,    +   492, -  1676,
   +   502, -  1646,    +   490, -  1680,    +   502, -  1646,    +   492
uint16_t rawData[199] = {4428, 4472,  492, 1678,  470, 632,  468, 1700,  502, 1646,  526, 598,  470, 628,  470, 1676,  494, 630,  526, 596,  502, 1646,  526, 576,  494, 626,  502, 1648,  522, 1646,  526, 576,  492, 1676,  528, 574,  526, 1642,  502, 1646,  524, 1644,  504, 1646,  524, 596,  500, 1648,  468, 1700,  472, 1678,  524, 594,  526, 578,  524, 596,  470, 630,  468, 1700,  470, 630,  526, 598,  500, 1648,  468, 1702,  500, 1646,  524, 596,  470, 628,  528, 574,  494, 626,  528, 598,  472, 626,  528, 574,  494, 626,  502, 1646,  520, 1648,  500, 1648,  492, 1676,  502, 1648,  494, 5262,  4426, 4472,  470, 1700,  470, 630,  468, 1700,  500, 1646,  528, 574,  492, 628,  500, 1648,  524, 596,  528, 574,  526, 1642,  528, 574,  524, 598,  502, 1644,  494, 1676,  496, 606,  468, 1700,  526, 574,  522, 1648,  500, 1648,  492, 1676,  502, 1646,  526, 596,  502, 1646,  468, 1700,  502, 1648,  526, 596,  496, 606,  524, 596,  472, 628,  468, 1702,  470, 628,  528, 596,  502, 1648,  466, 1700,  502, 1646,  526, 596,  470, 626,  528, 574,  524, 598,  522, 580,  494, 628,  526, 574,  524, 596,  500, 1646,  492, 1676,  502, 1646,  490, 1680,  502, 1646,  492};  // COOLIX B27BE0
uint64_t data = 0xB27BE0;
 
  • Like
Реакции: Jon
Сверху Снизу