基于ZigBee的火灾检测报警系统设计

2018-09-26 10:18吴妍史梦阳曹欣泉杨啸尘
无线互联科技 2018年14期

吴妍 史梦阳 曹欣泉 杨啸尘

摘 要:文章采用TI公司的CC2530为MCU,以Z-Stack协议栈作为软件平台,提出了一套基于ZigBee的火灾报警检测系统的设计方案,该系统具有火灾信息的自动采集和实时信息查询功能,并将协调器接收到的数据通过串口发送给电脑。实验结果表明,系统可以达到预期设计目标,并具有结构简单、功耗低、性能好和体积小等优点。

关键词:ZigBee;Z-Stack协议栈;CC2530;火灾检测系统

现有的火灾报警系统,大多采用有线的方式建立传感网络。这种组网方案有扩展性能差、布线繁琐、不美观等弊端。采用无线传输的方式构建传感器网络可以解决以上问题。近几年来开始兴起的ZigBee技术可以非常好地承担上述无线传输的任务。再者,将人工智能的相关技术应用于ZigBee网络中,可以进一步提高火灾检测报警系统的可靠性、稳定性。

1 关于ZigBee

1.1 ZigBee概念

ZigBee是一种完全符合IEEE802.15.4标准的无线通信网络协议。短距离、低传输速率、低功耗和较高的传输可靠性是它最具代表性的特点。该协议所定义无线网络主要工作在868 MHz,915 MHz和2.4 GHz等3个频段。特别适用于较远距离信息传输和自动控制方面。

1.2 ZigBee的特点

1.2.1 高可靠性

对无线通信而言,电磁波在传输过程会受到多种因素干扰,故无线通信系统在数据传输过程中有不可靠性。ZigBee联盟的专家们在制定规则时早已考虑到在数据传输过程中存在不稳定性,他们采取了一系列的措施来提高数据传输的可靠性,其主要包括:运用CSMA-CA技术解决数据收发的冲突问题;使用CRC校验法确保数据可以准确的传到目的地址;在总体逻辑结构方面,采用星型拓扑结构保证数据可以通过不同传输路径从源地址到达目的地址。

1.2.2 低价格、低功耗

目前TI公司推出的兼容ZigBee 2007协议的SOC芯片CC2530,每片价格在20~30元。我们只需要在芯片外围搭一个滤波电路,再接一个PCB天线,一个简易的ZigBee网络节点就制作完成。因为其工作周期短、收发信息功率低,经常会转入休眠模式,所以使用两节5号电池就可以支持普通的ZigBee网络节点工作1~2年,但不同的应用对应的功耗不同。

1.2.3 高安全性

在安全性方面,用户可以采用AES-128加密技术对传输的数据进行加密。

1.2.4 低传输速率

一般的无线通信系统对数据的安全性、可靠性、功耗和成本方面都有特殊的要求。因此,目前的无线通信系统去了协议还不能够很好地满足以上要求。

2 系统总体方案设计

系统总体结构如图1所示,传感器节点将检测到的所有有关火灾的信息通过ZigBee无线通信网络发送到数据集中节点;数据集中节点将接收到的信息进行数据融合处理,根据预先设定的有关规則进行决策;然后把数据集中节点将传感器信息以及决策信息通过串口发送到计算机上位机并进行显示。

从网络节点逻辑功能上看,ZigBee设备可以分为终端节点(end point)、路由器(router)、协调器(PAN coordinator)。根据设备的工作特点划分,有可分为全功能设备(Full Function Device,FFD)、半功能设备。全功能设备可以扮演无线通信网络中的任何一种角色,而半功能设备只能用作终端节点。再从逻辑结构上分,数据集中节点在ZigBee网络中应该充当协调器;传感器节点是终端节点。一个ZigBee网络最多可支持65535个节点,完全能够满足一般用户的需求。

3 硬件设计

每个ZigBee节点的硬件部分都主要由3个模块构成:传感器模块、无线通信模块和辅助功能模块。传感器模块主要负责采集数据;辅助功能模块可以实现供电、串口收发等功能;无线通信模块是本系统的核心,包括微控制单元和射频收发单元,具有数据处理和数据收发的功能。其结构如图2所示。

主要微控制单元使用由TI公司生产的CC2530的8051内核芯片,内部包含2.4 GHz的射频系统,是世界上少有的适用于ZigBee协议的真正意义上的片上系统SOC的解决方案。以CC2530芯片为基础建立无线通信网络不仅只需非常低的硬件材料成本,而且该芯片还具有低功耗的特点。此外,CC2530芯片还配备有8 kb的RAM和系统内可编程闪存(Flash)等许多强大的功能。

4 软件设计

本系统的软件部分的开发主要依托于TI公司推出Z-Stack协议栈,它通过IAR开发环境来进行编程和下载。在IAR嵌入式系统开发软件中,Z-Stack协议栈已经被全部封装好。作为使用者,只需把主要精力用在应用层传感器程序的编写上。

4.1 协调器的软件设计

协调器是ZigBee网络的核心部分,它的任务是创建、管理和组织ZigBee网络,并且与其余的节点进行数据交换,通过串口把信息发送到电脑上位机,软件流程如图3所示。

4.2 终端节点的软件设计

终端节点的任务是采集温度、烟雾和火焰信息,并将这些信息发送至父节点(协调器),然后通过串口把数据传入电脑,对火灾信息实施监控。软件流程如图4所示。

开发者只需要将3种传感器对应的C语言代码写入Z-Stack协议栈的应用层文件(SampleApp.c)中,然后再对每一个传感器的代码加以匹配Z-Stack协议栈的数据发送函数,烧录到终端节点的CC2530芯片中,就可以实现传感器数据无线发送。与之相对应的,在协调器相关的程序中,则需要在应用层文件(SampleApp.c)中加入Z-Stack协议栈写好的接收函数,并写好传感器数据处理的相关算法。这样,在ZigBee网络中,就实现了协调器与终端节点间的数据收发以及火灾报警,实验现象如图5所示。

5 结语

通过实验我们可以得出结论,运用以CC2530芯片为主要控制单元的基于ZigBee的火灾情况检测报警系统,可以较为准确而稳定地进行火灾情况检测,并实现火灾报警的功能。