基于Zigbee与GPRS技术的森林火灾远程监测

2016-06-30 16:23张成研苏建欢覃伟年吴建勇
科技视界 2016年15期

张成研+苏建欢+覃伟年+吴建勇

【摘 要】森林火灾监测系统受到环境和地理位置的影响,存在通信数据线布线复杂和监测设备成本较高的问题。设计一种基于Zigbee无线传感器网络和GPRS技术的森林火灾监测系统,利用Zigbee无线传感器网络进行区域环境数据采集,CC2530与GTM900C组成远程数据传输模块,传输森林环境数据。该系统具有终端设备体积小、低成本、组网灵活等优点。

【关键词】Zigbee;GPRS;森林火灾监测

0 引言

森林火灾发生呈现突发性强、蔓延快等特点,直接威胁森林安全,给森林资源带来巨大破坏,因此,森林火灾的防治工作一直是各国关注的重点。

目前,主流的森林火灾监测系统主要分为三种类型:卫星监测、视频监测和人工巡防。卫星监测主要依赖气象卫星监测技术,对林区的气象信息进行监测,通过气象信息和卫星云图锁定火灾发生区域,这种技术主要是针对偏远地区森林,工作人员难以深入林区;视频监测是通过搭建视频监测云台对林区进行监测,适用于平原地区森林,这种技术往往对网络通信的要求较高,必须配置专用网线通信和红外摄像仪,其通信成本和云台搭建费用都很高;人工巡防则是在相对落后地区,利用眺望塔来对森林实时监测,凭借人工经验来判断火灾。

这些常用的监测技术存在成本较高、设备体积大等缺点,复杂的森林环境还会增加布线成本。新兴的无线传感器技术可以弥补这一缺点,Zigbee无线通信技术免除了布线费用,节约成本,另外Zigbee模块具有功耗低、设备体积小等特点。本文设计并实现了Zigbee无线传感器网络森林火灾监测系统,以GPRS作为远程通信方式,实验表明,能够稳定进行远程通信,实时监测森林环境信息。这种将PAN网络和GSM公用网络相融合的数据采集通信方式具有覆盖范围大、稳定性强、精度高和应用环境广泛的优势[1]。

1 系统总体设计

系统的总体设计框图如图1。从网络上来看,系统由Zigbee网络和GPRS网络组成。从硬件上来看,系统由终端传感器节点、路由节点、中心节点、上位机四个部分组成。

系统主要以Zigbee技术和GPRS技术为核心,利用无线传感器网络节点数量多、搭载传感器多的特点,又融合GPRS技术覆盖范围大并且可以远程通信,弥补了Zigbee只能短距离通信的弱点[2]。

2 各个智能节点设计

2.1 硬件设计

系统硬件主要分两种类型:终端采集节点和路由节点都具有数据采集功能,在硬件设计上采用同样的电路设计;协调器主要负责连接GPRS模块进行远程通信。由于协调器的主要进行数据转发,不需要配备传感器来加重控制芯片负担。

终端节点和路由节点的主控芯片采用由美国德州仪器公司生产的CC2530,单个CC2530芯片上集成有Zigbee射频收发器核心和一颗高性能8051控制器。CC2530片上资源丰富,只需要很少外围部件配合就能完成信号收发[3]。传感器采用数字温湿度传感器DHT11和烟雾传感器MQ-2,DHT11是常用的单总线传感器,数据的传输和控制命令的写入都是通过一根数据线完成,能够同时完成对环境温湿度的采集任务,DHT11数据线接入CC2530的P0.7引脚。MQ-2是烟雾传感器,其传输的是模拟信号,接入CC2530的P0.6引脚,通过CC2530内部的模数A/D转换模块,转换成数字量。图2是终端节点和路由节点的硬件设计图。

协调器的硬件设计也是基于终端节点设计,根据其自身功能,增加GPRS模块,GPRS模块采用华为公司最新生产的GTM900C芯片。协调器只负责Zigbee组网和数据GPRS传输,其硬件设计如图3,GPRS模块接入CC2530的UART0接口。许多设计都采用ARM作为网关控制芯片,而在本系统中显示和处理功能由上位机完成,所以控制芯片可以直接利用CC2530,能够进一步减小成本、控制硬件设备体积。

2.2 软件设计

CC2530采用Z-stack协议栈作为Zigbee的通信协议,该协议栈已经配备完善的物理层网络层等等,只需要对其应用层进行开发,大大缩短系统开发周期。

软件设计主要是终端设备上采集发送程序和协调器上的GPRS数据转发程序。路由节点在编译过程中定义为路由,自动开启路由功能。

Z-stack协议栈工作原理是轮询制度,终端设备的采集发送程序需加载在周期发送事件,具体步骤如下:

(1)注册发送事件#define TESTAPP_SEND_MSG_EVT 0x0002

(2)在初始化下定义DHT11接入口为输入模式,对MQ-2数据接口配置AD转换参数。

P0SEL &= 0x7f; //P0_7配置成通用IO

P0SEL &= ~0x40; //设置P0.6为普通IO口

P0DIR &= ~0x40; //P0.6定义为输入口

ADCIF = 0;ADCCON3 = (0x40 | HAL_ADC_DEC_064 | HAL_ADC _CHANNEL_6);

(3)定时发送事件。osal_start_timerEx(TestApp_TaskID, TESTAPP _SEND_MSG_EVT,TESTAPP_SEND_MSG_TIMEOUT );

(4)进入发生事件对应的处理程序。在处理程序中完成对传感器数据读取,数据存入和发送。AF_DataRequest()函数进行发送数据到协调器0x0000。ReadGasData()和DHT11()用户定义传感器数据读取程序。

协调器与GPRS模块采用串口通信,需要配置串口波特率等信息,GPRS模块的连接3G网络是通过AT指令进行,必须要对GPRS模块初始化连接网络。下面是具体程序流程:

(1)注册#define GPRS_INTI_EVENT 0x0001为GPRS初始化事件;

(2)若设备为协调器则触发GPRS初始化事件。if ( (TestApp_NwkState == DEV_ZB_COORD) osal_set_event(TestApp_TaskID,GPRS_INTI_EVENT);

(3)GPRS初始化的AT指令流程图4[4]。

(4)完成初始化后,对接收到的终端节点数据进行串口输出到GPRS模块,远程传输到监测中心。

HalUARTWrite(0,"AT%IPSEND=\"",11);HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);HalUARTWrite(0,"\"\x0D\x0A",3);

3 远程监测中心测试

3.1 上位机软件总设计

上位机作为整个系统顶层,必须完成通信、数据存储、火情分析、报警响应功能,具体上位机软件结构如图5。

上位机通过Socket通信技术来接收协调器通过GPRS传来的数据,串口通信连接GPRS模块用于火灾报警短信自动发送。数据库存储数据方便查询历史记录。报警程序分析环境数据判定是否报警。

3.2 Socket通信测试

上位机软件测试如图6所示,协调器能够自动完成GPRS初始化连接到远程上位机,能够实时显示数据,并且自动绘制温度曲线图,显示各个节点状态。整个连接是通过TCP通信协议,远程上位机作为服务端,协调器作为客户端,显示客户端的IP地址和连接情况。

3.3 火灾报警测试

在设置火灾报警参数后,对每个节点传来数据进行分析,判断是否超过报警值,如果达到报警的要求,则会在报警记录栏记录火灾节点和报警原因。图7 是报警界面。

3.4 历史数据查询测试

通过Socket接收的数据,对数据帧下的内容进行识别,保存到数据库下环境监测表。上位机ADO插件对数据查询,可以查阅历史数据。图8是数据查询测试图。

4 结论

本森林火灾报警系统采用Zigbee无线传感器网络和GPRS数据传输技术,利用VS2010平台,搭建上位机软件平台,快速地进行数据显示,能够查询历史数据,及时火灾报警。终端采用CC2530为核心的终端设备,具有体积小、成本低的优势,安装方便,节省综合成本。进一步设计可以增加多个Zigbee区域网络,可以实现大范围监测。初步测试结果表明,该方案各项基本功能基本实现,通信可靠。能够应用楼宇、仓库、社区等地区的火灾报警系统,具有广泛的市场前景。

【参考文献】

[1]李爱民,张峰.基于ZigBee/GPRS的温湿度智能监测系统实现[J].农机化研究,2015,03:108-111.

[2]张永梅,王凯峰,马礼,杨冲.基于ZigBee和GPRS的嵌入式远程监测系统的设计[J].计算机科学,2012,06:222-225+234.

[3]刘科峰,邓秀勤,刘志煌.基于ZigBee的多点温度监控系统[J].现代电子技术,2014,14:81-83+87.

[4]张成研.基于ZigBee与GPRS的通信网关设计[J].企业技术开发,2015,10:24-25+33.

[5]邓小蕾,李民赞,武佳,车艳双,郑立华.集成GPRS、GPS、ZigBee的土壤水分移动监测系统[J].农业工程学报,2012,09:130-135.

[责任编辑:杨玉洁]