如何使用2ms时序而不是默认5ms的irrecord?

时间:2014-03-26 05:22:53

标签: raspberry-pi lirc

我试图在我的Raspberry Pi上用lirc教我的热泵远程代码 - 三菱电机MSZ-GE60VA(遥控器是SG10A 1833)

我按照以下方式运行irrecord:

sudo /etc/init.d/lirc stop
irrecord -d /dev/lirc0 heatpump

我得到了关于推按钮等的常见琐事,并且适当地这样做。

在多个点(并非总是相同的数字)之后,irrecord会出现以下错误消息:

irrecord: could not find gap.
irrecord: gap not found, can't continue

现在,我在其他地方发现采样率可能是错误的,并且使用xmode2查看波形 - 我已经完成了。我非常确定如果能像xmode2那样能更快地获取irrecord,我会有更多的运气。

有什么想法吗? (注意:我也用强制选项运行,没有区别)

以下是我使用xmode2的结果 - 您可以看到5ms样本无法真正产生信号的正面或反面,但2ms样本可以。

5ms sample http://jnawk.net.nz/5ms.png 5ms样本(默认)

2ms sample http://jnawk.net.nz/2ms.png 2ms样本

2 个答案:

答案 0 :(得分:9)

首先,尝试使用

irrecord -f -d /dev/lirc0 ~/lirc.conf

-f 将强制执行原始模式。如果你很幸运,将生成配置文件或列出差距。

否则,请启动以下命令并按ctrl ^ c停止转义/停止录制。

mode2 -m -d /dev/lirc0 > ~/lirc.conf
-m 选项应该生成格式化的原始数据。 删除第一个值,即按下遥控器按钮之前的延迟。

如果不使用-m选项,则可以使用VI。

vim ~/lirc.conf
:%s/^.\{5}
:%s!^!    !
:%s/\n/

完成〜/ lirc.conf文件以获得类似:

的内容
begin remote

   name  MY_REMOTE
   flags RAW_CODES
   eps            30
   aeps          100

   frequency    38000
# note ensure the modulation frequency above correctly matches your remote, default is set to 38kHz
# you can also try other common frequencies (36000,40000,56000) if you are unsure

       begin raw_codes

           name MY_TEST
...<<PUT THE RAW CODE HERE >>...  

    end raw_codes
end remote

没有TAB,只有文件中的空格。

备份原始的lircd.conf文件

sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd_original.conf

复制新配置文件

sudo cp ~/lircd.conf /etc/lirc/lircd.conf

再次启动lirc

sudo /etc/init.d/lirc start 

并试一试

irsend SEND_ONCE MY_REMOTE MY_TEST 

使用手机摄像头检查指示灯是否亮起。

这适用于某些人......

答案 1 :(得分:1)

LIRC实际上在覆盆子pi中采样速度高达13微秒,这是IR信号(38kHZ)的红外灯脉冲速度,您在xmode2中指定的时序仅用于绘制图像,每2 ms绘制一次图表上的脉冲或空格。

问题可能是LIRC没有检测到您的远程IR代码,您是否尝试使用-f选项运行irrecord?改为强制原始模式?

如果这不起作用,您可以使用mode2实际尝试手动构建原始代码并创建如下代码:脉冲时间,空间时间,脉冲时间,空间时间等,以微秒表示。

从图表中可以看出6000 4000 1000 2000 1000等等......


选项2-如果您可以在线找到热泵的代码远程代码,那么您也可以使用pronto2lirc http://www.lirc.org/html/pronto2lirc.html

将它们转换为lirc