基于ZigBee的智能窗系统的设计
2018-12-06揭晶方张伟
揭晶方 张伟
摘 要:针对当前智能家居系统需要不断补充完善的现状,以及人们对高品质生活的向往,文中设计了一种基于ZigBee无线传感网络的智能窗系统。该方案以ZigBee网络实现感知层设计,采用树型拓扑结构构建了低功耗物联网智能窗系统。从系统总体设计、网络架构、ZigBee节点和ZigBee协调器的软硬件设计以及通信协议方面阐述了设计要点,实现了对窗户的环境监测以及远程控制功能。该系统为智能家居系统构建提出了一种组网简单,功耗低,数据传输可靠性高的远程控制方案。
关键词:智能窗;ZigBee;ARM;远程控制
中图分类号:TP39;TN915 文献标识码:A 文章编号:2095-1302(2018)08-00-03
0 引 言
物联网技术的进步推动着人们对智能家居系列产品需求的增长。无线通信技术的选用极大程度上决定了产品的性能优劣,而ZigBee技术相比蓝牙、WiFi等具有网络容量大、传输安全性好、功率低等优点[1],适用于智能家居系统。
本文旨在设计一种基于ZigBee的智能窗系统,能够实时根据风雨、雾霾情况实现自动开关窗户,方便用户使用终端APP控制窗户,并实时查看窗户的开闭状态。从现实意义上看,本品不仅可以提高用户的生活质量,更与人们日益增长的生活需要相契合。
1 系统总体设计
系统框图如图1所示。智能窗系统由五部分组成,分别为用户访问平台、智能窗云平台服务器、网络服务器、ZigBee协调器和终端节点。用户访问平台指移动客户端,用户可通过客户端实时查看室内外环境参数并控制窗户开闭。智能窗平台服务器实现客户端对智能窗的远程控制指令和环境参数的处理与传输,并将数据信息保存在数据库中。网络服务器负責将ZigBee网络中的数据与以太网进行通信。ZigBee协调器负责终端节点和网络服务器之间的数据交互。终端节点分为采集节点和控制节点,利用传感器采集窗外环境数据,并通过传感器网络进行短距离数据传输。人体红外传感器节点、烟雾煤气检测节点、光照采集节点、温湿度采集节点、风速检测节点、粉尘检测节点等均为采集节点。控制节点指电机控制节点,用来控制窗户开闭。同时一个ZigBee协调器负责多个房间不同窗户的终端节点。本系统支持上下双向数据传输。由感知层至应用层时,首先通过各传感器来采集窗外温湿度、粉尘浓度、光照强度、风速等信息数据,利用ZigBee无线技术来完成数据从传感器到嵌入式网关的传输,再通过3G/4G/有线宽带网络并依据TCP协议,完成数据从嵌入式网关到Web服务器的传输,对数据进行分析并形成信息在安卓客户端显示。由应用层至感知层时,移动客户端通过互联网发送指令至智能窗云平台服务器,经由3G/4G/有线宽带网络,将用户指令发给嵌入式网关进行通信协议转换,最后由ZigBee网络传送到电机节点,从而控制窗户开闭。
图1 系统总体设计
该系统方便数据上下行传输,具有安全性好,功耗低,组网简便等优点[2],符合智能家居的设计要求且节能环保。
2 系统网络架构设计
本系统网络架构包括终端节点、路由器、协调器、网络服务器、云服务器五部分。协调器用于开启网络、广播网络信息,是连接终端节点和网络服务器的一个透明中继。终端节点负责采集数据、收集指令,采用两跳与协调器进行双向无线通信。路由器用于转发终端节点和协调器之间的数据。由于实际应用需要,常在某一个房间里布置ZigBee协调器。考虑到要与分布在不同房间窗户上的终端节点进行通信,而ZigBee通信穿透性较弱[3],安装在不同房间窗户上的ZigBee节点在传输数据到协调器所在房间时由于信号要穿过墙壁,导致丢包率增大,因此采用树型拓扑结构。ZigBee协调器作为树型结构的根节点,汇聚不同房间路由器传送的数据。每个房间中设立一个路由器用于转发此房间里终端节点和协调器间的数据,从而克服ZigBee穿透能力差的缺点,降低丢包率。树型拓扑结构具有如下优势:
(1)路由器能有效降低传输丢包率[4];
(2)网络架构相对简单,易于扩展;
(3)网络响应速度较快;
(4)方便维护。
本系统协调器与网络服务器通过RS 232串口连接,网络服务器接入互联网,与智能窗云服务器通过3G/4G/有线宽带网络,依据TCP/IP协议建立通信链路。
3 系统平台设计
3.1 系统硬件设计
文中设计的智能窗系统硬件由服务网关和终端节点两部分组成。
3.1.1 终端节点设计
在硬件选择上,出于低功耗的考虑,选取TI公司设计的CC2530单片机作为终端节点的主控芯片[5]。
终端节点分为采集节点和控制节点,其硬件结构框图如图2所示。采集节点由传感设备、主控芯片、电源模块和射频天线组成,用以采集窗内外环境的数据信息,并将数据上传给ZigBee协调器。控制节点由控制设备、主控芯片、电源模块和射频天线四部分组成,负责执行ZigBee协调器下发的控制指令来控制智能窗的开闭。
3.1.2 服务网关设计
作为嵌入式系统的核心,网络服务器的选择要有综合性能、可靠性、功耗、成本等方面的考量。因而采用TI公司生产的AM335x作为主控芯片,它在性能上完全可满足家庭网关处理的需要[6]。ZigBee模块采用CC2530作为主控芯片,作为协调器与网络服务器经由RS 232进行数据传输。
服务网关结构框图如图3所示。服务网关由主控芯片、RJ 45接口、3G/4G模块、电源模块、CC2530协调器、射频天线六部分组成。家庭网关主要负责实现外部网络和家居无线网络的数据交互。其中ZigBee网络由ZigBee协调器负责组建,网络建立后,收集来自采集节点的数据并通过RS 232实现与主控制器的数据交互,通过RJ 45接口或3G/4G模块将家庭网络接入Internet,实现远程监控。
3.2 系统软件设计
智能窗系统软件由终端节点软件部分、ZigBee协调器软件部分和通信协议等组成。终端节点软件部分解决与ZigBee协调器数据的交互问题,ZigBee协调器软件部分解决与网络服务器的数据通信问题,通信协议的设计使得数据能准确、可靠地传输。
3.2.1 终端节点软件设计
终端节点上电初始化后,搜寻并加入协调器所建立的网络,入网成功后开启串口接收函数[7],然后开始轮转等待主机命令。当接收标志位完成后,根据数据帧类型判断数据来自采集节点还是ZigBee协调器。若数据来自采集节点,则将数据打包添加帧头、帧尾、数据长度以及两位CRC校验位,然后通过ZigBee无线网络发送给ZigBee协调器;若数据来自ZigBee协调器,则通过ZigBee无线网络将数据帧发送给控制节点,然后将数据帧解帧,将帧头、帧尾、数据长度、两位CRC校验位拆除,节点采用串口通信模式,将解帧后的数据发送给控制模块,电机根据数据位内容采取对应的操作。当终端节点未接收到数据时,进入低功耗模式并继续监听等待。图4所示为终端节点软件设计流程图。
3.2.2 ZigBee协调器软件设计
系统运行时,ZigBee协调器主要负责启动网络、维持网络正常工作以及收集终端采集节点的数据并通过串口与网络服务器通信。ZigBee协调器上电初始化后,根据设计好的参数建立ZigBee无线网络,建网完成后开启串口接收函数,系统开始轮转查询是否有数据传入。当接收标志位完成后,根据数据帧类型判断数据来自智能窗云服务器还是终端节点。若数据来自云服务器,则将数据打包添加帧头、帧尾、数据长度以及两位CRC校验位,然后通过ZigBee无线网络发送给终端节点;若数据来自终端节点,则将收到的数据进行解帧,将帧头、帧尾、数据长度、两位CRC校验位拆除,再通过3G/4G/有线宽带网络将数据发送给云服务器,云服务器收到数据后再实时推送到移动客户端上,与用户交互。ZigBee协调器流程如图5所示。
3.2.3 通信协议的设计
本文根据系统实际需要设计了6种类型的通信帧,分别为上行数据帧、上行应答帧、上行信息帧、下行应答帧、下行控制指令帧、下行配置指令帧。其中上行数据帧是采集节点向云服务器发送的窗内外环境数据信息。上行应答帧是终端节点执行指令情况的反馈帧,云服务器可以从此帧知道终端节点是否正确执行了指令。上行信息帧表示将采集节点实时的工作状态发送给智能窗云服务器,从而反映采集节点是否正常工作。下行应答帧是云服务器收到终端节点信息的反馈帧,终端节点可由此知道数据是否正确传给了云服务器。下行控制指令帧表示云服务器向控制节点发送的控制指令。下行配置指令帧表示云服务器配置采集节点数据采集的频率和控制节点开关的状态。通过对不同功能通信帧的制定,数据交互更具稳定性和准确性。
同时,为了保证通信正常准确的进行,必须设计出合理的数据帧格式,帧内数据按16进制方式存储。数据帧的组成部分包括帧头、数据长度、数据区、校验位和帧尾,其中数据区由数据类型、窗户ID、设备类型、设备ID、有效数据5个部分组成,格式见表1所列。帧头表示此数据帧采用串口通信协议,同时作为是否接收此数据帧的标记,表示为0xEE,占用一个字节。数据长度指数据区的字节数,此标志对数据个数进行识别,以确保数据的准确性,占用一个字节。类型是信号帧的识别标志,分为方向位和数据类型位,占用一个字节,其格式如图6所示。
图6 类型格式
方向位包括上行和下行,数据类型包括数据帧、信息帧、应答帧、控制指令帧、配置指令帧五种。方向位和数据类型位的组合,可实现6种不同类型的通信帧的表示。窗户ID表示一个窗户的编号,占用2 B。设备类型表示帧结构要发送到的终端节点的设备类型编号,占用2 B。设备ID表示对应终端节点的编號,占用8 B。有效数据表示帧中要传送的有用数据,长度不定。校验位是对传送数据(除去帧头和帧尾外的所有字节)的校验码,接收方通过辨别校验位来检验是否接收了准确的数据,占用2 B。帧尾表示帧信号的结束,由0xFF表示,占用1 B。
4 结 语
本文设计的智能窗系统选用ZigBee技术组建传感器网络,并通过3G/4G/有线宽带网络传输方式使家庭网关能接入Internet,实现云服务器和终端节点的通信。用户只要能接入网络,便可以登录客户端,远程实时监控家庭环境、控制窗户开闭。文中从系统总体设计、网络架构、软硬件设计以及通信协议等方面做出了详细分析和研究,能达到对窗户进行远程控制以及对窗内外环境进行监控的目的。
参考文献
[1]徐振福.ZigBee技术在智能家居系统中的应用研究[D].北京:中国科学院大学,2014.
[2]马磊.基于CC2530的无线数据远距离通信模块的设计[D].合肥:安徽大学,2013.
[3]马广胜,冯玉田.基于ZigBee无线传输技术的发展和抗干扰性能的分析研究[J].电子技术与软件工程,2014(2):54-55.
[4]虞月.基于物联网的机场噪声监测平台及组网研究[D].南京:南京航空航天大学,2012.
[5]鲁玉军,刘振.ZigBee技术在智能家居系统中的应用[J].物联网技术,2017,7(4):40-43.
[6]刘群,过其峰,杨建旭,等.基于AM335x通信网关装置的设计与实现[J].计算机应用与软件,2017,34(9):170-173.
[7]周岭松,余春暄.基于ZigBee技术的温、湿度控制系统[J].电子测量技术,2011,34(6):47-50.
[8]刘蔚柯,吕燕敏,张昆伦.基于物联网的小区天气反馈调节智能窗户系统设计[J].物联网技术,2016,6(12):57-59.