张丽静,郭禹伶,高志强,袁晓磊,李帅华
(1.华北电力大学,河北 保定 071003;2.国网河北省电力公司电力科学研究院,石家庄 050021)
基于Android平台的智能家居远程客户端设计
张丽静1,郭禹伶1,高志强2,袁晓磊2,李帅华2
(1.华北电力大学,河北 保定 071003;2.国网河北省电力公司电力科学研究院,石家庄 050021)
针对传统智能家居远程客户端操作繁琐、效率低的问题,提出一种基于Android平台的智能家居远程客户端,分析该客户端总体结构、通信系统和数据库的设计方案,重点介绍设备动态识别自适应技术,经安装测试,该客户端可满足用户的需求。
智能家居;远程客户端;Android
智能家居是以住宅为平台,利用先进的网络通信技术、综合布线技术、安全防范技术、自动控制技术、语音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境[1]。随着智能家居理念越来越深入人心,智能家居系统用户对远程控制需求日益迫切。因此,对智能家居远程客户端进行综合设计和测试就成为必不可少的工作。
在实际应用中,远程控制的响应速度和控制稳定性在很大程度上影响着智能家居系统的稳定与经济指标。传统智能家居系统的远程控制方式有电话控制、Web页面控制等。基于电话的智能家居控制装置通常只具备单一功能,比如只能控制空调的启停、热水器电源的通断等,该方式无法对复杂的用户需求提供更丰富的控制手段,更不具备对用户家庭环境的实时监测功能;基于Web页面的智能家居控制方式是用户利用网络信号,使用浏览器建立智能设备与智能家居远程客户端[2]之间的联系,其缺点是Web页面刷新速度慢,工作效率低,无法处理大批量的数据,而且完成正常的智能家居控制,通常需要多个Web页面同时工作,操作繁琐,通信流量大,大大降低了智能家居控制系统的效率。
基于Android平台的智能家居远程客户端(Smart House Remote Client)是通过 Andorid智能家居软件控制的以通信网络为纽带的智能家居远程控制系统,用来实现对用户家庭智能家居系统及设备的远程控制,其基本思想是智能控制、分类操作、分级管理、配置灵活[3]。Android智能家居远程客户端按功能可划分为五部分:登陆控制单元、信息存储单元、智能控制单元、智能情景模式及人机界面。其中,智能控制单元是智能家居远程客户端的基本组成部分,完成对智能家居系统的设备数据同步、智能实时控制和智能情景模式控制等控制级功能,其组成部分主要包括智能家居系统数据同步接口、TCP/IP网络控制接口、SMS短信控制接口。根据智能家居系统设备的多样性,有多种类型的数据通信接口,以满足用户智能家居系统设备的需要。数据通信接口的类型有继电器类型、无线发送类型、情景模式类型、无线转红外类型和无线发送类型(自编码)。
基于Android平台的智能家居远程客户端控制结构如图1所示。智能家居远程客户端主要由用户安全信息验证模块、智能家居设备控制模块、情景模式控制模块三部分组成。
图1 基于Android平台的智能家居远程客户端控制结构示意
a. 用户安全信息验证模块。用户输入用户名和密码等验证信息,通过网络远程登录智能家居主机,与智能家居主机所认证的用户信息进行对比,如果信息通过验证,则登录智能家居主机,建立稳定、可靠的通信连接,为用户的实时控制操作提供接口;同时记录认证后的用户验证信息,加密存储到用户的Android智能手机/平板电脑上,方便用户再次登录使用。
b. 智能家居设备控制模块。用户根据智能设备的控制方式和采用的通信媒介,读取智能设备的控制信息,并加以存储;基于用户安全信息验证模块提供的接口,动态生成与用户家庭智能设备操作一致的操作界面;用户可以直接点击人机界面上的操作按钮,实时远程操作家庭智能设备,达到身临其境的控制效果。
c. 情景模式控制模块。用户根据已经设定好的智能家居设备信息,自定义智能设备的控制组合,满足用户在不同场合的复杂需求,包括回家模式、离家模式、休息模式、夜灯模式、起夜模式;用户可以一键实现不同场合下的所有操作,无需繁琐的连续控制操作,为用户提供最大程度的便利和舒适性。
3.1 通信接口设计
客户端能够根据用户智能家居控制系统的不同设备,提供各种类型的通信接口。无线信号的通信频率采用315 MHz和433 MHz射频频段,可以覆盖200 m2左右的用户家庭范围,可以保证智能家居设备的可靠控制,能够满足智能家居系统的控制要求。常用的通信接口类型有:
a. 继电器接口,即有线IO接口,共有5路,为智能家居控制系统提供外围的硬件接口。采用占位符的方式记录当前继电器通道是否与家庭智能设备相关联,即当前继电器通道占位符的值为1,则表示有智能设备可以操作;当前继电器通道占位符的值为0,则表示无智能设备可以操作,可忽略不计。
b. 无线发送接口,共有70路,采用占位符的方式记录当前设备是否与家庭智能设备相关联,即当前路无线发送占位符的值为1,则表示有智能设备可以操作;当前路无线发送占位符的值为0,则表示无智能设备可以操作,可忽略不计。
c. 情景模式接口,共有8路,采用占位符的方式记录当前情景模式是否与多路家庭智能设备相关联,即当前路情景模式占位符的值为1,则表示有多路智能设备可以操作;当前路情景模式占位符的值为0,则表示无多路智能设备可以操作,可忽略不计。
d. 无线转红外接口,共有80路,采用占位符的方式记录当前红外遥控设备是否与家庭红外设备相关联,即当前路无线转红外占位符的值为1,则表示有多路智能设备可以操作;当前路无线转红外占位符的值为0,则表示无多路智能设备可以操作,可忽略不计。
e. 无线发送接口(自编码),共有40路,采用占位符的方式记录当前自编码无线设备是否与家庭智能设备相关联,即当前路无线自编码占位符的值为1,则表示有智能设备可以操作;当前路无线自编码占位符的值为0,则表示无智能设备可以操作,可忽略不计。
3.2 客户端与主机通信的通信协议设计
基于Android平台的智能家居远程客户端与智能家居主机系统之间的数据通信采用TCP/IP网络控制方式和SMS短信控制方式,通信协议一致。
通信协议的命令字格式为:数据头STX,2 Byte ASCⅡ码,固定为0xFF;密码PASSWORD,8 Byte长度,以ASCII方式设置和通信;命令类型ComType,2 Byte的命令;命令值Command, 0~100 Byte,具体意义和长度由命令类型决定通信数据格式。
“k”“o”命令,该命令功能是输出设备点击触发。该命令的第1个参数RxdBuf[11]表示输出设备编号,第2个参数RxdBuf[12]表示输出类型,其中包括1高电平,2低电平;3点触型。输出设备的编号约定为:1-8,继电器类型;11-90,无线发送类型;91-98,情景模式类型;101-180,无线转红外类型;181-220,无线发送类型(自编码);221-255,保留。触发成功后返回“0001+此时继电器状态密码错误反馈”;密码错误反馈“0002”;其他错误反馈“0003”。
“c”“s”命令,该命令的功能是输入输出有效查询。用户端接收的第1个参数RxdBuf[0]表示返回字节数;第2个参数RxdBuf[1]表示1-8号继电器是否默认,如果是相应位为1,如果否相应位为0;第3个参数RxdBuf[2]表示情景输出是否有效,如果是相应位为1,如果否相应位为0;第4个参数RxdBuf[3]表示无线输出是否有效,如果是相应位为1,如果否相应位为0;第5个参数RxdBuf[4]表示无线转红外是否有效,如果是相应位为1,如果否相应位为0;第6个参数RxdBuf[5]表示无线输出(自动生成)是否有效,如果是相应位为1,如果否相应位为0。用户端可以根据该数据表,来确认哪些输入输出需要重新获得信息,以此来减少通信压力。密码错误反馈“0002”;其他错误反馈“0003”。
根据智能家居控制系统的特点,以XML为引擎,建立了通用性良好、简单易用、功能齐全的Android智能远程客户端数据库系统。根据不同种类的Android系统,客户端会在数据库中创建相应的数据表,内容为智能家居设备信息。
[ID],在数据库中用于识别的唯一ID,类型为AUTOINC(4)。
[房间号],用户定义的智能家居控制系统的房间编号,类型为INT(3)。
[房间名称],用户定义的智能家居控制系统的房间名称,类型为CHAR(100)。
[房间图片编号],用户定义的智能家居控制系统的房间图片编号,类型为INT(3)。
[设备编号],用户定义的智能家居控制系统的设备编号,类型为INT(10)。
[设备名称],用户定义的智能家居控制系统的设备名称,类型为CHAR(10)。
[设备图片编号],用户定义的智能家居控制系统的设备图片编号,类型为INT(10)。
[情景模式编号],用户定义的智能家居控制系统的情景模式编号,类型为INT(10)。
[情景模式图片编号],用户定义的智能家居控制系统的情景模式图片编号,类型为INT(10)。
[情景模式名称],用户定义的智能家居控制系统的情景模式名称,类型为CHAR(10)。
目前,不同手机/平板电脑厂家都推出了各自的Android系统。通过开发“设备动态识别自适应技术”,可以使智能家居远程客户端自动识别手机/平板电脑Android系统的版本、设备分辨率及配置。用户无需操作,客户端后台自动执行分辨率调整、颜色微调、系统权限提升等一系列操作。这样用户只需一键安装Android系统客户端就可以正常使用。
设备动态识别自适应技术的特点是动态分辨率调整、动态颜色微调、高速缓存交换机制,采用异步网络通信架构,多线程DOM模型,区别于传统Android系统的操作方法,在自定义智能家居通信协议基础上增加SAX-XML综合数据云处理层,提供用户功能性定义接口[4]。高速缓存交换机制是根据实际智能家居系统的情况,以设备或者情景模式为单位将智能家居数据综合处理。系统中开辟了两块相同容量的缓冲区,一块缓冲区进行实时智能家居设备数据通信,另外一块及时读取当前操作设备相邻的设备数据信息,待用户下一次点击设备操作,立即从第2块缓冲区查询是否存在此设备操作信息。2块缓冲区如此循环,获得极高的处理效率。
a. 将设计的智能家居客户端安装后,经过反复测试,该客户端可实现对智能家居设备的集中管理和控制,随时随地掌控家中设备状态。
b. 通过Android手机/平板电脑对智能家居进行控制,采用设备动态识别自适应技术,与以往控制方式相比,能稳定、高效地处理用户的请求,而且操作简单,易于推广。
[1] 高 闯,李海平.基于Android 平台的智能家居手机客户端软件设计[J].电子测试,2013 (12):71-72.
[2] 徐 锋,刘 欣,方加宝.智能家居远程控制系统设计[J].低压电器, 2009,4:21-24.
[3] 王朝华,陈德艳. 基于Android 的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):225-228.
[4] 袁晓磊.基于遗传编程的系统辨识研究[D].北京:华北电力大学,2010.
本文责任编辑:齐胜涛
Smart Home Remote Client Software Development Based on Android Platform
Aiming at the traditional smart home remote client complicated operation,low efficiency problem,this paper proposes a smart home remote clients based on Android,introduces the client structure,communication systems, database design project,introdues dynamic recognition adaptive technology,considers that the design can reach the client requirement after installation and test.
smart home;remote client software;Android
2013-08-09
张丽静(1958—),女,教授,主要从事人工智能及应用、数据库与信息系统、图形与图像处理等方向的研究。
TN926
B
1001-9898(2014)01-0025-03