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

Lor*_*nzo 3 drivers lirc ir raspberry-pi

这个低级驱动程序的东西很新,有很多地方会出错。基本上我正在尝试使用 lirc 获得一个红外发射器。我已经导致了晶体管销23 IR,但没有什么在/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
Run Code Online (Sandbox Code Playgroud)

然而,没有什么的/dev,如果我尝试发送与irsend我得到hardware does not support sending。lircd 的系统状态显示此错误:

Error: could not get file information for /dev/lirc0
Run Code Online (Sandbox Code Playgroud)

我正在使用运行带有Linux raspberrypi 4.19.42-v7+ #1219固件的Raspbian Stretch 的 RPi 3B 。

我不知道您可能需要什么其他命令转储,所以请发表评论,我会添加到问题中

注意:我正在阅读,gpio-ir但是这似乎只是接收器。任何带有红外传输的图书馆的链接也将不胜感激。

小智 6

似乎在较新的内核中lirc-rpi不再存在/boot/overlays/. 我发现/boot/overlays/README我们必须使用gpio-ir(Receiver) or/ and gpio-ir-tx(Transmitter) 而不是lirc-rpi

对我来说,它有助于改变:

dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22
Run Code Online (Sandbox Code Playgroud)

到:

dtoverlay=gpio-ir,gpio_pin=22       #(without: in)
dtoverlay=gpio-ir-tx,gpio_pin=23    #(without: out)
Run Code Online (Sandbox Code Playgroud)

目前,我有注释掉其中的一个,因为它的工作原理要么gpio-irOR gpio-ir-tx,不都在同一时间(对我来说)。

J