我一直在尝试解码机顶盒中使用的红外协议。我尝试过与标准协议进行比较,但它并不匹配。 我正在使用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 x 500 uSeconds,空间为2 x 500 uS。这些位大多具有500 us的相同标记和空间。除了一些比特。 这是一些标准的IR协议吗?并且通过遥控器的按钮发送的比特数不同。
答案 0 :(得分:1)
您可以使用Arduino制作自己的设备并使用任何红外线代码进行播放/解码。检查此链接。这很容易。
答案 1 :(得分:0)
我发现AnalysIR工具对解码IR协议非常有用。这不是免费的,但花费大约10-15美元
答案 2 :(得分:0)
500-1000范围内的标记和空格让我想到了相移编码规则。 此外,可变数量的比特可以源自相移编码。 您可以尝试使用更常见的相移协议(RC5,RC6)。 这里有一个可以帮助你进行调查的编码/解码:https://github.com/msillano/irp_classes,它使用Arduino作为RAW rx / tx,可以与任何IRP一起使用。