智能开关照明控制系统中的上位机软件设计闵丽娟,卢捍华,王亚石(南京邮电大学物联网学院,南京210003)摘要:为了对智能开关照明控制系统中的设备进行灵活地配置和管理,设计一种上位机软件。介绍智能开关照明控制系统的系统框架,根据控制关系灵活配置的要求,提出一种新的通信协议SSLPT,用于协调上位机与主控单元、节点设备之间通信。在软件的界面功能实现过程中采用统一建模语言进行分析和设计。实验结果证明了该上位机软件方法的可靠性和稳定性。关键词:智能家居;开关照明;无线通信;上位机;统一建模语言DesignofHostComputerSoftwareinSmartSwitchLightingControlSystemMINLi-juan,LUHan-hua,WANGYa-shi(CollegeofInternetofThings,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China)【Abstract】Inordertoconfigureandmanagethedevicesflexiblywhicharepartsofsmartswitchlightingcontrolsystem,hostcomputersoftwareisdesigned.Thestructureofsystemisdescribed,SmartSwitchLightingProtocol(SSLPT)isproposedforcoordinatingcommunicationbetweenhostcomputeranddevices,thesystemisdesignedusingUnifiedModelingLanguage(UML).Experimentalresultsshowthereliabilityandstabilityofthesoftware.【Keywords】smarthome;switchlighting;wirelesscommunication;hostcomputer;UnifiedModelingLanguage(UML)DOI:10.3969/j.issn.1000-3428.2011.22.097计算机工程ComputerEngineering第37卷第22期Vol.37No.222011年11月November2011·开发研究与设计技术·文章编号:1000—3428(2011)22—0290—04文献标识码:A中图分类号:TP181概述近年来,物联网成为全球关注的热点领域。作为物联网中一种重要应用,智能家居的概念也逐步被大家认可和接受。智能家居涉及到的内容包括家庭安防、家电控制、开关照明控制、信息服务、日常生活服务等[1-2],其中开关照明控制系统主要是通过远程或者遥控的方式对家庭内部的各种设备进行开关控制。受控设备包括冰箱、空调等家电设备,以及开关电源、继电器、温度传感器、烟雾传感器、红外传感器等电子设备,这些设备都可以通过家庭网络连接起来,查询它们的状态、以及接收指令。按照组网方式进行分类,家庭网络可以采用有线方式或者无线方式进行组建。Zigbee是近年来发展起来的一种短距离无线通信技术,具有近距离、低功耗、低速率、低成本等特点[3],该技术与开关照明控制系统相结合,能够提供灵活的组网方式,较好地实现无线控制信号的传送[4]。国内已有不少研究人员对基于Zigbee技术的开关照明控制系统进行了探索和研究。文献[5]提出一种以Zigbee技术为基础的智能家居系统设计方案,对各种传感器的信息进行采集、传输和控制,并通过上位机的串口收发功能接受数据,实现系统的监测与控制。文献[6]通过Internet和手机2种远程控制方式与家庭网络联网,并通过上位机系统软件完成室内灯光及家电的本地控制和状态显示。文献[7]提出一种可以通过Web页面上的按钮开关进行远程控制的方案,该系统不仅可用于智能家居系统中的灯光控制,也可用于智能建筑的灯光控制。文献[8-9]实现室内温度的监测,并通过上位机软件对异常温度进行报警。文献[10]介绍以智能手机为远程控制工具,以上位机为主控中心,利用第2代因特网对智能家电及各安防设备进行远程监控的方法。但是上述研究成果中,系统发送一次控制命令只能控制一个设备,或者同时控制一组设备,如果需要把被控的一组设备拆分成2组设备分别进行控制,或者在被控的一组设备中加入一个或多个设备形成一个整体来进行控制,都是非常困难的,因为这种控制关系是事先固化、无法灵活改动的。为对家庭设备的开关进行灵活控制,方便使用者的随意操控,降低系统的维护成本,增强系统的实用性,本文提出一种智能开关照明控制系统的上位机软件设计方法,该软件是整个控制系统的管理和控制平台,不但能够通过界面展示系统设备的当前状态信息,实现对设备的开关控制,而且还可以通过配置随意改变控制关系,不需要对家庭现有设备的内部控制程序进行改动,从而提高系统的灵活性、可维护性。2智能开关照明控制系统框架智能开关照明控制系统的框架如图1所示,由远程控制设备和家庭设备组成。在远端,用户可以通过互联网、移动电话、固定电话等不同的方式发送控制命令;控制命令由家庭网关接收,在经过命令解析后,根据系统内部定义的通信协议SSLPT进行转换并发送给主控单元;主控单元是Zigbee无线网络中的协调器,可以实现创建网络、管理网络节点、基金项目:国家自然科学基金资助项目(61003237);广东省教育部产学研结合基金资助项目(2010B090400168);南京邮电大学福富实验室基金资助项目作者简介:闵丽娟(1975-),女,讲师,主研方向:信息管理系统;卢捍华,副研究员;王亚石,助理研究员收稿日期:2011-06-10E-mail:minlj@njupt.edu.cn第37卷第22期291闵丽娟,卢捍华,王亚石:智能开关照明控制系统中的上位机软件设计存储网络节点信息、寻找网络节点间的路由消息、以及发送和接收消息的功能。图1智能开关照明控制系统框架家庭内部组建的Zigbee无线网络包括2类节点:(1)集成了无线通信模块的开关面板、调光面板、遥控器等可以发送控制命令的设备节点,本系统中统称为控制部件;(2)集成了无线通信模块用以接收命令的设备节点,包括家电设备、插座、灯光照明设备、以及各种传感器等,本系统中统称为被控部件。由于没有布线的要求,可以在房间随意移动和放置这些设备。上位机属于系统内部的配置管理中心,通过USB数据线与主控单元连接,并通过主控单元与Zigbee无线网络中的各类控制部件和被控部件进行通信。上位机上部署了控制软件,用以发送控制命令和配置系统参数,实现对Zigbee无线网络中各类设备节点的加入网络、退出网络的管理,以及定义控制部件与被控部件之间的控制关系。在本文系统中,控制部件与被控部件之间的控制关系,可以是一对多、多对一、或是多对多的控制。3上位机软件的设计与实现从技术角度来看,软件主要实现了2个功能:(1)上位机与主控单元以及Zigbee无线网络节点设备之间的底层通信;(2)上位机上层界面的设计开发。3.1通信协议SSLPT本文提出了一种基于智能开关照明控制系统的通信协议SSLPT,该协议起到协调上位机与主控单元、节点设备之间通信的作用,属于应用层协议。上位机软件在协议功能码中指出了请求的类型,再通过主控单元将协议发送给Zigbee网络中的各个节点设备,各节点设备进行解析,最终返回给上位机端所需要的状态信息。SSLPT协议的报文格式内容包括协议头、功能码、内容以及结束符,针对不同的应用场景,本文分成7种命令分别进行了实现。3.1.1SSLPT报文格式SSLPT报文格式包括以下内容:(1)设备发现请求。上位机软件在配置节点设备的绑定关系或者进行节点设备的开关控制之前,必须要查询家庭网络中部署了哪些节点设备。该报文由()DCH,T,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用1表示设备发现命令;E表示结束符,用$End表示。(2)设备发现响应。系统中的无线节点设备在接收到设备发现请求命令后返回该设备的相关信息。该报文由()DRH,T,R,DI,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用2表示设备发现响应;R表示发现的结果,{}R0,1∈,0表示设备发现成功,1表示失败;DI表示返回的节点设备的信息集合,1122DI(ID,T,ID,T,,ID,T)nn=L,其中,IDn表示第n个节点设备的设备标识,Tn表示第n个节点设备的设备类型,{}T0,1,2,3,4,5,6,7,8∈,其中,0表示开关面板;1表示调光面板;2表示遥控器;3表示温度传感器;4表示湿度传感器;5表示烟雾传感器;6表示光照传感器;7表示灯光设备;8表示插座,DI的格式为’%’+ID1+’%’+T1+’%’+ID2+…’%’+Tn;T、R、DI之间用’%’分隔;E表示结束符,用$End表示。(3)配置命令。本文通过上位机软件的操作界面配置家庭内部Zigbee无线网络中的控制部件与被控部件之间的控制关系、或者解除已配置的控制关系,该配置信息按照配置命令的格式发送给主控单元,主控单元以广播的方式发送给所有的Zigbee节点。配置命令由()BCH,T,FID,DO,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用3表示绑定配置命令;FID表示本次报文的功能类型,{}FID0,1∈,0表示请求绑定,1表示解除绑定;DO表示节点设备的集合,123DO(ID,ID,ID,,ID)n=L,n≥2且n为偶数,其中,ID1表示控制部件的设备标识;ID2表示被控部件的设备标识;ID3表示控制部件的设备标识;ID4表示被控部件的设备标识,依次类推,可以表示出控制部件与被控部件之间的各种复杂控制关系,DO的格式为’%’+ID1+’%’+ID2+’%’+…+’%’+IDn;T、FID、DO之间用’%’分隔;E表示结束符,用$End表示。(4)配置响应。系统中的无线节点设备在接收到配置命令后执行相应功能,任务结束后返回执行的结果。该报文由()RRH,T,ROID,C,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用4表示配置响应;ROID表示控制部件的设备标识;C表示响应的内容,{}C0,1∈,0表示执行成功,1表示失败;ROID与C之间用’%’隔开;E表示结束符,用$End表示。(5)控制命令。Zigbee无线网络中的被控部件可以接收控制部件或者上位机发送的控制命令,该控制信息由()CCH,T,FID,DOID,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用5表示控制命令;FID(FunctionID)表示本次命令的控制类型,{}FID0,1,2,3∈,0表示开,1表示关,2表示灯光调亮,3表示灯光调暗;DOID表示被控节点的设备标识;T、FID、DOID之间用’%’分隔;E表示结束符,用$End表示。(6)设备状态查询命令。上位机软件可以查询家庭网络中部署的各种传感器节点当前感应的的数据,例如通过温度传感器查询房间温度。查询命令由()QCH,T,DOID,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用6表示设备状态查询命令;DOID表示执行该功能的节点设备标识;T、DOID之间用’%’分隔;E表示结束符,用$End表示。(7)查询响应报文。各种传感器节点的当前感应信息通过无线节点设备传送给主控单元,由主控单元发送至上位机,在上位机操作界面上显示结果。该消息由()SRH,T,ROID,C,E表示,其中,H表示协议头,用$Pro表示;T表示功能码,用7表示返回查询的结果;ROID表示响应对象的设备标识;C表示响应的内容,例如当前温度;T、ROID、C之间用’%’分隔;E表示结束符,用$End表示。3.1.2SSLPT的交互过程本文分别针对设备绑定配置过程和设备控制场景,分析了报文的流转。(1)配置场景的绑定主控单元加电后,按照Zigbee通信协议搜索无线网络中292计算