罗礼幸,梁文豪,方翰腾,陈桂滨
(肇庆学院电子与电气工程学院,广东肇庆 526061)
2020 年11 月13 日广东省肇庆市羚羊峡发生山火、2021 年1 月21 日广东省深圳市南山区南山街道大南山发生山火。由此可见,时至今日,山火依然频发。森林火灾具有损坏面积大、损失严重、难以控制等特点,严重威胁现有森林资源。所以研究森林火灾的预防对策是新形势下的要求,可以有效保护森林[1]。目前,森林火灾的防护措施主要采用人工巡视、视频监控和卫星遥感的方法。人工巡视的成本高且观察范围小、容易受天气情况影响[2];视频监控成本较高、数据冗余、容易出现监控盲区[3];卫星遥感成本高、容易受天气状况影响[4]。相比上述三种森林火灾防护措施,系统可以及时获取到森林中的各项环境数据,并且分析可能发生火灾的区域,发现火灾后及时报警,防患于未然,更早发现森林火灾,及时报警、及时补救,能更好地保护森林资源[5]。
本系统的功能由Zigbee 单元、监测控制器和协调器共同实现[6],Zigbee 单元通过无线局域网络把相关监测数据传输至协调器[7];协调器通过串口将无线局域网络的数据传输至监测控制器;云端接收监测控制器通过4G 网络发送的信息。系统总体架构如图1 所示,系统包括硬件部分和软件部分。
图1 系统总体架构
Zigbee 单元结构图如图2 所示。Zigbee 单元通过搭载温湿度、烟雾、一氧化碳和火焰传感器,实现对周围环境相关信息的收集,并通过无线局域网络传输到监测控制器。Zigbee 单元传输的信息包括周围环境的温湿度、烟雾、一氧化碳、火焰的信息和该单元编号。
图2 Zigbee 单元结构
Zigbee 是一种标准,该标准定义了短距离、低传输速率无线通信所需要的一系列通信协议[8]。远距离、低速率、低成本、低功耗是它的特点。它可以实现Zigbee 单元传Zigbee 单元的方式,这样可以增大Zigbee 无线局域网络的通信范围。此外,Zigbee 无线局域网络的灵活性好,如果Zigbee 单元与网络的连接断开,Zigbee 单元可以再连接进入网络,不会出现一旦断开就不能连接的情况。在森林环境中设备难以维护,所以需要长期工作、功耗要尽量低,而且系统要尽量覆盖森林。相较于传统的蓝牙通信、Mesh 通讯,Zigbee 单元数可达上万[9],而且Zigbee 的通讯功耗低,更加适合林区防火系统的建设。
2.1.1 处理芯片
本系统采用CC2530 集成芯片以实现读取和传输环境信息的功能[10]。该芯片具有中断、睡眠和唤醒功能,能有效地降低功耗,而且芯片的价格低,能以很低的成本建立Zigbee 网络。此外,该芯片内部集成了增强型工业标准8051MCU,拥有系统可编程Flash、8KB RAM 和UART、SPI、DMA 等诸多强大外设功能;这使它成为建立无线局域网络的不二之选。
2.1.2 温湿度检测模块
SHT20 模块的特点是测量温湿度的范围广、精度高,而且采用IIC 通讯,抗干扰能力强,在被水浸没的情况下也能工作。此外,一个产品的价格只在20 元左右,成本低,而且它的占用空间小,方便在处理芯片上搭载,所以该产品符合在森林环境中工作的需要[11]。
2.1.3 烟雾检测模块
MQ-2 是专门检测烟雾气体的工具,而且其他气体难以对它产生干扰,它可检测浓度范围为100~10000ppm。它一旦检测到高浓度的烟雾,数字输出端口输出低电平,否则输出高电平。
2.1.4 一氧化碳检测模块
MQ-7 的内部材料选用二氧化锡,是专门检测一氧化碳气体的工具,可检测多种混杂一氧化碳的气体[12]。它一旦检测到高浓度的一氧化碳气体,数字输出端口输出低电平,否则输出高电平。
2.1.5 火焰检测模块
利用红外线探测以判断是否发生火灾是火焰传感器的原理,其探测角度可达60°。它一旦探测到火焰,模块数字输出端口输出低电平,否则输出高电平。
2.1.6 电源模块
本系统采样3 节18650 锂离子电池作为电源,该电池漏电率低且容量大,特别适用于没有电能供应的森林环境。此外通过LM2596 稳压模块将输入电压稳定在5V,确保系统处于稳定供电状态。
监测控制器的主控芯片是STM32F103ZET6,协调器通过串口与监测控制器进行通信,监测控制器通过4G 模块将环境数据上传至云端。
2.2.1 STM32F103ZET6
STM32[13]芯片专为低功耗、高性能、低成本的嵌入式应用设计,时钟频率高达72MHz;拥有包括:USB、IIC、SPI 等多种外部设备,功能强大,芯片运行速度快。而且其中断功能强,有中断优先级的划分。该芯片能搭配多种传感器、通讯模块、摄像头等工作,储存、驱动能力强。
2.2.2 4GDTU 通信模块ATK-M751
模块利用4G 网络进行通信,支持移动/联通/电信接入方式;适用多种通信协议;支持连接多种云服务器(如:原子云、阿里云、百度云和OneNET);支持自动定时采集任务、基站定位、自定义心跳包和注册包数据;支持上位机/AT 指令/短信/透传指令配置参数。它以高速率、低延迟和无线数传作为核心功能,适用于森林环境中的数据上传要求。比传统的GSM 数据传输、3G 模块传输有着更佳的使用功能、通讯速度、带宽以及稳定性。AT 指令是STM32 主控制器和4G 无线模块之间进行通信的标准与规则,STM32 主控制器采用AT 指令控制4G 无线模块传输数据。4GDTU 模块通过TTL 串口与STM32F103 单片机进行通信,将STM32F103 单片机采集到的传感器信息发送给远程云服务器。
CC2530 采用IAR 编译环境。IAR[14]编译环境是一个用于嵌入式开发的工具集,与其他ARM 开发环境相比,IAR 软件容易掌握、受众广泛、使用方便、功能完整,包含的全软件的模拟程序,这使用户不用进行硬件的配置就能模拟ARM 内核以及外部设备的软件运行时候的环境。
ZIgbee 无线局域网络组网过程如图3 所示:协调器建立新的网络,是新建网络中的第一个设备,然后等待其他单元加入网络请求,如果是新的单元请求加入就给该单元分配网络地址,如果不是新的单元,则调用相关的处理函数[15]。
图3 Zigbee 组网过程流程
监测控制器以STM32 为主控芯片,编译环境为Keil5。KeiluVision5 是使用C 语言的嵌入式开发工具,区别于汇编语言,C 语言在程序的功能结构和代码的可阅读性和后期维护上都有显著优势。
系统的工作模式有:正常模式、休眠模式、预警模式、警报模式,在不同的情况下以不同的模式运行。
(1)正常模式:Zigbee 单元每30min 采集一次环境数据,并且将采集的数据上传。
(2)休眠模式:Zigbee 单元在没有采集数据任务时进入休眠模式。休眠模式减少了系统的功耗,让系统可以在电量有限的情况下持续工作更长的时间。休眠模式是指Zigbee 协议栈休眠,其他各个传感器依然正常工作,若休眠状态下传感器检测到周围环境数据异常则马上唤醒Zigbee 单元,将环境数据上传。只有终端单元和路由单元能进入休眠模式,协调器需一直保持工作状态。
(3)预警模式:若系统分析出采集的数据异常,则进入预警模式,异常Zigbee 单元自动减少采样周期,然后采集环境数据10次,若这10 次数据都正常则异常的数据为偶然误差,否则系统进入警报模式,即发生森林火灾。
(4)警报模式:各个Zigbee 单元减少采样的周期并且一直处于工作状态,不断将森林环境数据上传。系统能实时收集森林火灾发生时森林的环境信息。以此分析火灾的走向,为扑灭火灾提供帮助。
系统运行过程:Zigbee 单元周期性地采集周围环境的温湿度、烟雾、一氧化碳和火焰信息,然后通过Zigbee 网络将信息传输到监测控制器中,监测控制器将接受到的环境信息通过4G 网络上传到云端,云端对环境信息进行汇总分析。若Zigbee 单元分析出信息正常,则进入休眠状态;否则进入预警状态,单元自动缩短采样周期,迅速采集10 次信息,若这10 次信息都正常则恢复正常状态,否则进入警报状态,说明发生山火,Zigbee 单元不断将信息上传,不能休眠,为后续工作提供协助。
系统实物图如图4 所示。
图4 森林火灾实时监控系统实物
5.1.1 SHT20 温湿度监测模块
SHT20 温湿度检测模块测量得出的温度与温度计测量得出的实际温度进行比较,从而判断温湿度检测模块是否正常工作。
由图5 可看出温度计测出的实际温度为26℃,由图6 可看出SHT20 温湿度检测模块测量的温度为25℃或26℃,湿度变化范围不超过3%,湿度度误差偏差很小;SHT20 和温度计测量的温度相差较小,表明模块测量得出的温度误差不大,温湿度检测模块正常工作。
图5 温度计测量实际温度结果
5.1.2 火焰检测模块
图6 SHT20 温湿度传感器模块测试结果
当火焰检测模块异常时,数字输出端口输出低电平,正常情况下数字输出端口输出高电平。测试方案如下:将打火机置于火焰检测模块探头约50cm 处,然后点燃明火;火焰检测模块探测到明火时数字输出端口由高电平变成低电平,Zigbee 单元外部中断触发,串口输出Open fire found。
由图7 可知,当打火机点燃明火时,串口输出Open fire found,表明火焰检测模块发现明火。
图7 模块单独测试结果
5.1.3 一氧化碳检测模块和烟雾检测模块
MQ-7 和MQ-2 检测到异常气体时,数字输出端口输出低电平,正常情况下数字输出端口输出高电平。测试方案如下:将打火机置于模块附近,按住打火机开关放出气体但不点燃气体,模块检测到异常气体时触发外部中断,串口输出The concentration of carbon monoxide is too high,即检测到异常气体;串口输出The concentration of smoke is too high,即检测到异常气体。
由图7 可知,当打火机放出气体时,异常气体的浓度都过高,模块也做出对应的响应。
表1 监测控制器正常测试结果
表2 监测控制器异常测试结果
由表1 可知,采集的数据都是正常的,说明系统正常运行;表2 中Zigbee 单元2 和Zigbee 单元3 采集的一氧化碳数据是异常的,Zigbee 单元2 采集的火焰数据是异常的,还有Zigbee 单元5的烟雾数据是异常的。
本文从硬件和软件设计对系统进行介绍,最后对系统进行测试。系统能实时监控森林的环境信息,并且能在火灾发生时迅速响应,在森林防火中具有广泛的使用价值。本系统具有功耗低、实时性好、能长时间稳定运行等特点。此外,可以在云端搭建可视化界面,让数据显示更加直观,此方案的研究有待进一步探索。