3

我正在尝试在我的 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 更快地采样,我会有更多的运气。

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

这是我使用 xmode2 得到的结果——你可以看到 5ms 的样本不能真正产生信号的正面或反面,但 2ms 的样本可以。

5ms 示例 http://jnawk.net.nz/5ms.png 5ms 示例(默认)

2ms 示例 http://jnawk.net.nz/2ms.png 2ms 示例

4

2 回答 2

10

一、尝试使用

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

没有制表符,文件中只有空格。

备份原始 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 

用手机摄像头检查 LED 是否亮起。

这适用于某些人...

于 2014-06-11T22:02:40.163 回答
1

LIRC 实际上在树莓派中以 13 微秒的速度采样,这是 IR 信号 (38kHZ) 的速度红外光脉冲,您在 xmode2 中指定的时间仅用于绘制图像,每 2 毫秒绘制一个脉冲或图上的空间。

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

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

从您的图表来看,它将类似于 6000 4000 1000 2000 1000 等等......


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

于 2014-03-26T10:20:24.870 回答