ПРЕДУПРЕЖДЕНИЕ!
Многие устройства, управляемые ИК-пультами, в частности телевизоры, имеют недокументированные последовательности ИК-кодов, используемые для обслуживания оборудования обученными на заводе техническими специалистами, имеющими подробные руководства по обслуживанию и испытательное оборудование.
Отправив служебный код на ваш телевизор или другое устройство, вы можете перевести его в состояние, в котором он больше не будет работать должным образом или вообще перестанет работать.
Примером этого может быть сброс всех смещений конвергенции или изменение ширины, или высоты изображения. Будьте осторожны, если вы не уверены в том, каким может быть результат, возможно, вам не стоит этого делать.
ИСПОЛЬЗУЙТЕ ОЧЕНЬ ОСТОРОЖНО!
ОБЩИЕ СВЕДЕНИЯ
Информация про ИК передатчик ссылка
В приложении используются понятия “АДРЕС УСТРОЙСТВА” и “АДРЕС КОМАНДЫ”.
Обычно все коды для конкретного устройства находятся внутри одного адреса “УСТРОЙСТВА” (но иногда бывает дублирование команд в других адресах, так делают некоторые производители для совместимости устройства с несколькими моделями пультов).
Первым делом следует найти адрес “УСТРОЙСТВА” в котором есть команды на которые устройство реагирует.
Самый простой метод поиска нужного устройства – автоматическое тестирование.
В этом режиме приложение будет перебирать все коды подряд, вам останется поймать момент когда устройство отреагирует, остановить тестирование и перейти к ручному подбору кодов.
Можно попробовать запустить автоматическое тестирование на выключенном оборудовании, если среди перебираемых кодов будет подобрана команда на включение – это сразу будет заметно.
Проверить, идёт ли перебор кодов на самом деле, можно наведя камеру второго смартфона на смартфон с запущенным приложением – вы должны увидеть свечение ИК-передатчика.
ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ
Для протокола NEC, в приложении используется формат отображения “MSB first” , аналогичный формату который использовался в библиотеке Arduino-IRremote версии 2.x. Я использую этот формат потому что на момент публикации приложения я не знал что с точки зрения стандарта это не совсем корректный формат записи.
Алгоритм передачи следующий:
Коды “АДРЕС УСТРОЙСТВА” и “АДРЕС КОМАНДЫ” переводятся в двоичный формат, каждая полученная строка дополняется знаками “0” слева до 16 знаков, полученные строки соединяются в общую строку длинной 32 знака. Передача сигнала кода осуществляется слева направо.
Я использую частоту 38222 Гц.
ПОЛЕЗНЫЕ ССЫЛКИ
Статья на Habr.ru https://habr.com/ru/articles/836200/
Группа приложения в Telegram https://t.me/ircodefinder
Полезные сервисы https://ircodefinder.wasiliysoft.ru
Конвертация формата MSB в LSB
https://github.com/Arduino-IRremote/Arduino-IRremote#how-to-convert-old-msb-first-32-bit-ir-data-codes-to-new-lsb-first-32-bit-ir-data-codes
Описание протокола NEC
http://www.hifi-remote.com/wiki/index.php/NEC
https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol