基于Android手持设备的智能家居遥控系统研制
屏幕上动态生成的二维码,以获取智能电视的IP、MAC地址和端口信息。如图2,以基于NFC的配对方案为例,智能手机接近电视中的NFC标签时,手机中的NFC读卡器会将事先写入NFC标签中的电视机的IP、MAC地址信息读取出来,并通过通用异步收发传输器(Universal Asynchronous Receiver/Transmitter, UART)接口将其传递给手机主控芯片。主控芯片获取该IP和MAC地址信息后,将其存储在自身存储区中。其中,NFC读卡器可选取德州仪器公司的TRF7970(射频收发器)和MSP430(单片机/基带控制器)组合。之后智能手机进行Socket初始化并向智能电视对应的IP地址和端口发送连接请求。智能电视的受控端软件在指定端口接收到该连接请求后,建立Socket连接。至此,遥控器与智能电视间的初始化绑定配对过程完成,且建立了封闭的通信连接关系。此时遥控器与智能电视之间已经通过彼此的MAC地址建立了互为指向的绑定关系,且可通过MAC地址进行设备的唯一性标识。之后,如果遥控器侦测到有广域网连接,则向广域网云端服务器(固定IP地址)发送绑定成功的控制双方的MAC和IP地址。
2.2 遥控指令处理
初始化绑定完成后,遥控器端软件监测用户是否按下了在触摸屏界面上显示的遥控按键,如果有按键事件,则将其通过Socket接口发送至受控端。智能电视进入正常播放界面后,受控端软件在后台以Service形式运行。受控端软件监听并接收到来自遥控器端的远程控制指令后,解码并执行接收到的遥控指令所对应的操作:比如增大音量、减小音量、调台(频道+1)、调台(频道-1)等基本操作。可选的,在执行完某指令对应的操作后,受控端软件向遥控器端发送该指令的响应。遥控器接收到该指令后,结束本次用户遥控行为触发的软件流程,回到监听用户遥控按键行为的状态。整个系统软件主流程如图3所示,受控端软件主流程如图4。
2.3 广域网场景下的遥控
如图1,在广域网场景下,位于云端的拥有固定IP地址的服务器负责维护遥控器与受控设备之间的网络与绑定配对关系列表,该表主要字段包括:发包设备的设备类型(遥控器或受控设备)、遥控器MAC地址、遥控器IP地址、受控设备MAC地址、受控设备IP地址等。云端服务器基于该列表进行遥控指令包的转发。接收到遥控指令包时,首先解析提取该包对应的遥控器与受控设备的MAC地址对,之后根据该MAC地址对确定受控设备IP地址,并向该IP地址转发遥控指令包。
3 运行结果
如图5所示,遥控器端软件正常运行时,在遥控器操控界面共有5个功能按键,分别是“静音”、“音量+”、“音量-”、“频道+”、“频道-”。当遥控器端连接好智能电视并需要进行功能操作时,用户直接点击相关按键即可。基于国内某品牌电视厂商的LED32EC智能电视机进行功能扩展与实验,经实测,局域网内时延远小于1秒,广域网场景下的时延受运营商网络影响,网络负载正常时约为2秒左右。基于NFC的配对绑定操作可在500毫秒时间内完成,大大缩短了传统遥控器的配对绑定时间。
4 结论
本文论述了基于Android智能手持设备的智能家居遥控系统的设计与实现。所研制遥控系统在局域网和广域网环境中分别进行了实测,功能和绑定、控制时延等指标达到了预期的设计要求。所研制遥控系统较传统的专用遥控器具有节省材料、支持多功能多类型智能家居设备遥控、支持广域网远程遥控、安全便捷的初始化绑定等优势,可广泛应用于智能电视、智能空调等智能家居设备的远程遥控。随着物联网、移动互联网时代的到来和Android智能手机的普及,该系统在智能家居领域有着较为广泛的应用前景。
参考文献:
[1]张川. 智能家庭网络:技术、标准与应用实践[M]. 北京:人民邮电出版社,2014
[2]位恒曦,刘卫玲,贺云凯,等. Android平台i-Jetty服务器在智能家居中的应用研究[J]. 电子技术应用,2014.1
[3]王淼. NFC技术原理与应用[M]. 北京:化学工业出版社,2014.6:1-10
[4]青岛东合信息技术有限公司. Android程序设计[M]. 北京:电子工业出版社,2012
[5]李佐彬. Android开发入门与实战体验[M]. 北京:机械工业出版社,2009
[6]贾凡,佟鑫. NFC手机支付系统的安全威胁建模[J]. 清华大学学报(自然科学版), 2012, 52(10):1460-1464
[7]ISO/IEC 14443-3, Identification cards - Contactless integrated circuit(s) cards - Proximity cards - Part 3: Initialization and anti-collision[S], 2000.7: 1-37
- 基于Linux/Qt的智能家居系统设计(07-07)
- 基于ARM-linux的智能监控系统设计(08-25)
- 基于Linux的智能家居管理方案(01-05)
- 基于Android智能家居远程监控系统设计(12-01)
- 基于ZigBee无线网络的嵌入式智能家居监控系统(03-18)
- DIY智能家居之多功能一体化触屏遥控器的设计实现(04-14)