我对这种低级驱动程序非常陌生,有很多地方容易出错。基本上,我试图用 lirc 获得一个红外发射器。我有一个带晶体管的 IR led 到引脚 23,但是里面什么也/dev/lirc
没有/dev/lirc0
我使用以下方式安装了 lirc apt-get install lirc
:
然后添加dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22
并config.txt
更改lirc_options.conf
为
driver = default
device = /dev/lirc0
但是,中没有任何内容/dev
,如果我尝试使用,irsend
则会得到hardware does not support sending
。lircd 的系统状态显示此错误:
Error: could not get file information for /dev/lirc0
我正在使用运行带有固件的 Raspbian Stretch 的 RPi 3B Linux raspberrypi 4.19.42-v7+ #1219
。
我不知道你可能需要什么其他命令转储,所以只需发表评论,我会添加到问题中
注意:我读到的gpio-ir
似乎只是接收器。任何带有红外传输的库的链接也将不胜感激。
答案1
在较新的内核中似乎lirc-rpi
不再存在/boot/overlays/
。我发现/boot/overlays/README
我们必须使用gpio-ir
(接收器)或/和gpio-ir-tx
(发送器)而不是lirc-rpi
对我来说它有助于改变:
dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22
到:
dtoverlay=gpio-ir,gpio_pin=22 #(without: in)
dtoverlay=gpio-ir-tx,gpio_pin=23 #(without: out)
目前,我必须注释掉其中一个,因为它只能起作用gpio-ir
,gpio-ir-tx
而不能同时起作用(对我来说)。
J
答案2
我uname -a
有
Linux Hostname 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
并在添加此行/boot/config.txt
并重新启动后
dtoverlay=lirc-rpi,gpio_in_pin=22,gpio_out_pin=23
我终于得到了/dev/lirc0
答案3
我使用 Lirc 为我的智能家居使用“fhem”向电视发送信号并接收来自电视遥控器的信号来开关一些灯。目前我只能发送信号。我使用最新和更新的 STRETCH 的方式:
apt-get 安装 lirc ir-keytable
更新 /boot/config.txt 中的以下行:
(#dtoverlay=gpio-ir,gpio_pin=27)
dtoverlay=gpio-ir-tx,gpio_pin=23
更新 /etc/lirc/lirc_options.conf 中的以下行:
驱动程序 = 默认
设备 = /dev/lirc0
安装LircClient:
perl-MCPAN-e shell
安装 Lirc::Client
我可以使用我以前录制的 lircd.config 向电视发送信号。但我不能像以前一样使用“.lircrc”来接收信号。也许有人知道怎么做?希望有帮助!J