我想尝试用一个简单的应用程序打开我的(旧)汽车(有IR受体)。
在钥匙的电子板上我有一张带代码的纸(例如:06495 167.5) 我认为这个例子中的代码只有06495,基于这个来源: http://farancullas.blogspot.fr/2012/10/recodificacion-receptor-infrarojo.html
在android上你必须发送转换为dec的十六进制代码吗? 这是我的代码的一部分(工作是因为没有例外,蓝色在我的注释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吗? 谢谢!
答案 0 :(得分:1)
实际上,它并不那么容易。 &#34; IR HEX&#34;它不是一个十六进制数字,它是一个几个十六进制值的字符串,它编码频率和开/关模式,
所以,你的&#34; 06495&#34;例如,它的minigless,你必须得到一个IR学习设备来了解实际的IR模式。
我使用IR TOY作为硬件,使用AnalysIR作为软件,这样就可以获得&#34; IR HEX&#34;任何IR发射器(如遥控器)。
然后,使用&#34; IR HEX&#34; string,你可以使用hex2dec函数。