在网上折腾了一圈,试遍各种方法,Raspbian自带的lirc版本较高,使用起来方便一些,而Volumio里面的版本较低,添加设置的方法相似却不同,不过终于还是配置成功了

 

1、

首先自然是安装lirc

sudo apt-get update
sudo apt-get install lirc

 

很多方法里都有设置/etc/modules,然而并没用,不用折腾

 

2、

Volumio低版本lirc的配置文件

sudo nano /etc/lirc/hardware.conf

 

高版本Lirc的配置文件

sudo nano /etc/lirc/lirc_options.conf

将配置文件中相应部分修改为如下

driver =default
device =/dev/lirc0

 

3、

修改/boot/config.txt,在这一步之前要先检查gpio使用情况

 

sudo gpio readall

 

不要使用MODE是ALT0的GPIO端口

 

sudo nano /boot/config.txt

 

大部分配置案例中修改为lirc-rpi,然而volumio中并没有这个module

dtoverlay=lirc-rpi 不行~~

 

根据Raspbian的配置,按如下添加就成功了,第二行为ir的发射设置

 

dtoverlay=gpio-ir,gpio_pin=18
#dtoverlay=gpio-ir-tx,gpio_pin=17

 

 

如果使用了MODE为ALT0的端口,会导致gpio占用而影响其他设备无法使用,我加装了hifi

digi,未注意端口就导致设备无法使用,更换gpio_pin口立刻解决

 

保存后

 

reboot

 

之后查看lirc是否加载成功,端口是否开启

sudo dmesg | grep lirc
 
volumio@volumio-my:~$
sudo dmesg | grep lirc [sudo] password for volumio: [ 16.384967] rc
rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR
receiver, no transmitter
 
 
sudo cat /sys/kernel/debug/gpio
 
volumio@volumio-my:~$
sudo cat /sys/kernel/debug/gpio gpiochip0: GPIOs 0-53, parent:
platform/20200000.gpio, pinctrl-bcm2835: gpio-18 ( |ir-receiver@12
) in hi IRQ gpio-35 ( |led1 ) in hi gpio-47 ( |led0 ) out
lo

 

 

4、查看按键并学习红外发射器

 

irrecord --list-namespace | grep -i key_

 

选择一些需要使用的按键

KEY_PLAY KEY_STOP KEY_VIDEO_NEXT KEY_VIDEO_PREV KEY_VOLUMEUP KEY_VOLUMEDOWN KEY_MUTE

 

开始录制,程序会寻找遥控器的gap,然而并不是很重要,随便按,然后进入到key学习的部分,然而可能也无法正常学习,能保存就保存,不能保存就直接修改lircd.conf文件

 

录制遥控器

 

irrecord -f -d /dev/lirc0

 

修改遥控配置文件

 

sudo nano /etc/lirc/lircd.conf
 
 
 
# Please take the time to finish this file as described in
# https://sourceforge.net/p/lirc-remotes/wiki/Checklist/
# and make it available to others by sending it to
#
#
# This config file was automatically generated
# using lirc-0.10.1(default) on Mon Oct 14 14:10:56 2019
# Command line used: -f
# Kernel version (uname -r): 4.19.75+
#
# Remote name (as of config file): VOLUMIO
# Brand of remote device, the thing you hold in your hand:
# Remote device model nr:
# Remote device info url:
# Does remote device has a bundled capture device e. g., a
#     usb dongle? :
# For bundled USB devices: usb vendor id, product id
#     and device string (use dmesg or lsusb):
# Type of device controlled
#     (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :
# Device(s) controlled by this remote:
 
begin remote
 
  name  VOLUMIO
  flags RAW_CODES
  eps            30
  aeps          100
 
  gap          19991
 
      begin raw_codes
 
          name KEY_PLAY
     8852     4515      495      616      477      671
      503      609      505      621      493      617
      483      666      522      585      514      609
      502     1737      469     1736      479     1735
      485     1741      467     1764      468     1740
      472     1741      464     1780      467      703
      444      625      470      667      528     1678
      471      640      480      641      468     1787
      457      640      479     1736      470     1768
      473     1739      477      643      484     1765
      444     1761      470      648      472     1738
      441
 
          name KEY_STOP
     8847     4513      468      645      468      671
      493      627      475      644      476      642
      445      695      474      643      494      638
      487     1732      451     1813      449     1718
      471     1742      485     1751      476     1735
      473     1749      457     1769      473      641
      494     1721      469     1766      473      645
      477      647      473      642      469     1772
      479      639      475     1769      443      667
      474      648      467     1747      468     1737
      472     1762      497      619      530     1692
      457
 
          name KEY_PAUSE
     8859     4519      452      642      501      640
      479      640      478      646      475      654
      494      634      475      651      476      646
      473     1772      439     1758      475     1748
      458     1737      488     1751      477     1732
      476     1738      469     1768      477     1735
      482     1733      468     1765      476     1750
      471      644      469      667      450     1763
      472      649      482      694      406      673
      588      562      451      636      490     1737
      464     1745      481      638      476     1741
      467
 
          name KEY_VIDEO_NEXT
     8875     4478      502      635      457      668
      496      626      499      616      501      619
      467      673      498      620      500      619
      500     1740      442     1781      493     1717
      504     1722      467     1747      491     1711
      499     1732      449     1769      501     1708
      501      620      468     1764      500      621
      527      590      499      646      442     1766
      502      618      500      620      469     1766
      471      654      495     1718      503     1740
      463     1739      503      652      466     1733
      439
 
          name KEY_VIDEO_PREV
     8872     4510      476      636      500      640
      474      644      480      641      477      645
      467      673      476      641      482      638
      475     1748      467     1772      470     1735
      496     1710      477     1757      494     1715
      475     1736      467     1763      478      639
      480     1749      493      635      473     1742
      527     1684      475      644      469     1768
      476      642      485     1739      464      674
      480     1733      470      647      488      649
      446     1769      491      619      550     1663
      470
 
          name KEY_VOLUMEUP
     8850     4506      477      646      495      643
      476      652      468      641      477      651
      463      671      475      642      478      646
      472     1740      468     1774      472     1746
      502     1697      469     1775      500     1706
      478     1796      403     1772      472      638
      476      649      466      670      447      671
      477     1759      453      648      466     1763
      477      640      478     1750      511     1721
      469     1742      477     1754      480      624
      456     1776      469      650      471     1747
      450
 
          name KEY_VOLUMEDOWN
     8879     4497      474      644      497      643
      475      642      479      643      483      635
      467      671      475      642      478      642
      474     1743      466     1767      476     1745
      470     1745      471     1798      433     1745
      463     1737      488     1747      476      638
      483     1734      468     1763      476     1740
      487      632      474      647      467     1764
      477      641      476     1742      466      670
      477      644      487      639      472     1749
      465     1767      463      643      471     1743
      464
 
          name KEY_MUTE
     8868     4489      476      642      498      640
      475      649      474      639      478      648
      494      639      479      641      479      640
      476     1735      469     1777      473     1740
      528     1762      384     1770      477     1727
      494     1718      496     1735      480     1731
      511      618      493     1737      542      573
      480     1733      476      642      470     1778
      475      632      477      642      499     1746
      476      636      478     1748      460      668
      471     1745      475      658      488     1709
      492
 
          name KEY_POWER2
     8953     4410      563      556      503      637
      559      558      569      551      567      553
      504      641      560      553      590      537
      566     1659      544     1682      637     1566
      561     1650      545     1688      591     1619
      572     1645      502     1730      567      549
      578      545      503      650      522     1677
      567      551      565      555      502      637
      565      552      568     1655      499     1743
      526     1678      597      535      555     1643
      527     1705      563     1642      565     1666
      495
 
      end raw_codes
 
end remote

 

 

 


 

name后对应键名,键名以下为按键对应红外码,通过以下方式可以获得正确值,只需轻按一下键,不要长按,可以多按几次观察相似码段

 

# -m --mode 使用行列显示模式,不显示pulse、space
mode2 -m -d /dev/lirc0

 

配置完成后,重启服务

 

sudo /etc/init.d/lirc restart

 

 

测试录制下来的指令

 

sudo lircd -d /dev/lirc0
 
sudo irw

 

按对应的按键,屏幕会有对应输出,如果无输出则码设定有问题

 

5、配置按键对应指令

sudo pico ~/.lircrc

 

根据需求添加相应按键的功能,并保存

 

begin
        prog = irexec
        button = KEY_PLAY
        config = volumio toggle
end
begin
        prog = irexec
        button = KEY_PAUSE
        config = volumio pause
end
begin
        prog = irexec
        button = KEY_STOP
        config = volumio stop
end
begin
        prog = irexec
        button = KEY_VIDEO_NEXT
        config = volumio next
end
begin
        prog = irexec
        button = KEY_VIDEO_PREV
        config = volumio prev
end
begin
        prog = irexec
        button = KEY_VOLUMEUP
        config = volumio volume plus
end
begin
        prog = irexec
        button = KEY_VOLUMEDOWN
        config = volumio volume minus
end
begin
        prog = irexec
        button = KEY_MUTE
        config = volumio volume toggle
end
begin
        prog = irexec
        button = KEY_POWER2
        config = sudo shutdown -h now
end

 

保存完毕,重启服务

 

sudo /etc/init.d/lirc restart
 
sudo lircd -d /dev/lirc0
 
sudo irexec -d ~/.lircrc

此时可以控制Volumio了

测试完成

 

修改/etc/rc.local

 

sudo nano /etc/rc.local

 

在exit0前添加如下内容

 

(sleep 3;
sudo lircd -d /dev/lirc0
sudo -u volumio irexec -d ~/.lircrc
)&
 
exit 0

 

大功告成

reboot

 

The END