我正在尝试在我的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样本(默认)
小智 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是否正在点亮.
这适用于某些人......