我试图在我的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样本(默认)
答案 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