利用lirc进行树莓派上的红外控制

硬件连接:

  1. VS1838B型红外接收器:左接GPIO18,中接GND,右接VCC

    利用lirc进行树莓派上的红外控制_第1张图片

  2. 红外发射二极管:一个接GND,一个接GPIO17

  3. 附上树莓派的GPIO图

    利用lirc进行树莓派上的红外控制_第2张图片

软件部分:

  1. sudo nano /boot/config.txt
    将dtoverlay=lirc-rpi前面的#去掉
  2. 运行lsmod命令,查看列表中是否有“lirc_rpi”,若没有,运行sudo modprobe lirc_rpi加载驱动
  3. 运行sudo apt-get install lirc,安装lirc。LIRC (Linux Infrared remote control)是一个linux系统下开源的软件包。
    这个软件可以让你的Linux系统能够接收及发送红外线信号。
  4. 重启sudo reboot
  5. sudo mode2 –d /dev/lirc0,按遥控上的键,此时应有脉冲出现。我选择的是NEC协议的红外遥控器
space 16300
pulse 95
space 28794
pulse 80
space 19395
  1. sudo nano /etc/lirc/hardware.conf,修改以下信息
    ...

    LIRCD_ARGS="--uinput"

    ...

    DRIVER="default"

    ...

    DEVICE="/dev/lirc0" ```

再运行 sudo vim /etc/modules,添加下面两行信息:

       lirc_dev     
       lirc_rpi gpio_in_pin=18 gpio_out_pin=17

重启sudo reboot,使得配置文件生效

7.irrecord –list-namespace看一下能用的键名有哪些
8. irrecord -d /dev/lirc0 ~/lircd.conf执行红外编码录制命令,然后跟着指令一步一步走,这个程序会自动算出你按下的遥控器按键的编码和时长,并录制下来记录在~/lircd.conf文件中
9. sudo cp ~/lircd.conf /etc/lirc/lircd.conf将录制好的~/lircd.conf文件覆盖lirc软件的相应文件
10. sudo /etc/init.d/lirc restart,重启LIRC软件
irsend LIST /home/pi/lircd.conf "",查看录制好可以使用的按键名
注意,将会看到类似以下的内容

irsend: 000000000000c837 KEY_VOLUMEDOWN
irsend: 00000000000048b7 KEY_VOLUMEUP
irsend: 00000000000008f7 KEY_VIDEO_PREV
irsend: 0000000000008877 KEY_VIDEO_NEXT

或者使用 irw命令,按下刚才学习到的键,屏幕上会有相应的输出
11. 保证红外发射二极管连接正确的情况下,发射命令:

irsend SEND_ONCE /home/pi/lircd.conf KEY_1

KEY_1是我选择的学习之后的键

12.然后我在单片机上写了一个接收红外信号的程序,此时能接收到KEY_1,大功告成!

你可能感兴趣的:(树莓派-红外控制)