Как я могу декодировать неизвестные протоколы инфракрасного дистанционного управления?
Я пытался декодировать инфракрасный протокол, используемый в телевизионной приставке. Я пытался сравнить со стандартными протоколами, но он не совпадает. Я использую Arduino Uno с эскизом декодера Arduifruit IR Library. Выход на последовательный терминал:
Decoded Unknown(0): Value:0 (0 bits)
Raw samples(50): Gap:18904
Head: m2600 s850
0:m450 s450 1:m400 s450 2:m450 s850 3:m400 s900
4:m900 s350 5:m400 s500 6:m400 s450 7:m450 s450
8:m400 s450 9:m450 s450 10:m400 s450 11:m450 s450
12:m400 s450 13:m450 s450 14:m400 s450 15:m450 s450
16:m450 s400 17:m450 s450 18:m850 s900 19:m400 s450
20:m450 s450 21:m400 s450 22:m400 s500 23:m400
Extent=26100
Mark min:400 max:900
Space min:350 max:900
Что я мог бы сделать вывод из данных (возможно):
Заголовок состоит из метки 2500, т. Е. 5 х 500 мкс и пространства 2 х 500 мкс. Биты в основном имеют одинаковую отметку и пространство в 500 мкс. За исключением некоторых битов. Это какой-то стандартный ИК-протокол. И сделать количество битов, передаваемых кнопками пульта отличаются.
3 ответа
Метка и пробелы в диапазоне 500-1000 заставляют меня задуматься о правилах кодирования с фазовым сдвигом. Также переменное количество битов может быть получено из кодирования со сдвигом фазы. Вы можете попробовать использовать более распространенные протоколы фазового сдвига (RC5, RC6). Вот кодирование / декодирование, которое может помочь вам в расследованиях: https://github.com/msillano/irp_classes, оно использует Arduino в качестве RAW rx/tx и работает с любым IRP.
Вы можете создать свое собственное устройство и воспроизводить / декодировать любые инфракрасные коды с помощью Arduino. Проверьте эту ссылку. Это очень просто.
Я нашел инструмент AnalysIR очень полезным для декодирования ИК-протоколов. Это не бесплатно, но стоит около $10-15