Android平台的智能家居控制系统设计
2013-11-20李文军郑永军李希明
周 恩,李文军,郑永军,李希明
(中国计量学院 计量测试工程学院,浙江 杭州310018)
随着家居智能概念在国内消费者心中地位的提高,智能化家居已越来越多的占有市场份额,也逐渐成为家居市场的新宠儿.智能家居控制终端有3种实现方式,分别为家居系统端、电脑控制端和手机控制端.使用手机通过无线网络可随时随地对家居系统进行控制,让手机成为智能家居的一部分是智能家居系统未来的发展趋势.
目前市售的智能家居解决方案价格普遍在4 000元以上,而且要求对室内进行较大规模的改造[1-2].针对这种情况,本研究设计出了一种技术上可行且不落后,价格又相对低廉,并且拥有良好扩展升级能力的基于Android平台的智能家居控制系统.此系统安装方便,不需要对家中现有线路电器等进行改造,且能完成基本的远程智能家居功能,使用无线ZigBee技术,使其之后的升级扩容十分方便,技术可行先进.
1 系统总体设计
基于智能手机平台的智能家居控制系统,它是智能家居今后的重要发展方向.用户可通过远程短信的方式,控制家中电器的运行.这在很大程度上提高了人们的生活效率,节省了大量的时间和精力.
同时,也可避免家用电器在闲置时的空转、消耗大量能源的问题,实现更加安全、便利、舒适的家居生活环境[3].本设计对基于Android平台的智能家居控制系统提出了合理的方案.
系统由手机应用软件、家庭主控终端以及被控终端构成.其中,家庭主控终端由三部分组成:GSM模块,单片机和ZigBee模块.被控终端即为智能家居无线插座,由ZigBee接收端和继电器构成,系统总体结构如图1.
图1 系统总体结构框图Figure 1 Overall system block diagram
编写出基于安卓智能手机的APP应用软件,将其植入手机,然后直接打开软件点击相关按钮发送对应的控制命令,通过GSM网络发送到家庭主控终端,GSM模块接收到手机短信后,根据其内容指示,向ZigBee模块发送控制信息,最后信号到达ZigBee智能开关终端,使对应的家用电器开启或停止,系统工作流程图如图2.
2 Android手机端软件设计
2.1 Android应用程序的组成部分
Android架构里定义了 Activity、Service、Broadcast Receiver、Content Provider四种应用程序构建,用户的Android应用程序也都是由这四种构建组成[4-5].一个成熟的Android应用程序,应具备以下特点:运行速度快,响应快速,程序,态转换连贯流畅且安全.用户编写的大部分可执行代码都是以Activities的形式存在,活动通常要负责屏幕的显示.手机端软件由信息显示模块和信息处理模块组成,其架构如图3.
图2 系统工作流程图Figure 2 System work flow chart
图3 手机端软件构架Figure 3 Mobile terminal software architecture
2.2 手机端界面设计
本项目基于Android系统进行应用程序的开发,设计出了一款界面友好、功能完善、符合要求的软件提供给用户.软件功能应包括:设定并可更改短信发送目的号码,一键快速发送控制指令控制相应电器,历史操作记录等.手机界面操作部分示意图如图4.
图4 手机操作界面示意图Figure 4 Phone operating interface diagram
智能家居控制系统的设计界面分为主界面、控制界面和操作历史查询界面.首先点击进入主界面,两次输入接收端号码,确认后可在下方显示出需要连接的号码;然后点击进入控制界面,选择对应的电器打开或关闭.进入历史操作界面,可查询对家用电器打开关闭的历史记录.
2.3 手机端信息处理模块设计
首先在安卓软件配置文档AndroidManifest.xml中添加发送短信的权限,<uses-permission android:name="android.permission.SEND_SMS"/>.之后便可开始软件功能的实现.
对按钮设置setOnClickListener事件监听,当按钮按下时调用onClick()函数来执行相应的动作.在本项目中onClick()中包含两个子函数:sendSMS()函数和ContentValues()函数.sendSMS()函数是短信发送的核心函数调用ContentValues()函数将发送的短信插入系统数据库.
为了能得知短信收发状态,需要注册接收成功或发送成功的广播.
注册后调用BroadcastReceiver()函数并使用Toast语句,即可获得短信收发状态的提示.
3 家庭主控端设计
3.1 信息处理模块
由GSM模块、单片机和ZigBee协调器端组成的家庭主控终端,它需要正确地对来自手机的信号进行通信和处理,并执行相关命令以实现智能家居控制.系统中,GSM模块选用西门子公司TC35系列的TC35i,它集成了GSM射频芯片、基带处理芯片、存储器和功放等器件[6],同时选用MSP430F5438单片机作为其微控制器.
先用串口助手输入相关的AT命令对GSM模块进行调试,成功后将单片机和GSM的串口相连,RXD为接受数据端,TXD为发送数据端,RXD和TXD需对应直接相连,实现串口通信的硬件连接如图5.由于MSP430单片机只含有一个硬件串口,故单片机和ZigBee协调器端的连接采用I/O模拟串口.当GSM模块提示有短信息时,通过串口单片机接收到一个中断信号,然后用相关的AT命令读取GSM模块中来自手机的短信内容,单片机对短信内容进行判断分析后,先给ZigBee协调器端一个中断信号(ZigBee核心电路如图6),确定正确通信后,再输出对应需执行命令的信号,将此命令通过模拟串口发送至ZigBee协调器端,从而完成了对来自手机信息的处理.
3.2 ZigBee模块概述
ZigBee是一种新兴的短距离、低速率无线网络技术,主要用于近距离无线连接.它具有低功耗、低成本、高容量、高安全等较多技术特点.系统以CC2530芯片作为ZigBee无线通信模块,它是基于IEEE 802.15.4协议的片上系统,结合了一个完全集成、高性能的RF收发器和一个8051微处理器[7-8],具有良好的接收器灵敏度和抗干扰性.
图5 串口通信硬件接口电路Figure 5 Serial communications hardware interface circuit
图6 ZigBee核心电路Figure 6 ZigBee core circuit
3.3 ZigBee网络的建立
本系统采用一个协调器节点和若干个终端,组网方式为星状网,在智能家居中应用星型网络,可获得较高的性价比.组网过程中主要涉及两种节点:协调器节点和一般路由节点.协调器是整个Zig-Bee网络的核心,它主要负责网络的建立、成员的加入和网内地址的分配、网络邻接表的更新、数据的转发等[9-10],此外还要通过串口与GSM模块联系.
在建立网络过程中主要调用PUBLIC void JZA_StackEvent()函数来反馈网络层的事件,如网络是否启动成功或者数据是否发送完成等.协调器通过串口接收GSM模块发送的控制指令后向相关设备转发指令.这一过程中,接收串口信息主要通过PUBLIC void JZA_vPeripheralEvent()函数实现.协调器向终端节点发送数据主要通过AF_DataRequest()函数实现.终端节点接收协调器发送的数据主要通过PUBLIC bool_t JZA_bAfMsgObject()函数来实现.
4 被控终端设计
智能无线插座是直接控制电器开关的部件,在本系统中作为终端节点扮演着决定系统功能实现的任务.主要由两部分组成:ZigBee模块和继电器模块.其原理示意如图7,ZigBee模块作为路由节点接入整个智能家居网络,接收来自协调器发送的控制信号.并根据控制信号给继电器发送相应信号控制其通断.继电器则根据从ZigBee路由节点发送而来的控制信号(5V高低电平)来接通或断开,从而实现对插在智能无线插座上的电器的开关控制.
图7 智能无线插座Figure 7 Intelligent wireless socket
5 系统调试
智能家居系统中的ZigBee通讯距离易受到墙体、水平和垂直距离等因素的影响.为了检测其是否满足家居的需要,进行以下实验:编写程序,将协调器放置在一层某固定处,让其以1ms的时间间隔重复发送数字01一百次至路由节点.路由节点的位置不断变化,每5m设有一个放置点,通过串口读出路由节点接收到数字01的次数来判断最佳工作距离.实际实验环境为:每5m有一墙体,层高3.5m,实验数据见表1.
表1 工作距离实验数据表Table 1 Working from the experimental data table
实验证明,在同一水平面上,本ZigBee模块的稳定通讯距离为15m,故其覆盖面积约为706.5m2.而覆盖体积可近似认为是一个球体,数据分析后可知,取球体半径为14m,故其覆盖体积约为11 488.21m3,完全能够满足家居使用需要,且信号穿墙能力强,15m距离内间隔三面厚度为30cm的墙壁进行通讯仍不存在问题.
6 结 语
本研究基于智能手机的Android平台设计出了智能家居控制系统,结合无线ZigBee技术,具有快捷、高效、稳定安全的优点,且控制方式少、控制距离较远,能随时随地控制家居环境.经测试,软件安装方便,系统性能良好,具有一定的推广应用价值.
[1]彭建盛.基于Symbian平台智能家居控制系统的设计与实现[J].天津师范大学学报:自然科学版,2011,31(2):55-58.Peng Jiansheng.Designing and realization of a smart home control system based on Symbian platform[J].Journal of Tianjin Normal University:Natural Science Edition,2011,31(2):55-58.
[2]况莉莉,李 振,衡友跃.基于Android智能家居的探讨[J].淮北职业技术学院学报,2012,11(3):85-86.Kuang Lili,Li Zhen,Heng Youyue.Discussion of Android based smart home[J].Journal of Huaibei Professional and Technical College,2012,11(3):85-86.
[3]彭建盛,何奇文,廖维斌,等.基于无线单片机CC2510的智能家居系统的设计[J].河池学院学报,2008,28(5):50-55.Peng Jiansheng,He Qiwen,Liao Weibin,et al.Design of smart home system based on the wireless MCU CC2510[J].Journal of Hechi University,2008,28(5):50-55.
[4]许文庆,郑美容.基于Android的智能手机应用开发的研究[J].现代计算机,2012(8):55-57.Xu Wenqing,Zheng Meirong.Research on smartphone application development based on Android[J].Modern Computer,2012(8):55-57.
[5]张元亮.Android开发应用实战详解[M].北京:中国铁道出版社,2011:20-32.
[6]毕卫红,陈 鑫.基于GSM的智能温室监测系统[J].电子测量技术,2009,34(3):114-116.Bi Weihong,Chen Xin.Greenhouse monitor system based on GSM intelligent[J].Electronic Measurement Technology,2009,34(3):114-116.
[7]陈 琼.基于无线网络的自动跟踪式光伏发电站监控系统[D].杭州:浙江大学,2010.Chen Qiong.Automatic tracking PV monitoring system based on wireless network[D].Hangzhou:Zhejiang University,2010.
[8]陈龙涛,罗桂娥,周 卫,等.基于ZigBee技术智能家居系统的研究与设计[J].微型机与应用,2010,29(20):100-102.Chen Longtao,Luo Guie,Zhou Wei,et al.Research and design of smart home system based on ZigBee technology[J].Microcomputer &Its Applications,2010,29(20):100-102.
[9]冯承金.基于Zigbee和ARM9的智能家居系统的研究与设计[D].武汉:武汉理工大学,2010.Feng Chengjin.Research and design of smart home system based on ZigBee and ARM9[D].Wuhan:Wuhan University of Technology,2010.
[10]周怡窹,凌志浩,吴勤勤.ZigBee无线通信技术及其应用探讨[J].自动化仪表,2005,26(6):5-9.Zhou Yiwu,Ling Zhihao,Wu Qinqin.ZigBee wirele communication technology and lnve tigation on it application[J].Process Automation Instrumentation,2005,26(6):5-9.