王勋
摘 要:随着物联网技术的发展,网络化的火灾探测系统相比较传统的有线探测系统有着低成本、安装方便、高稳定性等突出的优势,因此,本文以CC2530芯片为整个无线网络的核心处理器,利用ZigBee短距离无线传输技术将传感器中的物理信息做数字化处理,再由无线网络通过路由节点向协调器发送,最终数据传送给相应的上位机,以便进行相应数据运算和处理,从而实现森林火灾的预防和报警。
关键词:ZigBee;火灾探测器;无线传感器
中图分类号:TP311;TN92 文献标识码:A 文章编号:1673-260X(2021)08-0043-05
0 引言
据不完全统计,森林火灾全世界每年平均发生20多万次,烧毁森林面积约占世界森林总面积的千分之一以上;而中国每年平均发生火灾1万多次,烧毁深林多至上百万公顷。2020年3月30日,凉山州西昌市经久乡和安哈镇交界的皮家山山脊处发生森林火灾,这起森林火灾造成参与火灾扑救的19人牺牲、3人受伤,各类土地过火总面积3047.7805公顷,综合计算受害森林面积791.6公顷,直接经济损失9731.12万元[1]。
森林火灾由于监控区域非常大,通常多为偏远地区,道路交通不便,发生火灾的原因较多,传统的有线火灾报警装置成本高、布线难、灵敏度低等问题,基于这些问题,本文设计了一款基于物联网技术的远程无线监控森林火灾探测器来实现对森林火灾的预防和监控。
1 物联网技术研究
1.1 物联网技术
物联网技术是指将各种智能与非智能的终端设备,通过射频识别等信息传感设备与互联网连接起来,来实现设备与互联网之间的信息传送,从而达到对终端设备的实时监控、定位查询、报警联动、调度指挥、远程控制。
1.2 基于物联网的几种无线通讯技术
无线通讯技术是指多个节点不经由任何导体或线缆传播进行通讯的技术,通常无线通讯是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式[2]。
常见的无线通讯技术主要有Wifi、蓝牙、移动通讯和ZigBee技术等几种模式。Wifi无线通讯技术是一种通讯距离较短,功耗较大,传输速度最快的无线通讯技术,适用于办公室办公、家用通讯等[3]。蓝牙无线通讯技术相较于其他几种通讯技术,传输距离最短,功耗较高,通讯速度适中,造价低,适用于短距离便携性通讯。移动通讯技术是这几种通讯技术中通讯距离最长、功耗适中,传输速度适中的长距离移动通讯技术,适用于便携电话等无线传输场合。ZigBee无线通訊技术是这几种技术中功耗最低,可靠性较高、造价最低的无线通讯技术。根据本文森林火灾探测器对系统的控制要求,选用可靠性较高、功耗较低且成本较低的ZigBee无线通讯技术最为合适[4,5]。
1.3 ZigBee技术简述
ZigBee是一种短距离无线通信技术的一种,可以译为“紫蜂”,广泛应用于无线传感器技术中。ZigBee的产生主要是为了弥补蓝牙技术在组网规模较小、功耗较大和成本较高的不足,因此ZigBee技术更加适合传感器网络、工业控制等场合。
ZigBee的技术特点:
(1)低功耗:可长时间处于待机模式,若选用常用5号干电池供电,两节干电池就可为其提供一年左右的电量;
(2)低成本:模块成本较低,协议免费,并且可以附加多个控制节点;
(3)高可靠性:加入碰撞避免机制,可以有效提高传输可靠性。
基于上述特点,本文设计了一种基于ZigBee通信技术实现户外防火节点,利用单片机、无线传输和传感器三种技术,可根据火灾产生的火焰,和烟雾浓度等信息判断是否有火灾发生,通过无线传感网络第一时间将火灾地点信息等发送给消防部门,以达到第一时间控制火情,减少公共财产以及个人财产的损失,实现对火灾实时控制。
2 系统总体设计
本设计依据ZigBee的技术标准及其技术的特点,设计了烟雾、温度和火焰等传感器节点,ZigBee的协调器节点以及控制中心构成的基于ZigBee的防火监控系统,其总体构架如图1所示。
ZigBee作为整个系统的核心技术,运用簇状网络的结构用来实现数据之间的消息传达。利用ZigBee的无线传输、低功耗和低成本等特点,解决传统防火装置的高成本、布线难等问题。不仅如此,本系统网络设计相应的上位机与之配套,极大的提高了监控效率。
整个系统最主要的任务是对环境中的温度,烟雾,火焰信息进行采集分析,当所监控环境中的某个信息指标高于主机设置的范围时,启动警报,上位机接收处理数据的同时,主机将所有警报节点触发的警报原因、测定值和当前时刻写入数据库的警报履历表中,方便实时调取查看。上位机收到报警信息后,及时报警,并显示报警位置,提醒相关人员。
3 系统硬件设计
基于物联网技术的火灾报警系统硬件设计部分主要可以分为3各部分,传感器节点部分,路由节点部分和协调器节点部分。其中传感器节点通常是由传感器、无线通信模块和处理器组成,其主要的作用是将环境中的温度、火焰和烟雾等多方面环境信息参数采集到一起,并与路由节点进行通信的作用,属于系统的感知部分;路由节点的作用是将传感器节点中采集的数据与协调器节点进行信息交互的中间环节,属于系统的骨干部分;协调器节点部分主要负责收集传感器节点的信息,并将信息传输给系统上位机进行分析处理,另一方面,协调器节点部分还负责ZigBee无线传感器网络的建立,属于组建网络的核心部分。同时,为了能够使得系统正常运行,还需要相应的电源管理等部分。
3.1 ZigBee芯片和传感器节点部分
3.1.1 ZigBee芯片
按照IEEE 802.15.4协议的要求,市面上常见的芯片有TI公司的CC2530、Freescale的MC3192、Ember的EM2420等,其中市场份额较大、芯片价格和能耗相对较低的、应用相对较广的是TI的CC2530芯片[6]。
CC2530芯片是TI公司推出,其包含了高性能的收发器RF,广泛用于ZigBee应用的一款高性能片上系统,在工业、医疗等方面普遍运用。为了降低运行功耗,增加工作时各功能模式的转换效率,CC2530采用了高度集成的开发环境。
从CC2530最小系统图可以看到,CC2530集成了21个数字输入输出端口,因此在传感器节点设计部分,可以扩展更多的传感器来实现更精确的测控。
CC2530的最小系统是由外部晶振、电源,电阻等元件构成。如图2所示为CC2530的最小系统。
CC2530片上有两种不同频率的晶振,本设计所选用的振荡频率为32MHz,振荡器XTAL1和两个负载。在芯片使用的过程中会产生噪声0,若想消除噪声则需用适当的电源去耦消除,系统为获得最佳的性能,应用时需要遵循TI提供的参考设计,考虑电源滤波器和去耦电容的尺寸及位置。阻抗匹配器及共鸣箱、谐振荡器等原件组成了报警装置电路,将报警电路与CC2530连接后,当系统中的烟雾传感器或者火焰传感器和温度传感器中有任一传感器采集的数据超过了CC2530中的预设值上限时,蜂鸣器将通过输入/输出端口从CC2530模块发出高电平,以控制其发出警报。
3.1.2 ZigBee传感器节点设计
ZigBee传感节点是整个防火系统的重要组成部分,传感器节点在整个无线传感网络中的主要作用是采集传感节点的环境等信息,并将这些信息以数字量的形式通过无线网络,将信息发送给协调器的相应节点,起到了数据采集以及信息的传递的作用。在整个无线传感器网络中CC2530是整个无线传感网络的片上系统,CC2530结合了射频收发器,它适用于2.4GHzIE802.15.4的射频,通常只用一个晶体振荡器就可保证网状网络系统的正常运作。
本系统所需的传感器模块有温度、可燃气体和火焰传感器三种,其中用高精度模拟输出的DHT11温湿度传感器作为温度传感器,在产品出厂前温度传感器的数字信号就已经对其进行了出厂设置,由于其具有较强的稳定性、较高的能耗和超长的信号传输距离,因此广泛用于各类温度需求场合。DHT11四引脚排针简化了与外界设备连接,其工作电压为3-5.5V,传感器通电后,需要等待1s才能从不稳定状态中恢复过来,在此期间不需要发送任何指令,在其使用过程中会产生滤波,为消除滤波带来的干扰可将100nf的电容加在电源引脚之间。
烟雾传感器采用MQ-2,其工作的原理是MQ-2中四个引脚是跟着烟雾浓度一起变化的,将这四个引脚与比较器中的两个引脚相连接,其中Rp组成了比较器的电压的最大值和最小值,当传感器检测到环境中的烟气浓度超过所设置的最大值时led灯报警;反之,当烟气浓度低于所设置的最小值时,输出高电平,led熄灭。
火焰传感器采用JNHB1004,在其周围存在760nm至1100nm范围内的红外光都可被其检测到,检测过程中其探头应远离火焰,避免接触火焰,以防损坏火焰传感器。其测量原理是将外部红外光的变化转化为电流的变化,从而在电阻中产生电压,电压范围为0~5V。若传感器周围产生火焰时,火焰传感器会探测到周围环境中的红外强度的变化,火焰产生的红外光越强,红外传感器内部的输出电阻值越小;同理若火焰产生的红外光越弱,红外传感器内部的输出电阻值则越大,因此可根据红外传感器内部产生的电阻输出值的大小来判断环境中红外光的强弱,从而判断其所在环境中是否有火灾发生。
3.1.3 电源电路设计
由于火灾发生的不确定性,涉及的范围广,地形较为复杂,为了保证火灾探测的準确性和可靠性,通常会在火灾易发地区布置大量的传感器节点,一般根据防控环境,如户外防火,选用普通的干电池或者太阳能蓄电池来解决布线难的问题;如是楼宇室内防火,可以选用有线供电的方式来保证传感器节点的续航问题。本设计选用两节普通干电池来实现节点供电。
3.2 路由节点和协调器节点部分
3.2.1 路由节点
路由节点是整个无线传感器网络的中间环节,一般负责整个网络数据的转接,同时,由于路由节点的加入,还可以极大的提高整个传感器网络的覆盖面积,在监控区域较大的场合,路由节点是必不可少的。此外,路由节点也可以实现同传感器节点一样的环境信息采集功能,节省了布控额外的开支。从硬件设计角度,路由节点也包括了ZigBee芯片CC2530、传感器模块和电源等外围电路,硬件设计保持不变。
3.2.1 协调器节点部分
协调器节点是整个无线传感器网络的中心环节,是所有无线信号的汇聚地,其主要作用是将路由节点和传感器节点中采集的环境数据有秩序的收集到一起,再将整理后的数据通过传输速率更快的无线网络,例如WIFI或GPRS等传输给上位机,以便进行相应数据运算和处理。此外,协调器节点还需要承担传感器节点和路由节点的网络建立,以实现数据的下发和采集。
4 系统软件设计
系统的软件设计为C编程,整个编程环境是建立在Z-Stack协议栈的基础上的,编程程序软件我们用到IAR8051。系统的框架包括由协调器和传感器两部分构成。当协调器上电后就开始自动组网,传感器节点在组网后自动寻找加入网络。协调器节点的主要功能就是接收传感节点发来的的数据,再将此数据经由无线网络发送给上位机。需要注意的是传感节点只能单向的发送数据,它不具备接受数据的功能。
4.1 Z-Stack简介
简单的说ZigBee协议栈的具体化就是Z-Stack,有类似于ZigBee协议栈的功能,用户可以通过协议栈接收到来自无线网络发来的数据。Z-Stack集不同层的协议聚在一起,以功能的形式体现,同时为用户提供应用层。
系统初始化,需要对硬件和软件两部分架构分别进行系统初始化。初始化完成后,执行代码的启动命令,再进行系统操作的准备工作,即关闭相应的中断和系统的初始化。对电源电压等状态是否异常进行检测,配置I/O口,显示屏初始化等其他硬件的初始化。其流程如图3所示。
执行操作系统,代码启动是在给系统执行做准备,在准备工作完成后,才可对系统的程序进行执行操作。系统将会自动更新,代码如下:
osal_start_system();//NoReturnfromhere
该函数一旦执行不会返回,是一个死循环,由于单片机本身本应尽量避免死循环程序,在本设计中引入的操作系统抽象层OSAL以保证系统工作的实时性。在操作系统抽象层中,提出程序优先级处理的概念,即为移植OSAL的一系列库函数和API(其中包括任务的注册、任务的同歩、任务信号量、中断处理、内存拷贝及存储和定时器),在进入操作系统前初始化一系列的任务事件并为每个任务事件确定相应的优先级。如果同时有几个事件发生,判断优先级,先处理优先级高的事件,然后逐次处理,这种软件构架可以极大地降级系统的功耗。Z-Stack系统运行流程图如图4所示。
4.2 IAR软件操作
IAR软件最大的优势就是可以直接使用TI公司提供的协议栈Z-Stack进行开发,只需要调用API接口函数,也即使用IAR时直接打开目录文件就可以直接查看协议栈上的HAL与APP层的文件夹分布,并且协议栈网络可以实现复杂的网络链接,并具有一定的储存功能。
4.3 协调器节点软件设计
为了满足协调器节点为实现相应功能的需求,在应用层定义了一个样本应用,其功能可实现用户层的通信和数据传达。用户任务对串行、无线两种通信事件和睡眠事件进行了定义,通过串口实现与上位机的通信;各个节点间的通信形成了事件的无线通信,单点传输解决了了协调器与节点通信的问题。协调器与终端之间形成了单一的通信途径,每个节点在入网后都会有一个地址信息,通过这个地址信息协调器才可与终端进行通信。数据传输遵循响应数据传输的机制,且接收器只会接收确认标志设置为1的帧。若在一段时间过后仍旧没有响应,说明节点采集出现了错误。协调器节点软件设计流程图如图5所示。
(1)初始化串口等功能。由osal_init_system()等函数完成其相应的初始化。
(2)是通过扫描频带中的信道建立新的网络。信道扫描过程由媒体访问控制模块完成。
(3)建网,当扫描信道成功后建立网络。
(4)数据的接收,在节点成功加入网络后,整个传感网络进入监测状态。协调器调用SampleApp_MessageMSGCB函数用来处理节点信息,如果接收到的簇ID是samlappap_point_to_point_clusterid,则向串行端口执行字符串函数haluarttwrite(0,&pkt->cmd.data[0],14)。如果接收到的簇ID是samlapapp_flash_clusterid,则执行协调器的led灯操作haledlink(hal_led_4,4,50,(闪光时间/4))。
4.4 传感器节点软件设计
传感器节点的作用主要是采集所在周围环境中的数据,如烟雾传感器就是负责采集环境中的烟雾数据,当传感器数据采集完成后,将数据发送到协调器。协调器也会将相应的命令回传给传感器节点。采集数据的周期是每3秒采集一次,除此之外传感器均保持在休眠状态。传感器节点软件设计流程图如图6所示。
绑定传感器节点与协调器节点。操作如下:
(1)调用osal_init_system()、initlcd()、haluartinit()等各种函数来对系统等功能初始化。
(2)当节点搜索到有网络了以后,为了表达传感器节点是否发现网络,网络层会把它收集到的信息以反馈的方式传达给传感器节点。
(3)為实现数据的发送和接收,调用ZDP-EndDeviceBindReq()函数实现传感节点和协调器节点的绑定。
(4)传递信息,要对相应的编号做记录和排序等,sampleapp_taskid是为传递的信息做登记的函数。sampleapp_aa_periodic_msg_evt是给相关事件做排列的,sampleapp_send_periodic_msg_timeout用来记录相关信息的发送以及接收的时间的。
4 结论
本文设计的森林火灾探测器以CC2530芯片为核心处理器,将传感器采集的数据通过ZigBee无线通讯技术传输到协调器节点,协调器节点再将数据发送给上位机,上位机经过数据运算处理从而实现对火灾的报警。基于物联网技术的森林火灾探测器研究对保护森林资源起到至关重要的作用,对提高森林火灾的探测能力,及时消除隐患,具有很大的现实意义。
参考文献:
〔1〕郭帅.我国森林火灾地域分布特征[J].科技经济市场,2016,34(08):160-161.
〔2〕Zhu B H, Zhu D Q .Automatic Monitoring System for Forest Fire Based on Wireless Sensor Network [J]. Advanced Materials Research, 2013, 694-697: 1211 -1214.
〔3〕邱骏.基于ZigBee技术的智能家庭安防系统设计[J].电气自动化,2019,41(01):71-74.
〔4〕Garcia E M, Serna M A, Bermudez A, Casado R, Simulating a WSN-based Wildfire Fighting Support System[C]. IEEE International Workshop on Modeling, Analysis and Simulation of Sensor Networks(MASSN08), Sydney, 2008:896-902.
〔5〕陶冶.基于ZigBee的森林火灾预警系统的设计与实现[J].计算机应用,2011,31(02):209-211.
〔6〕叶慧坤.无线传感器网络及其在林业中的应用[J].福建林业科技,2009,36(03):251-255.