RPi 3B——LIRC 无法设置设备:无法获取 /dev/lirc0 的文件信息

RPi 3B——LIRC 无法设置设备:无法获取 /dev/lirc0 的文件信息

我对这种低级驱动程序非常陌生,有很多地方容易出错。基本上,我试图用 lirc 获得一个红外发射器。我有一个带晶体管的 IR led 到引脚 23,但是里面什么也/dev/lirc没有/dev/lirc0

我使用以下方式安装了 lirc apt-get install lirc

然后添加dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22config.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-irgpio-ir-tx而不能同时起作用(对我来说)。

J

答案2

uname -aLinux 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

相关内容