基于ZigBee的智能家居监控系统的设计
2013-05-11霍娟娟侯建军张海静
霍娟娟,侯建军,张海静
(北京交通大学 电子信息工程学院,北京 100044)
随着国民经济的飞速发展,人们生活水平的提高,家用电器设备也在不断增多,对其进行智能化的研究势在必行。
据估测,每个家庭需要100~150个ZigBee设备联网各种家用电器。ZigBee技术可以改善居住环境的舒适度,特别适合儿童、老年人和残疾人使用,带来极大的便利,在真正意义上实现智能家居[1]。
本文提出了一种基于ZigBee技术的家庭网关无线接入方案,该方案以CC2430和ZigBee2006协议栈为基础建立家庭无线子网,用户通过运行在PC机上的主控软件对家庭网络中的节点进行数据采集和设备控制,经过性能测试表明,系统稳定可靠,具有广阔的应用前景。
1 系统概述
1.1 系统结构
系统总体结构如图 1所示。
图 1 系统总体结构
1.2 系统工作过程
(1)通过ZigBee无线网络通信协议,无线终端将板载设备的运行状态和传感器数据连续不断地发送到ZigBee无线网络协调器。(2)协调器将接收到的各无线终端数据进行集中并通过串行接口发送到上位机。(3)PC端软件与协调器的串行口通信数据协议对接,对数据进行解析、分类和分页面管理,并将各终端信息进行显示。(4)当用户想要改变某个电器的运行状态时,只需通过控制平台发送下行命令,即可将指令发送到协调器中,经过解析后判断出命令意图,然后向该电器所在的无线终端发送控制指令进行相应操作,并更新电器运行状态。
1.3 ZigBee简介
ZigBee 技术是一种近距离、低功耗、节点容量大、扩充灵活的双向无线通信网络技术。几种短距离无线通信技术的性能比较如表 1[2~3]所示。
表 1 几种短距离无线通信技术的比较
ZigBee适用于自动控制和远程控制领域,可以嵌入各种设备。它的信号收发时间很短,设备搜索时延一般为30 ms,休眠激活时延15 ms,这些因素决定了其低功耗特性,ZigBee节点的工作时间长达6个月~2年[4]。另外,相对于常见的无线通信标准,ZigBee协议栈紧凑简单,只需要8 bit处理器和4 kbit ROM,64 kbit RAM等就可以满足其最低要求,从而极大地降低了芯片成本。因此,选择ZigBee技术构建智能家居的家庭子网是一种较优方案。
2 系统硬件设计
智能家居监控系统的硬件主要是构建ZigBee无线网络的工作节点模块。系统硬件设计根据智能家居监控系统的低成本,低功耗,易于组装,控制方便,易于扩展的设计要求,采用ZigBee开发板作为无线网络的节点,并以此为基础构建ZigBee无线家庭子网。
无线网络节点硬件结构如图 2所示。
图 2 无线网络节点硬件结构
每个节点模块的结构相同,由主控板(CC2430)和底层板(STM 32F103)组成。主控板主要完成节点加入到ZigBee网络中的无线数据收发功能,它与底层板通过串行接口通信完成二者之间数据交互等功能。底层板面积较大,便于配置可控设备和传感器,其主要任务是完成对这些传感器的数据采集和接收CC2430控制指令对可控设备进行相应操作。而主控板上的无线收发模块负责各节点之间的通信。
3 系统软件设计
3.1 网络节点间的通信过程的软件设计
ZigBee网络节点之间的通信采用基于ZigBee2006协议栈实现,该协议栈是一个建立在IEEE802.15.4标准基础上的短距离无线网络协议。ZigBee2006协议栈将CC2430的底层驱动全部固化在协议栈中,可以直接调用,增强了软件的可靠性并缩短了软件的开发周期[5]。
在本系统中,网络间的通信主要指终端节点将自身数据发送到协调器以及接收来自协调器的控制指令[6]。终端节点只要将数据整理成包后进行发送即可。而终端节点对接收到的控制指令较为复杂,首先进行命令解析,判断是否发送给本节点,如果不是,则按照指令进行转发,到达目的节点。目的节点主控芯片CC2430判断控制指令的控制对象在主控板还是在底层驱动板,如在主控板则直接进行控制,如果在底层驱动板,则需进一步向STM 32F103发送控制指令。协调器指令执行过程如图 3所示。
3.2 数据采集和底层驱动程序的软件设计
(1)对于传感器,STM 32F103只需要正确采集相应数据,计算出具体数值,通过串口发送给CC2430即可,不需要接收任何反馈。
(2)对于可控设备,STM 32F103首先接收CC2430发送过来的控制命令码,解析后对设备进行相应操作,同时,STM 32F103需要实时的向CC2430报告各设备的运作情况。
图 3 协调器指令执行过程
底层板程序设计流程如图 4所示。
图 4 STM 32F103底层板程序流程图
3.3 PC主控软件的设计
PC端主控软件是家居监控系统的操作核心,用户通过该软件实现对智能家居系统内部的各项环境数据的实时监测和对各无线节点设备的实时控制。主控软件采用MFC设计完成。软件功能结构如图 5所示。
图 5 PC主控软件架构图
设备是否在线是对设备进行控制的根据,也是获取准确数据的可靠保证,而网络拓扑图有利于用户分析家居的组网状态,级联次数少的节点灵敏度高,反之越低,因此用户可以根据网络结构进行节点调整,实现节点灵敏度与家居控制相协调。
系统运行后,每个节点上线后会向协调器进行报告,捕获这个报告后将相应的节点终端显示为在线。掉线监控的算法则较为复杂,因为节点掉线是瞬间的,并不会向网络发送任何信息。采用“强迫掉线监控法”来实现掉线监测,程序设计结构如图 6所示。
图 6 强迫掉线法程序流程
4 系统应用功能展示
基于mFC的PC应用软件是智能家居系统的应用核心,用户通过该软件实现对智能家居系统内部的各项环境数据的实时监测和对各无线节点设备的实时控制。
4.1 三维的用户界面
三维立体空间模拟真实的家居环境如图 7所示,空间模型中的顶灯,要打开或关闭,只需要用鼠标点击即可。
同样的,将传感器设备展示在模型内部,当点击其所在区域时,系统显示相应传感器实时数据。
4.2 传感器历史数据查询
图 8所示功能为传感器历史数据查询,图中波形显示了家中温度、气压、光照和湿度的数值变化,根据这些信息,可以直接了解室内环境变化情况。
图 7 智能家居三维模型
图 8 传感器数据波形
4.3 无线网络拓扑自动获取
这个应用可以自动获取智能家居的网络构成,可以观察各终端是否在线,以及它们不同的级联方式。组网信息会定时刷新,动态显示各终端的上线和掉线,方便监控,如图 9所示。
图 9 智能家居网络拓扑图
5 PC软件稳定性与可靠性分析
在W indow s XP环境下,运行PC软件的可执行文件,经过长达15 h的现场测试,软件运行可靠,未发生内存泄露,系统崩溃和软件运算灵敏度降低现象。软件性能指标如下:
(1)串行通信口接收数据波特率115 200,数据稳定可靠。
(2)网络拓扑图页面的刷新频率为2次/s,具有良好的实时性。
(3)智能家居页面与板载设备控制页面通信正常,数据保持一致。
(4)传感器波形刷新频率为2次/s,数据波形有效且具有良好的实时性。
(5)传感器历史数据的存储最大条目数可达20 000条。
以上分析表明,建立在PC端的主控软件满足了系统对稳定性和可靠性的要求。
6 结束语
本文介绍了基于ZigBee无线网络的智能家居系统的实现方法,阐述了系统总体结构、硬件结构和软件流程,并展示了功能应用,对PC主控软件的性能进行了测试。该系统可扩展性强,通用性好,成本低且稳定可靠,支持用户定制的系统功能应用,可以用于现代家居管理,高校实验室布置和仓库管理等大场地,具有较强的实用性。实验系统中无线传感器采用2节容量为200 mAh的5号电池,经测试,正常工作时间均超过6个月,满足低功耗要求。
[1] 齐胜涛, 刘翔宇.国内外智能家居的研究现状及可实现的功能分析[J].科技信息,2011(33):12-13.
[2] 金 纯,罗祖秋,罗 风,陈前斌.ZigBee 技术基础及案例分析[M].北京:国防工业出版社,2008:321-339.
[3] ZigBee A lliance. ZigBee specifi cation[S].IEEE 802.15.4,2004 .
[4] 李文仲,段朝玉.ZigBee无线网络和定位系统基础[M].北京:北京航空航天大学出版社,2008.
[5] 倪敬飞.ZigBee2006协议栈的实现及其应用[D].苏州:苏州大学,2009.
[6] LIU Yaju, CAI Zhenjiang, ZHANG Li. The design of ZigBee wireless sensor network node based on RFCC2430 [J]. Control& Automation,2007,23(22):167-168.