树莓派使用lirc进行红外遥控测试

在树莓派上使用lirc进行红外遥控测试的步骤比较繁琐,记录一下以备忘。

背景知识

lirc库

LIRC (Linux Infrared remote control,Linux红外线遥控)是一个开放源代码的包。这个包可以让你的Linux系统能够接收及发送红外线信号。

Microsoft Windows上有个功能相同的软件叫WinLIRC。

利用LIRC和红外线接收器,你就几乎可以用所有的红外线遥控器(例如:电视遥控器)来控制你的计算机。举例来说,你可以用遥控器来控制DVD或音乐的播放。

lirc配置文件说明

  • /etc/lirc/lircd.conf为遥控器配置文件
  • /etc/lirc/lircmd.conf为lircmd配置文件,后者可以将遥控器用作鼠标。
  • /etc/lirc/lircrc为irexec配置文件,后者可以在收到遥控器信号号运行设定的程序。

制作遥控器配置文件

使用irrecord命令制作遥控器配置文件lircd.conf。

1
2
3
4
5
# 首先停止lirc服务
sudo service lirc stop

# 制作遥控器配置文件
irrecord -d /dev/lirc0 <model>.conf

测试过程

硬件

  • 树莓派3B+
  • 红外接收器
  • 红外遥控器
  • 杜邦线

接线

红外接收器都有三个引脚:VCC、GND、Data。其中:
VCC:连接5V的引脚
GND:连接接地的引脚
Data:连接GPIO23

lirc配置

  1. 安装lirc:

    1
    sudo apt-get install lirc -y
  2. 修改/etc/modules

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    i2c-dev
    # 添加如下代码
    lirc_dev
    lirc_rpi gpio_in_pin=23 gpio_out_pin=22
  3. 修改/etc/lirc/lirc_options.conf

    1
    2
    3
    # 修改如下两项
    driver = default
    device = /dev/lirc0
  4. 修改/boot/config.txt
    在/boot/config.txt文件中找到#dtoverlay=lirc-rpi,将其修改如下:

    1
    dtoverlay=lirc-rpi:gpio_in_pin=23,gpio_out_pin=22
  5. 重启测试

1
2
3
4
sudo init 6
# 查看lirc是否加载成功
lsmod | grep lirc
ls /dev/lirc0

参考链接

  1. LIRC,by wikipedia.
  2. 树莓派—红外遥控设置,by 逍遥游.
  3. 配置树莓派上的lirc(Raspbian, 2016),by Cnly.
  4. 上拉电阻和下拉电阻的作用,by Mike江.
  5. 上拉电阻和下拉电阻,by imzjy.
  6. Raspberry gPIo,by sparkfun.