森林在国民经济中占有重要地位,然而,森林火灾会给森林带来严重危害。但是,人类在制服森林火灾上,却依然尚未取得突破性的进展,于是在火灾还在萌芽状态立即扑灭它就显得尤为重要。因此推广森林火情监测系统具有非常中的价值和意义。
森林火情监控系统利用预设在森里中的各种不同功能的传感器节点采集各类森里环境参数,传输到上位机,利用信息管理软件,进行数据存储、显示、分析处理等操作,对异常情况进行预测和报警。
目前,我国还有部分的森林火情监控还采用兴建瞭望塔、建立视频监控等方式。因为森林火灾经常发生在人烟罕至的原始森林中,因此上述方式存在着诸多不足。鉴于此,提出了一种基于ZigBee+短波无线通信的森林火情监控系统。ZigBee是一种近距离通信技术,适合传感器节点的组网要求;短波作为一种远距离无线通信技术,在远程数据传输方面有着独到的优势。以上二者的优势互补,在森里火情监测系统中具有广阔的应用前景。
1 通信系统总体设计方案
整个系统由3部分构成,如图1所示。
1)ZigBee网络该网络中的ZigBee模块按功能不同,可分为End-Node和Coor-Node.End,是一种带有传感器的数据采集节点,采集并无线发送森林环境信息;Coor-Node的组成,用途。在单个网络内,所有的End-Node和Coor-Node节点按照ZigBee协议组成星型网络。
2)中继节点一个带有为控制器的网络中继节点,具有短波和ZigBee两种协议数据的转换能力,ZigBee模块部分接受ZigBee网络采集到的数据,经过处理后,通过短波数传电台传送送远程上位机监控中心,同时通过短波数传电台也能够从上位机获得各种控制和设置指令,并把这些指令传送到ZigBee网络,从而实现对对监测网络的设置。
3)上位机监控中心 上位机端,电台将接收到的模拟信号转化为数字信号,并数据由串口输入上位机的管理软件中,从而实现整个监测网络系统的设置和森林环境参数的显示、查询、存储等功能。
2 系统硬件设计
系统硬件设计有ZigBee网络的End-Node和Coot-Node节点与中继节点3部分组成。End节点采用XBee PRO 900XSC模块作为无线收发模块,Coot-Node节点采用ARM7+XBee PRO 900 XSC+Pt-205模块构成。中继节点采用Pt-205模块短波传输模块。以下分析Coor-Node节点的硬件设计方案。Coor-Node节点硬件设计框图如图2所示。
Coor-Node处在系统的中间层,既要与无线传感器网络进行通信,又要与通过数传电台与上位机监控中心进行数据交互,这就要求其具有较强的数据处理能力。基于此考虑,本设计方案选用了ST公司的STM32F103C8作为微控制器。STM32F103C8是基于一个实时仿真和跟踪的32位CortexTM-M3 core CPU的微控制器,并带有64 kB嵌入的高速Flash存储器。采用48脚封装、极低的功耗,多个32位定时器,2路12位的ADC、1个CAN总线以及多达7个的外部中断。
数传电台模块选用FY602型号的数传电台,载频433MHz ISM频段,无需申请频段,接口速率和信道速率可达到38 400 bps.干扰性强,接收灵敏度高,应用广泛。
ZigBee模块DIGI公司推出的新型XBP24-BWIT-004.250 kbps的数据传输速率。1 600 M的通信距离,支持AT和API命令集,工作频段为868/915 MHz.特别适合远距离的组网要求。
考虑到具体的硬件电路图设计比较繁杂,在此给出Coor-Node的节点的硬件设计框图,STM32F103C8是数传电台和ZigBee模块的中间层,通过两个串口分别连接数传电台和ZigBee,作为模拟电台数据和ZigBee数据的交互层,通过对其软件进行编程,实现两种网络数据的转化。
系统硬件设计主要以STM32F103C8为中心设计其外围电路,包括电源电路设计、时钟电路设计、复位电路设计,存储电路设计和接口电路设计等方面。
在Coor-Node电路板上因很多芯片的工作电压和电流不同,因此电源部分的设计非常关键。整个系统有外部的12 V的太阳蓄电池供电,而TM32F103C8的工作电压为1.8 V,I/O工作电压为3.3 V,数传电台的工作电压为4.5~5.5 V,ZigBee模块的供电电压为3.3 V,因此选择LM2576-5.0,MIC29302及AMS1117系列的电压转换芯片,得到各芯片相应的工作电压。电源部分的设计思想如图3所示。
相对电源部分,时钟电路和硬件复位电路的设计相对简单,时钟晶振采用12 MHZ的外部晶振电路,硬件复位电路采用MAX813复位芯片实现。由于TM32F103C8只具有64KB的片内Flash存储器和20 kB的SRAM,只能够满足系统的基本需求,有考虑到ZigBee子节点地址等相关系统参数的存储问题,所以外扩了一块8 MB的Flash和以一块32 k的Sram62256.
在外围设备接口电路方面,由于TM32F103C8和数传电台以及ZigBee模块均为串口连接,在电路设计方面简单可靠。TM32F103C8的程序烧写方式采用在系统(ISP),采用ST的ISP软件,设置完芯片的启动模式为system memory,即可通过串口和ISP软件来下载Bin文件。程序下载板主要由一块美信公司MAX3232电平转换芯片构成。其能够将PC串口标准(RS232)转转换为TM32F103C8串口TTL标准。
相比TM32F103C8,由于数传电台和XBee都是模块的封装,其外围电路设计比较简单。Xbee模块的串口与TM32F103C8的串口0直接连接。数传电台的串口与TM32F103C8的串口1直接连接。另外,在实际应用中,为了增加系统可视化,在硬件电路上增加数码管显示和LED指示灯,可通过数码管和LED的状态了解Coor-Node节点的运行情况,如与中继节点的连接,芯片正常工作,接受和发送森林环境参数等。
3 系统软件设计
系统软件设计分为4部分:XBee模块的单片机软件编程,Coor-Node的节点TM32F103C8软件编程,中继节点软件编程,上位机管理软件的设计。在此只介绍XBee模块的软件编程。XBee软件编程包括采集节点的XBee模块上的单片机编程和Coor-Node节点的XBee模块上的单片机编程。
Coor-Node节点的XBee模块上的单片机编程。Coor-Node节点的XBee模块在构建的星型网络中作为协调器,协议栈初始化,创建PAN CO-ORDINATOR,选择PAN ID和Coor-Node的短地址,选择空闲信道,启动网络,转发数据。协调器软件流程图如图4所示。
End-Node节点的XBee模块的编程,首先协议栈初始化,然后扫描信道发现网络中的协调器Coor-Node节点,通过相应的信道发送加入网络的请求,一旦Coor-Node节点接受了该设备,它将发送一个16位的短地址给设备,作为设备在网络中标识。
系统任务定时进行喂狗和向上位机发送心跳帧。定时喂狗可以在程序"跑飞"和"死锁"情况下实现自动复位:在数据上传间隔时间较长的情况下,定时发送心跳帧能够检测设备是否正常工作。
4 结论
以上提出了一种新的基于ZigBee和ARM的无线森林火情监测系统,有机结合了ARM高效的处理技术、短波灵活的远程数据传输技术和Zig Bee的低成本、低功耗等特点,经实验表明,该系统工作稳定,可靠性强,该系统在森林火情监测中有良好的应用前景。