Raspberry pi 如何使用具有2ms计时而不是默认5ms计时的IRECORD?

Raspberry pi 如何使用具有2ms计时而不是默认5ms计时的IRECORD?,raspberry-pi,lirc,Raspberry Pi,Lirc,我试图在我的树莓皮上教lirc我的热泵的远程代码-三菱电机MSZ-GE60VA(远程是SG10A 1833) 我的发言如下: sudo /etc/init.d/lirc stop irrecord -d /dev/lirc0 heatpump 我习惯于按按钮等,并适时地这样做 在几个点(不一定是相同的数字)之后,将显示以下错误消息: irrecord: could not find gap. irrecord: gap not found, can't continue 现在,我在其他地方发

我试图在我的树莓皮上教lirc我的热泵的远程代码-三菱电机MSZ-GE60VA(远程是SG10A 1833)

我的发言如下:

sudo /etc/init.d/lirc stop
irrecord -d /dev/lirc0 heatpump
我习惯于按按钮等,并适时地这样做

在几个点(不一定是相同的数字)之后,将显示以下错误消息:

irrecord: could not find gap.
irrecord: gap not found, can't continue
现在,我在其他地方发现采样率可能是错误的,并且使用xmode2查看波形——我已经这样做了。我敢肯定,如果我能像xmode2那样更快地记录样本,我会有更多的运气

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

下面是我使用xmode2得到的结果——你可以看到5ms的样本并不能真正得到信号的正反两面,但是2ms的样本可以

5ms采样(默认)


2ms采样

LIRC实际上在raspberry pi中以13微秒的速度采样,这是红外信号的红外光脉冲速度(38kHZ),您在xmode2中指定的定时仅用于绘制图像,每2ms它在图形上绘制一个脉冲或空格

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

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

从你的图表来看,大概是6000,4000,1000,2000,1000等等


选项2-如果您可以在线找到热泵的pronto远程代码,那么您也可以使用Pronto2Rirc将其转换为lirc。首先,尝试使用

irrecord -f -d /dev/lirc0 ~/lirc.conf
-f将强制原始模式。如果幸运的话,它将生成配置文件或在间隙处列出

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

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

如果不使用-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
复制新的配置文件

sudo cp ~/lircd.conf /etc/lirc/lircd.conf
再次启动lirc

sudo /etc/init.d/lirc start 
试试看

irsend SEND_ONCE MY_REMOTE MY_TEST 
用手机摄像头检查led是否亮起


这适用于某些人…

应该提到我曾尝试使用强制选项-它没有任何区别。如何将mode2输出转换为配置?好的,制作配置需要更多的信息。我已经编辑了这个答案以包含数据,并打算接受这个结果作为我问题的答案。谢谢,我似乎找不到你的编辑,你能用mode2解释代码吗?这可能是因为第一个mode2输出编号是启动mode2后的时间,应该删除它。但我怀疑编辑纯粹主义者会以他们无限的智慧认定这是一个太小的编辑。他们似乎更喜欢大编辑,而不是增加清晰度的编辑。
irsend SEND_ONCE MY_REMOTE MY_TEST