基于Dragonboard 410c android系统红外遥控功能的实现方法
阅读本文之前,相信大家对Dragonboard410c有了一个大致的了解了,包括对Dragonboard410c的介绍与系统烧写步骤以及系统定制(Android系统定制和linux系统定制)。随着智能城市概念的普及与推广,智能家居也日渐引起大家的关注与重视,尤其是手机平板等移动设备渐渐也开始在智能家居生活中直接或间接地担负起终端控制角色。本设计基于智能家居普及的背景下基于高通的DragonBoard 410c android系统实现红外遥控功能。
一、硬件原理图:
图1 DragonBoard 410c外部GPIO口引出接口J8的连接原理图
图2 IR demon板的原理图
二、软件控制原理:
由图2可看到IR demon板除供电的VDD与GND外,主要通过SCL与SDA对外通讯,而BUSY 主要反映IR的工作状态,BUSY高电平代表IR处于忙碌状态,低电平代表IR处于空闲状态(主要用于红外的学习功能)。
1.I2C通讯:
本设计采用DragonBoard 410c开发板与一块小小的IR demon实现红外遥控功能,其中DragonBoard 410c 主要通过I2C协议与IR进行通讯与控制。
由于本设计的IR比较特殊(只支持20k以下的I2C clock,同时与硬件通用的I2C协议有所差异),本设计采用DragonBoard 410c的普通GPIO口进行模拟I2C通讯。此设计的优缺点如下:
(1)优点:
a.易于各平台代码移植(毕竟相对主控芯片来说只需申请普通GPIO);
(2)缺点:
a.自己手动编码实现I2C的模拟通讯;
b.模拟I2C支持的clock较低,不过相对这片IR的I2C clock(max=20k)完全够用。
图3 模拟I2C调试波形图
2.IR功能测试:
本设计的IR主要有两个功能:
(1)对外发射红外控制信号;
(2)复制接收的红外信号并记录(学习功能,主要用于DIY按键);
目前市面上的红外解码库基本都是使用第三方的解码库,大家可以上网下载万能遥控精灵这款app进行红外测试,本例暂时只介绍功能(1)的测试方法,(另外的功能大家可以自己通过万能遥控精灵玩下)如下:
(1)准备工作:一台手机,一台PC机(安装Total Control),一套连IR的Dragonboard410c开发板,一根USB线;
(2)PC机上通过USB与Dragonboard410c连接,打开手机摄像头对准IR发射头,此时通过 PC机上的Total Control软件打开测试apk,连续点击apk上的虚拟按键,此时可看到在手机摄像头图像上的IR发射头上闪现的红光,即表明IR能对外发射信号,具体请看图5:
图4 PC控制界面
图5.1 IR信号发射前
图5.2 IR信号发射中
三、硬件实物连接图
图5.3 硬件实物连接图
图5.4 实物遥控电视图
DragonBoard 410c 红外遥控 Android 相关文章: