网上淘到了一个红外接收器(HX1838+NEC编码红外遥控器)和一个红外遥控器,准备放到树莓派上学习一下红外控制。
[img]http://dl2.iteye.com/upload/attachment/0128/9746/82f5aa5d-baf0-30eb-8373-34c197589c2d.jpg[/img]
不知道为什么接受器带灯的那个距离感应很近,不知道为什么,这里就不用带灯的,用下图两个,一个接收器和控制器
[img]http://dl2.iteye.com/upload/attachment/0128/9742/24d2a5e1-a19e-348c-85db-f44224ede92a.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0128/9744/df539677-1c58-31f5-b94c-a6ffa923cfb2.png[/img]
1.正面对准自己,然后从左到右三个头分别是如下图,插到对应的树莓派上
[img]http://dl2.iteye.com/upload/attachment/0128/9748/84a2fa5c-a10d-3f58-8761-5df2d8ccc66b.jpg[/img]
2.安装lirc,修改配置文件
LIRC (Linux Infrared remote control)是一个linux系统下开源的软件包。这个软件可以让Linux系统接收及发送红外线信号。
这里要重点说明一下,安装上之后网上基本上文章都是说修改/etc/lirc/hardware.conf这个文件,但是我装上lirc最新版(0.9.2)之后根本就找不到这个配置文件,修改的不是hardware.conf这文件,修改/etc/lirc/lirc_options.conf这个文件,把这个文件中对应以下几个参数修改一下
3.修改/boot/config.txt文件,这里26是对应bcm树莓派上的gpio接口:
4.重新开启lirc功能,至此lirc软件就配置完成了。
5.关闭红外线接收功能
首先关闭lirc软件,然后执行如下命令:
6.测试红外接收
用红外遥控器,对着接收器按下任意按键,屏幕会打印类似下面的内容,说明红外接收功能正常。
[quote]space 16300
pulse 95
space 28794
pulse 80
space 19395[/quote]
7.红外编码录制
可查看有哪些按键名并记录下来,然后执行红外线编码录制命令
开始时需要输入一下别名,最后会根据此名称保存对应的文件名,我这里起的:pi
按提示需要输入两次按键次数,需要多少次记不清楚了,你只要来回把按钮全按一遍一直按到提示结束,接下来就是根据上面记录下来的按键名称来点击控制器上对应的按钮,把控制器上所有按钮全部对应到一个不同的按按键名上,如果全部完成之后多按一次回车,提示结束,但这里还需要随便再按一次按钮才会保存成功,成功之后会在~/目录下生成pi.lircd.conf这个文件,只要把这个文件放到/etc/lirc/lircd.conf.d/这个目录里就行了,执行:
下面是我生成的pi.lircd
[img]http://dl2.iteye.com/upload/attachment/0128/9746/82f5aa5d-baf0-30eb-8373-34c197589c2d.jpg[/img]
不知道为什么接受器带灯的那个距离感应很近,不知道为什么,这里就不用带灯的,用下图两个,一个接收器和控制器
[img]http://dl2.iteye.com/upload/attachment/0128/9742/24d2a5e1-a19e-348c-85db-f44224ede92a.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0128/9744/df539677-1c58-31f5-b94c-a6ffa923cfb2.png[/img]
1.正面对准自己,然后从左到右三个头分别是如下图,插到对应的树莓派上
[img]http://dl2.iteye.com/upload/attachment/0128/9748/84a2fa5c-a10d-3f58-8761-5df2d8ccc66b.jpg[/img]
2.安装lirc,修改配置文件
LIRC (Linux Infrared remote control)是一个linux系统下开源的软件包。这个软件可以让Linux系统接收及发送红外线信号。
sudo apt-get install lirc
这里要重点说明一下,安装上之后网上基本上文章都是说修改/etc/lirc/hardware.conf这个文件,但是我装上lirc最新版(0.9.2)之后根本就找不到这个配置文件,修改的不是hardware.conf这文件,修改/etc/lirc/lirc_options.conf这个文件,把这个文件中对应以下几个参数修改一下
#driver = devinput
driver = default
#device = /dev/lirc0
device = auto
3.修改/boot/config.txt文件,这里26是对应bcm树莓派上的gpio接口:
dtoverlay=lirc-rpi,gpio_in_pin=26
4.重新开启lirc功能,至此lirc软件就配置完成了。
sudo /etc/init.d/lircd restart
sudo modprobe lirc_rpi
5.关闭红外线接收功能
首先关闭lirc软件,然后执行如下命令:
sudo kill $(pidof lircd)
6.测试红外接收
mode2 -d /dev/lirc0
用红外遥控器,对着接收器按下任意按键,屏幕会打印类似下面的内容,说明红外接收功能正常。
[quote]space 16300
pulse 95
space 28794
pulse 80
space 19395[/quote]
7.红外编码录制
irrecord --list-namespace
可查看有哪些按键名并记录下来,然后执行红外线编码录制命令
irrecord -d /dev/lirc0 ~/lircd.conf
开始时需要输入一下别名,最后会根据此名称保存对应的文件名,我这里起的:pi
按提示需要输入两次按键次数,需要多少次记不清楚了,你只要来回把按钮全按一遍一直按到提示结束,接下来就是根据上面记录下来的按键名称来点击控制器上对应的按钮,把控制器上所有按钮全部对应到一个不同的按按键名上,如果全部完成之后多按一次回车,提示结束,但这里还需要随便再按一次按钮才会保存成功,成功之后会在~/目录下生成pi.lircd.conf这个文件,只要把这个文件放到/etc/lirc/lircd.conf.d/这个目录里就行了,执行:
sudo cp ~/pi.lircd.conf /etc/lirc/lircd.conf.d/
下面是我生成的pi.lircd