1. 硬件连接:
红外接收器
vcc 连 pin1 (3.3v)
gnd 连 pin6(ground)
data连 pin12(gpio18)
红外发射器
vcc 连pin2(5v)
gnd连pin25(ground)
data连pin11(gpio17)
如果是2pin的红外发射器,就不用接vcc,为了提高稳定性,需要添加添加三极管和电阻,我们这里就偷懒了,只连接了2pin。
Raspberry Pi 树莓派上安装Weston
用于Raspberry Pi 的Linux 操作系统已经可用
Raspberry Pi(树莓派)试用小记
Raspberry Pi(树莓派)的安装、配置IP及软件源等入门
2.软件部分
1. 安装lirc软件组件,
sudo apt-get install lirc
2. 加载驱动
sudo modprobe lirc_rpi
3. 测试lirc是否正常
sudo mode2 -d /dev/lirc0 # 按遥控上的任何键,查看是否有输出类似
space 4960669
pulse 2697
……
pulse 2697
4. 修改/etc/lirc/hardware.conf 文件中的 DRIVER和DEVICE
pi@raspberrypi ~ $ cat /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#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=""
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
5. 我们发射的红外指令,都是通过先录制,然后发送的方法,录制的情况分2种,
一种是风扇这种简单的指令,我们使用的办法,可以直接解析出命令,使用lirc的录制功能就可以完成 另一种就是例如空调这种比较复杂带逻辑的命令,这种无法直接录制,我们采用的办法是使用原始的录制方法,后面讲,这里先给大家提醒一下
6. irrecord --list-namespace | grep -i key_ 挑几个你喜欢的键名,后面会用到的
7.先讲讲一般的录制,风扇这种比较简单的设备遥控
sudo irrecord -d /dev/lirc0 ~/fan.conf,在用户自己的目录下生成文件 按两下回车后,进行录制,首先按住一个键等待点一直出现到结束 然后不停得按遥控器上不同的键,重复按也没有关系,反正就是要等到点一直出现到结束 第三步,输入你的键名,一定是前面看到的KEY_XX,回车后,按一下你想要录制的那个键 后面输入键名录制,重复进行,直接回车,录制结束,在目录下就生成了fan.conf,如果过程中出错,删掉文件,重新录制
有兴趣的同学,可以看看文件的具体内容,再结合红外的协议标准研究一下,这里就不细说了,有兴趣可以私下给我留言
8.新建一个目录/etc/lirc/remotes,用来存放我们录制的文件,并将文件放入其中
sudo cp ~/fan.conf /etc/lirc/remotes/
并修改文件中name 为好记的字段,这个后面要用的
begin remote name fan
bits 16 flags SPACE_ENC|CONST_LENGTH
9.修改/etc/lirc/lircd.conf,添加如下:
include "/etc/lirc/remotes/fan.conf"
10.重启 sudo /etc/init.d/lirc restart,加载配置文件
11.测试你的风扇吧:
sudo irsend SEND_ONCE fan KEY_NEXT