在 Debian 8 中设置 LIRC

在 Debian 8 中设置 LIRC

我有一个发送 RC-5 信号的红外遥控器和一台带有红外接收器的计算机。计算机运行 Debian 8,我正在尝试设置 LIRC,以便我可以使用遥控器控制音乐播放器守护进程 (MPD)。

我已经安装了该lirc软件包并添加了RC-5 信号的配置文件/etc/lirc/lircd.conf.d/

该守护进程似乎处于活动状态:

$ systemctl status lirc.service 
● lirc.service - LSB: Starts LIRC daemon.
   Loaded: loaded (/etc/init.d/lirc)
   Active: active (exited) since Sun 2016-01-31 20:18:17 CET; 32s ago
  Process: 408 ExecStart=/etc/init.d/lirc start (code=exited, status=0/SUCCESS)

但是,当我尝试使用它测试遥控器时,irw它失败了:

$ irw
connect: No such file or directory

据此看来man irw是由于缺少套接字文件造成的/var/run/lirc/lircd。该目录/var/run/lirc是空的。

任何线索将不胜感激。

答案1

LIRC 0.10.1 于 2021 年 1 月 10 日更新

以下是我需要执行的步骤才能使其正常工作。

  1. 安装 LIRC:

     # apt install lirc
    
  2. /etc/lirc/lirc_options.conf,设司机设备为以下值:

     driver = default
     device = /dev/lirc0
    
  3. 下载遥控器的配置文件并将其复制到/etc/lirc/lircd.conf.d/.确保文件以.conf.就我而言,协议是 RC-5,我在以下位置找到了一个工作配置文件:http://lirc.sourceforge.net/remotes/rc-5/RC-5

  4. 重新启动 LIRC 守护进程:

     # systemctl restart lircd
    
  5. 要找出每个按钮的名称,请运行irw,将遥控器指向红外接收器并按下按钮。

  6. 指定在文件中按下按钮时应发生的情况/etc/lirc/irexec.lircrc。这是我为 MPD 创建的文件:

     begin
         button = sys_14_command_21
         prog   = irexec
         config = mpc prev
     end
    
     begin
         button = sys_14_command_20
         prog   = irexec
         config = mpc next
     end
    
     begin
         button = sys_14_command_35
         prog   = irexec
         config = mpc play
     end
    
     begin
         button = sys_14_command_30
         prog   = irexec
         config = mpc pause
     end
    
     begin
         button = sys_14_command_36
         prog   = irexec
         config = mpc stop
     end
    
  7. 启动irexec:

     # systemctl start irexec
    
  8. 在启动时运行 irexec:

     # systemctl enable irexec
    

答案2

我遇到了与此类似的问题,使其工作的唯一方法是运行:

sudo /usr/sbin/lircd --driver=default --device=/dev/lirc0 

在下面:

 Linux raspberrypi 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux

这似乎创建了 pid 和套接字连接所需的目录!?我可能是错的,但经过大量测试后,这是我所做的唯一实质性改变。

一旦我进行了全新安装,我将确认这一点并发布我运行的所有命令

相关内容