树莓派的一些命令与红外调试

树莓派的GPIO口

树莓派的一些命令

  • 升级树莓派软件
sudo apt-get update && sudo apt-get dist-upgrade

sudo apt-get upgrade
  • 安装LIRC-LINUX Infrared Remote Control

LIRC:开源的用来控制树莓派接收和发射红外信号的软件

sudo apt-get install lirc
  • 编辑我们自己的 /etc/modules文件,加入以下代码
lirc_dev
lirc_rpi gpio_in_pin=23 gpio_out_pin=22
  • 修改/etc/lirc/hardware.conf文件,如下(****部分为需要修改的地方)
LIRCD_ARGS="--**uinput**"

# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false

# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false

# Try to load appropriate kernel modules
LOAD_MODULES=**true**

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"

# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="**/dev/lirc0**"
MODULES="**lirc_rpi**"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
  • 红外接收器的电压数,大部分是3V的。插的时候理论上可以支持热插拔,但保险起见建议将树莓派关机断电之后进行操作.对于大部分红外接收器来说,接法是

vcc 连 pin1 (3.3v)
gnd 连 pin6(ground)
data连 pin12(gpio18)

调试红外接收器

  • 开机后,加载lirc模块
sudo modprobe lirc_rpi
  • 然后结束lrcd进程
sudo kill $(pidof lircd)
  • 启动测试
sudo mode2 -d /dev/lirc0
  • 红外接收器已经打开,处于监听状态。这个时候,利用任何红外发射器(可以是电视遥控器或其他遥控器)对红外接收模块按任意按钮,就可以在树莓派终端上看到类似如下的代码,看到这个代码便证明红外接收模块是正常工作的。如果没有看到,请检查你的接线、电压、以及通过lsusb查看是否加载了相应模块。

配置红外发射器

  • 首先清除接收器指令
sudo kill $(pidof lircd)
  • 列出接收器常用的指令,挑选其中自己需要的指令,记住便可
sudo irrecord --list-namespace
  • 一般常用的指令可能是这些
KEY_UP
KEY_DOWN
KEY_LEFT
KEY_RIGHT
KEY_ESC
KEY_ENTER
KEY_SPACE
  • 再次清除接收器指令
sudo kill $(pidof lircd)
  • 打开红外接收器
irrecord -d /dev/lirc0 ~/lircd.conf
  • 按照指示,请先按enter二次,再按住你的遥控器任意键,直到屏幕上的...................跑完。
    跑完后,你刚刚按住的那个键,请一直重覆按,直到屏幕上的...................跑完。

设定参数

  • 先输入KEY_UP然后按遥控器上按你要设定为 上 的那个键,然后再按ENTER
    再输入KEY_DOWN然后按遥控器上按你要设定为 下 的那个键,然后再按ENTER

    重复上述动作,一直到设定完成,最后按enter离开。
      以上完成了红外信号录入的动作,之后你将可以在**/home/pi/lircd.conf**文件中看到你刚才录入的红外信号。

配置红外发射器

  • 首先关闭树莓派将红外发射器接到对应的GPIO口上,对于大部分红外接收器来说,接法是
vcc 连pin2(5v)
gnd连pin6(ground)
data连pin11(gpio17)
  • 更改LIRC配置文件,将xxx替代为你自定义的名字。
sudo cp ~/lircd.conf /etc/lirc/xxx.conf
  • 编辑/etc/lirc/xxx.conf文件,将name ***/lircd.conf 更改为 name xxx,这里的xxx需要与上面的一致
  • 进行测试,将xxx替代为前面定义的文字,并且执行定义好的按钮KEY_UP, KEY_DOWN等
sudo irsend SEND_ONCE xxx KEY_UP
sudo irsend SEND_ONCE xxx KEY_DOWN
sudo irsend SEND_ONCE xxx KEY_LEFT
sudo irsend SEND_ONCE xxx KEY_RIGHT
sudo irsend SEND_ONCE xxx KEY_ENTER
  • 现在可以使用家庭电视遥控器或其他红外遥控器的按钮录入树莓派,然后最后用irsend命令来测试这个红外信号是否成功发射
  • 前提是,这个家庭设备需要和插座之间再接一个红外插座,通过控制这个红外插座的开合,来对家庭设备做间接的控制。