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

Phi*_*hil 2 lirc raspberry-pi

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

我按如下方式运行irrecord:

sudo /etc/init.d/lirc stop
irrecord -d /dev/lirc0 heatpump
Run Code Online (Sandbox Code Playgroud)

我得到了关于推按钮等的常见琐事,并且正确地这样做.

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

irrecord: could not find gap.
irrecord: gap not found, can't continue
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?(注意:我也使用了force选项,没有区别)

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

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

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

小智 9

首先,尝试使用

irrecord -f -d /dev/lirc0 ~/lirc.conf
Run Code Online (Sandbox Code Playgroud)

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

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

mode2 -m -d /dev/lirc0 > ~/lirc.conf
Run Code Online (Sandbox Code Playgroud)

-m选项应该产生格式化的RAW.删除第一个值,即按下遥控器按钮之前的延迟.

如果你不使用-m选项,你可以使用VI.

vim ~/lirc.conf
:%s/^.\{5}
:%s!^!    !
:%s/\n/
Run Code Online (Sandbox Code Playgroud)

完成〜/ 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
Run Code Online (Sandbox Code Playgroud)

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

备份原始的lircd.conf文件

sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd_original.conf
Run Code Online (Sandbox Code Playgroud)

复制新配置文件

sudo cp ~/lircd.conf /etc/lirc/lircd.conf
Run Code Online (Sandbox Code Playgroud)

再次启动lirc

sudo /etc/init.d/lirc start 
Run Code Online (Sandbox Code Playgroud)

并尝试一下

irsend SEND_ONCE MY_REMOTE MY_TEST 
Run Code Online (Sandbox Code Playgroud)

用手机摄像头检查LED是否正在点亮.

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