2024年5月25日发(作者:)

基于Android的电视手机遥控系统

曾智勇;潘国海;刘健彬;刘海刚

【摘 要】本文设计了一款基于 Android平台的电视手机遥控系统。该遥控系统以

手机作为控制终端,利用手机蓝牙发送控制指令到协议转换器,通过协议转换器对

指令数据处理并转换为红外信号,实现对电视等红外家电的控制。实验测试证明该

遥控器具有良好的实用性与扩展性。%A TV remote control system based on

the Android platform is designed. The system controls infrared appliances

like TV by using the mobile phone as a control terminal to send control

instructions to the protocol conversion device by means of Bluetooth,

processing the date through the protocol transformation device and then

changing the data into infrared signals. Experimental tests show that the

controller is of good practicability and expansibility.

【期刊名称】《五邑大学学报(自然科学版)》

【年(卷),期】2014(000)002

【总页数】5页(P58-62)

【关键词】智能家居;Android;家电控制;协议转换器;遥控器

【作 者】曾智勇;潘国海;刘健彬;刘海刚

【作者单位】五邑大学 信息工程学院,广东 江门 529020;五邑大学 信息工程学院,

广东 江门 529020;五邑大学 信息工程学院,广东 江门 529020;五邑大学 信息工

程学院,广东 江门 529020

【正文语种】中 文

【中图分类】TN948.5

随着物联网的发展和人们生活质量的提高,智能家居越来越成为人们追求舒适生活

的必要途径. 家电控制系统是智能家居系统的一个重要组成部分,电视作为常用的

家用电器,把电视融入到家电控制系统当中也是必然趋势. 然而传统电视遥控器并

不能直接嵌入以软件平台为控制终端的智能家居系统当中. 鉴于此,本文提出一种

基于Android平台的电视遥控系统,为电视嵌入家电控制系统提供一种解决方案.

该遥控系统主要由Android手机客户端和协议转换器两大部分组成,如图1所示.

Android客户端BlueIR负责手机的蓝牙与协议转换器的蓝牙模块链接与通信,传

递用户遥控操作的信息;协议转换器是一个放置在电视红外接收范围的中转盒,负

责将手机发送的蓝牙控制信号转换成红外控制信息. 它由电源模块、蓝牙模块、主

控模块和红外发射模块组成. 本系统的工作原理是由Android客户端发送控制命令

到协议转换器,协议转换器的蓝牙模块接收控制信息并传输给微控制器进行处理,

完成后驱动红外模块发射信号.

Android系统采用Linux内核,是一个标准化的、开放式的平台[1-2]. 本

Android客户端开发以JAVA作为开发语言,采用Eclipse集成开发环境编写功能

代码,选用Android 2.3.3版本的SDK来完成手机客户端开发. 图2为Android

客户端功能框图. Android客户端负责监听用户的遥控操作并将控制信息发送给协

议转换器. Android客户端的主要功能包含蓝牙通信、用户遥控、反馈更新等.

2.1.1 蓝牙通信设计

蓝牙连接实现蓝牙信道的建立与通信,在文件的

Permissions中添加“OTH_ADMIN”的权限,允

许本Android客户端使用蓝牙功能. 在layout目录下添加含有Listview和

Button的布局文件并编写蓝牙功能代码,如图3所示,搜索蓝牙按钮被触发时,

客户端调用蓝牙适配器的startDiscovery()方法异步启动搜索,将搜索到的新设备

信息更新到可使用设备的Listview中. 停止搜索按钮被触发时,客户端调用

cancelDiscovery()方法终止搜索过程. 利用连接设备的信息生成Socket对象来远

程连接转换器,通过Socket对象取得输入输出流,实现蓝牙通信.

为了在蓝牙通信过程中降低外界信息干扰,提高信噪比和准确性,通信数据帧采用

了3个字节的数据格式包进行传输,该数据包的第1个字节和第3个字节分别设

为十六进制数FFH和0FH作为数据标识符和结束符,第2个字节为用户控制信息,

即手机遥控的键值,对非此数据帧结构的干扰信息忽略处理.

2.1.2 遥控功能设计

为满足大多市场上主流手机屏幕的兼容需求,制作了不同分辨率的按钮图片,利用

Android系统自动适配功能,加载常用电视遥控按键的图片资源形成遥控UI界面,

如图4所示.

在后台控制方面,利用onClickListener()监听用户遥控操作,对功能操作和选台

操作加以区分,根据自定义的数据帧结构(图3),在用户控制信息字节中给相应

的按键赋值,将该数据帧通过蓝牙Socket的输出流传递给协议转换器处理.

对电视遥控采用了信号反馈机制,通过手机蓝牙成功给转换器发送控制数据帧时,

需转换器响应并发回一个应答信号,若Android客户端内没有收到应答信号,则

预测数据帧已丢失,重新发送控制数据帧,仍然没有应答响应则界面提示蓝牙连接

已断开.

协议转换器程序的设计是整个系统的关键,它负责解析蓝牙数据并转换为红外数据

格式输出. 协议转换器程序主要包含蓝牙通信子程序、数据处理子程序和红外发射

子程序.

2.2.1 蓝牙通信子程序

利用蓝牙模块的蓝牙串行数据透传(GATT/GAP)模式[3],该通讯程序实际上就

是串口通讯,利用串口程序就可以直接读取蓝牙模块收到的数据帧,该数据帧由标

识符、用户控制信息和结束符组成,数据将送入缓存等待下一步的数据处理.

2.2.2 数据处理子程序

蓝牙模块收到的数据帧主要包含匹配电视指令以及遥控电视指令. 当微控制器接收

到数据帧后,先解析数据帧指令的类型,后调用相应的指令执行函数命令,如图6

所示.

2.2.3 红外发射子程序

遥控器编码格式可分为日本NEC的upd6121G和荷兰Philips的RC5传输协议

[4]. 所有红外遥控器的输出都是用编码后串行数据对的方波进行脉冲幅度调制而产

生的[5]. 本设计包含TC9012,upd6121G,LC7464M_Panasonic等多种编码格

式,下面就TC9012格式进行说明:TC9012编码格式采用脉冲位置调制方式

(Pulse Position Modulation,简称PPM)以区分“1”和“0”,载波为38

kHz矩形波,如图6所示.

TC9012的一帧数据中含有32位码,包含两次8位用户码、8位数据码和8位数

据码的反码及最后位的同步位. 引导码由4.5 ms的载波和该载波关断波形所构成,

以作为用户码、数据码以及数据码反码的先导. 发射码的格式如下图7所示.

利用微控制器脉冲宽度调制(Pulse Width Modulation,PWM)功能,调用相

应函数并设定低电平或高电平输出时间以及占空比两个参数即可产生如述载波(通

常设置载波频率为,占空比为1/3). 利用定时器控制PWM载波输出和截止的时

间间隔即可完成如图7所示格式的红外信号调制,发射的子程序流程图如图8所

示.

在蓝牙通信距离和红外有效距离的测试环境中,将协议转换器上电分别对松下电视

和LG电视进行有效性测试,Android客户端与转换器连接成功并成功发送了控制

指令,实现了遥控电视的功能.

利用百度开发中心的移动测试MTC服务对Android客户端进行性能测试,选择

40款主流Android系统手机进行测试. 结果显示有34款手机通过安装测试,执

行通过率占85%,稳定性测试有31款手机通过,执行通过率为77.5%,UI适配

性测试通过33款,执行通过率达82%. 部分测试结果如表1所示.

从表1可以看出,所选的测试样本手机涵盖了当前市面上所有的Android系统版

本与主流分辨率,各类性能测试情况良好,可见,本系统的手机客户端兼容性较好.

其中三星S5660并未通过遍历测试,通过分析MTC测试服务的日志发现,三星

S5660的遍历测试日志中出现了at . ArrayList. Throw Index Out Of

Bounds Exception异常,即遍历测试发现ArryList数组可越界,抛出了Index

Out Of Bounds Exception异常导致并未通过,其原因是遍历具有随机性,从而

使极少部分手机没有通过遍历测试. 基于此进一步对代码进行了改善,增加了对数

组元素和遍历的安全检查,以提高代码的安全性和健壮性.

本文所设计的基于Android的电视手机遥控系统利用蓝牙协议转换红外信号的方

法,有效地实现了对不同品牌的电视进行远程控制和集中化管理. 性能测试实验显

示本系统的手机客户端兼容性较好,可适用于目前市面上主流Android手机,具

有良好的市场推广前景. 本文设计的遥控系统可以通过Android主控平台以客户端

软件服务的方式嵌入到智能家居系统中. 目前该设计仅实现对电视控制,下一步研

究将扩展到空调、DVD等其他红外家电,组成完整的智能家居家电控制系统.

【相关文献】

[1]BURNETTE E. Hello, Android [M]. Frisco: Pragmatic Bookshelf, 2010.

[2] 钟明林. 基于Android智能手机平台方案[D]. 济南:山东大学,2010.

[3] 喻宗泉. 蓝牙技术基础[M]. 北京:机械工业出版社,2006.

[4] 赵子骁,曾元希. 基于Anroid平台智能手机的学习型红外遥控器设计[J]. 电子制作. 2013(15):

43-44.

[5] 李湘闽,唐宏,葛继. 学习型红外遥控器[J]. 红外. 2004(8): 33-36.