树莓派的红外遥控
来源:互联网 发布:mysql先排序后分页 编辑:程序博客网 时间:2024/04/30 04:44
买树莓派的目的就是想搭建一个红外遥控平台,控制家里的空调(实际上,空调遥控器比较复杂,玩玩电视机遥控器应该还是可以的)。参考下面的教程,
发布树莓派专用红外线扩展板
树莓派作品:红外遥控+2维度步进电机+超声波测距+语音输出
Raspberry Pi lirc_rpi - (IR Remote control) LIRC GPIO driver
硬件方面,刚开始不想用面包板和元器件自己搭平台,从网上买了个红外遥控的扩展板,上面集成了红外发射和接收。软件方面,主要使用 LIRC 软件。
1. 硬件连接
只要把扩展板的GPIO插槽对准树莓派的GPIO接口,正确插入即可。
注意,观察引脚的焊点,方块形状的焊点是1号引脚。两个板子的1号引脚要对准。
最后上下两块板子基本重合,如下图所示
2. 安装LIRC,修改配置文件
LIRC (Linux Infrared remote control)是一个linux系统下开源的软件包。这个软件可以让你的Linux系统能够接收及发送红外线信号。
sudo apt-get install lirc
sudo vim /etc/lirc/hardware.conf
LIRCD_ARGS=””DRIVER=”default”DEVICE=”/dev/lirc0″MODULES=”lirc_rpi”
注意,教程用的是下面这行,但是会报错,不知道为什么
LIRCD_ARGS=”–uinput –listen”
3. 添加下面两行到模块配置文件。
扩展板的红外发射器=17,红外接收器=18(参考管脚对应图)
配置完成后,重启一下树莓派,让配置生效。
sudo vim /etc/modules
lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17
4. 重新开启LIRC功能
到此LIRC软件和扩展板的配置就完成了。
sudo /etc/init.d/lirc stop
sudo /etc/init.d/lirc start
5. 红外线接收功能
首先关闭LIRC软件,然后执行如下命令。
sudo /etc/init.d/lirc stop
mode2 -d /dev/lirc0
使用任何红外线遥控器,对着扩展板按下任意按键,如果没按下键时屏幕都打印类似一下的内容,就说明红外线接收功能正常。
space 16300
pulse 95
space 28794
pulse 80
space 19395
6. 红外编码录制
首先关闭LIRC软件,然后查看可用的按键名
sudo /etc/init.d/lirc stop
irrecord –list-namespace
注:列出几个常用的按键名
KEY_POWER
KEY_VOLUMEUP
KEY_VOLUMEDOWN
KEY_PLAY
KEY_STOP
KEY_VIDEO_PREV
KEY_VIDEO_NEXT
然后,执行红外线编码录制命令
irrecord -d /dev/lirc0 ~/lircd.conf
根据软件的提示操作即可,这个程序会自动算出你按下的遥控器按键的编码和时长,并录制下来记录在~/lircd.conf文件中。
最后,将录制好的~/lircd.conf文件覆盖lirc软件的相应文件
sudo cp ~/lircd.conf /etc/lirc/lircd.conf
7. 红外发射功能
首先重启LIRC软件,然后查看录制好可以使用的按键名
sudo /etc/init.d/lirc restart
irsend LIST /home/pi/lircd.conf ""
注意,将会看到类似一下的内容
irsend: 000000000000c837 KEY_VOLUMEDOWN
irsend: 00000000000048b7 KEY_VOLUMEUP
irsend: 00000000000008f7 KEY_VIDEO_PREV
irsend: 0000000000008877 KEY_VIDEO_NEXT
最后,发射之前录制好的遥控器按键编码了,用户利用这点将扩展板作为一个转台工具。发射命令参考一下命令:
irsend SEND_ONCE /home/pi/lircd.conf KEY_POWER
irsend SEND_ONCE /home/pi/lircd.conf KEY_VOLUMEUP
irsend SEND_ONCE /home/pi/lircd.conf KEY_VOLUMEDOWN
irsend SEND_ONCE /home/pi/lircd.conf KEY_PLAY
irsend SEND_ONCE /home/pi/lircd.conf KEY_STOP
irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_PREV
irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_NEXT
0 0
- 树莓派的红外遥控
- 红外遥控的资源
- 树莓派红外遥控
- 51单片机的红外遥控
- Raspberry Pi 树莓派 红外遥控
- 一个简单的IAL分析(红外遥控)
- PIC单片机的红外遥控与解码
- 红外遥控的发射和接收原理
- 红外遥控的发射和接收原理
- 关于红外遥控的一点资料整理
- 基于C51的红外遥控开发笔记
- 四路智能红外遥控插座的设计
- 即插即用的PC红外遥控接收器
- 基于STM32的红外遥控重点解析
- 用红外遥控器遥控树莓派(XBMC)
- 漫谈红外遥控
- .单片机红外遥控
- 红外遥控智能小车
- 根据ip地址查询所在地
- 蓝牙发展
- 一道淘汰85%面试者的百度开发者面试题——解题、参考答案和优化思路
- Hdu1312 - Red and Black - 广度优先搜索
- Vim在windows下乱码问题的解决
- 树莓派的红外遥控
- inputStream 转为String 类库,不乱码
- [20140719]野良 绯器
- Java读写CSV格式文件(opencsv)
- Linux游戏服务器之旅2_预装GCC mysql环境
- draw9patch用法
- c/c++: 多线程编程基础讲解
- 通过进入单用户模式解决linux中的rc.local修改后无法启动的问题
- 从怀孕编程谈公司管理