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

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

Тема в разделе "ESP8266 Arduino IDE", создана пользователем Jon, 9 дек 2015.

  1. Jon

    Jon Читатель

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

    tretyakov_sa Moderator Команда форума

    Сообщения:
    982
    Симпатии:
    151
  3. Jon

    Jon Читатель

    Сообщения:
    69
    Симпатии:
    12
    Спасибо за экстренную помощь. Все скомпилировалось. Тему закрываю.
     
  4. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    982
    Симпатии:
    151
  5. Jon

    Jon Читатель

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

    tretyakov_sa Moderator Команда форума

    Сообщения:
    982
    Симпатии:
    151
    Вот эту статью читали? http://geektimes.ru/post/258012/
     
  7. Jon

    Jon Читатель

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

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
    есть же библиотека для работы с кондиционерами
     
  9. Jon

    Jon Читатель

    Сообщения:
    69
    Симпатии:
    12
    Я такую не нашел. Если есть, дайте ссылку. Встроенный пример работает только с 48 битовыми командами.
     
  10. igrushkin

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
  11. safari

    safari Новичок

    Сообщения:
    104
    Симпатии:
    2
    вот ещё вариант: 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 байтную посылку, но и определила кодировку
    Раскрыть Спойлер

    Код (Text):
    1. Encoding  : COOLIX
    2. Code      : B27BE0 (24 bits)
    3. Timing[199]:
    4.    +  4428, -  4472,    +   492, -  1678,    +   470, -   632,    +   468, -  1700,
    5.    +   502, -  1646,    +   526, -   598,    +   470, -   628,    +   470, -  1676,
    6.    +   494, -   630,    +   526, -   596,    +   502, -  1646,    +   526, -   576,
    7.    +   494, -   626,    +   502, -  1648,    +   522, -  1646,    +   526, -   576,
    8.    +   492, -  1676,    +   528, -   574,    +   526, -  1642,    +   502, -  1646,
    9.    +   524, -  1644,    +   504, -  1646,    +   524, -   596,    +   500, -  1648,
    10.    +   468, -  1700,    +   472, -  1678,    +   524, -   594,    +   526, -   578,
    11.    +   524, -   596,    +   470, -   630,    +   468, -  1700,    +   470, -   630,
    12.    +   526, -   598,    +   500, -  1648,    +   468, -  1702,    +   500, -  1646,
    13.    +   524, -   596,    +   470, -   628,    +   528, -   574,    +   494, -   626,
    14.    +   528, -   598,    +   472, -   626,    +   528, -   574,    +   494, -   626,
    15.    +   502, -  1646,    +   520, -  1648,    +   500, -  1648,    +   492, -  1676,
    16.    +   502, -  1648,    +   494, -  5262,    +  4426, -  4472,    +   470, -  1700,
    17.    +   470, -   630,    +   468, -  1700,    +   500, -  1646,    +   528, -   574,
    18.    +   492, -   628,    +   500, -  1648,    +   524, -   596,    +   528, -   574,
    19.    +   526, -  1642,    +   528, -   574,    +   524, -   598,    +   502, -  1644,
    20.    +   494, -  1676,    +   496, -   606,    +   468, -  1700,    +   526, -   574,
    21.    +   522, -  1648,    +   500, -  1648,    +   492, -  1676,    +   502, -  1646,
    22.    +   526, -   596,    +   502, -  1646,    +   468, -  1700,    +   502, -  1648,
    23.    +   526, -   596,    +   496, -   606,    +   524, -   596,    +   472, -   628,
    24.    +   468, -  1702,    +   470, -   628,    +   528, -   596,    +   502, -  1648,
    25.    +   466, -  1700,    +   502, -  1646,    +   526, -   596,    +   470, -   626,
    26.    +   528, -   574,    +   524, -   598,    +   522, -   580,    +   494, -   628,
    27.    +   526, -   574,    +   524, -   596,    +   500, -  1646,    +   492, -  1676,
    28.    +   502, -  1646,    +   490, -  1680,    +   502, -  1646,    +   492
    29. 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
    30. uint64_t data = 0xB27BE0;
    31.  
     
    Jon нравится это.

Поделиться этой страницей