1

我想尝试用一个简单的应用程序打开我的(旧)汽车(有红外线接收器)。

在钥匙的电子板上,我有一张带代码的纸(示例:06495 167.5)我认为这个示例中的代码只有 06495,基于此来源: http ://farancullas.blogspot.fr/2012/10 /recodificacion-receptor-infrarojo.html

在 android 上,您必须发送转换为 dec 的 HEX 代码?这是我的代码的一部分(因为没有例外,并且在我的注释 3 上显示蓝色)。

我只需要一些帮助来正确格式化 IR_CODE 变量。我可以发送任何似乎有效的字符串,因为 LED 正在闪烁。你有想法格式化这段代码吗?我认为这类似于 hex2dec("195F") ?195F 是十六进制的 6495

可以是:IR_CODE=hex2dec(Integer.toHexString(Integer.decode(IR_CODE))); 基于此来源:https://github.com/rngtng/IrDude/blob/master/src/com/rngtng/irdude/MainActivity.java,但我不确定,我不能过多地测试应用程序.

String IR_CODE="06495";
Class irClass = irService.getClass();
Class params[] = new Class[1];
params[0] = String.class;
try {
    Method sendIR = irClass.getMethod("write_irsend", params);

for(int i=0;i<2;i++)
    sendIR.invoke(irService, IR_CODE);
}

你能帮我格式化 IR_CODE 吗?谢谢 !

4

1 回答 1

1

其实,没那么容易。“IR HEX”它不是一个十六进制数,它是一个由几个十六进制值组成的字符串,它编码频率和开/关模式,

所以,你的“06495”例子,它是微不足道的,你必须得到一个红外学习设备才能知道实际的红外模式。

我使用 IR TOY 作为硬件,使用 AnalysIR 作为软件,这为您提供了任何 IR 发射器的“IR HEX”(就像在您的遥控器中一样)。

然后,使用“IR HEX”字符串,您可以使用 hex2dec 函数。

于 2015-06-01T14:27:10.150 回答