林火蔓延在很大程度上依赖于风速等环境条件。无线风速监测系统的设计可以帮助研究人员有效的获取林区内的风速,辅助预判火灾蔓延趋势,从而采取相应的灭火措施。本文基于STM32单片机处理逻辑,采用GPRS传输实时凤速数据给服务器,服务器系统使用SOCKET监听汇聚过来的数据,处理并存储数据到数据库。上位机采用基于NODEJS后台、bootstrap前端框架构建出风速监测系统。
《工程设计学报》(双月刊)创刊于1994年,是由浙江大学、中国机械工程学会主办,浙江大学出版社出版的学术性国际合作科技期刊。多年来一直得到国家自然科学基金委员会、德国机器制造协会(VDMA)的资助。
1 背景及意义
森林火灾的发生是突发性的、随机性的,并且能在较短时间内造成重大损失,且难以扑灭,常常有火灾延续几天甚至十几天的情况,造成了严重的经济和环境破坏。因此如果有林火发生,就需要在短时间内反应并进行灭火,灭火能否迅速,措施是否科学,非常重要的原因是对林火行为的预测是否准确和及时。为此国内外都在研究相关防火预测等技术,旨在减少和控制林火的发生和蔓延[1]。
近百年来,为了研究林火的燃烧特性和蔓延机理,人类使用各种方法,借助有效的手段不断尝试探索,以试图获得可靠有效的预测方法,从而减少林火导致的损失。但由于受当前测控技术制约,林火蔓延机制研究的难点是森林火场参数的实时监测与获取[2]。
林火在很大程度上依赖于风速这样的环境条件。因此,需要一种有效的森林环境监测系统。基于物联网的风速监测结点的设计可以帮助研究人员有效的获取森林区内的风速,从而有效的判断火灾可能发生的地点、火灾强度,以及火灾可能的蔓延趋势,最终使森林火灾发生的概率降到最低[3]。
本研究设计基于嵌入式平台,使用STM32单片机处理逻辑,结合SIM900A GPRS模块,将数据通过GPRS传输给服务器系统,服务器系统使用SOCKET监听采集点发过来的数据,处理后,存储到数据库。上位机系统,采用基于NODEJS后台、bootstrap前端框架设计风速监测管理系统。
2 系统设计
风速监测系统,通过结合风速采集设备,微处理器技术,GPRS(General Packet Radio Service)网络通信,组成数据采集端,实现风数据的采集以及实时传送。通过服务器NodeJS后台,Mysql数据库,组成服务器端,实现采集数据的处理和存储。通过HTML,CSS,JAVASCRIPT技术,实现数据的实时、准确的展示。
风速监测系统,需实现实时、准确的数据传输 ,为了保证数据传输的可靠性,系统的数据采集端将使用TCP/IP协议进行数据传输,服务器端将使用NodeJS的SOCKET类实现TCP/IP以监听,同时使用HTTP实现与客户端的交互。客户端,客户端浏览器端通过HTTP获取数据以显示。
2.1系统功能框架
风速监测系统由数据采集端、服务器端和客户端三个部分组成。监测系统功能框架如图1所示。数据采集端负责风速数据的采集、处理和无线传输,由风速采集设备、微处理器控制单元、GPRS通信单元三个部分组成。 风速采集设备是一个风扇,通过转动,产生电压,传入微控制器。风扇转动的速度和风速成正比关系,而风速转动的速度和电压,亦是正比关系,由此可通过风扇转动产生的电压值达到监测风速的目的。
图1 系统功能框架
微处理器控制单元为STM32F103,它基于ARM Cortex-M3,具有高性能、低功耗、低成本等特点。风速采集设备产生的电压值,通过STM32的ADC通道,进行模数转换,得到具体的电压值。GPRS通信单元采用SIM900A,是一款面向工业级、紧凑型的双频GSM/GPRS模块,具有性能稳定,性价比高的特点。STM32将转换好的电压值,通过串口,传给SIM900A,SIM900A将传来的电压值通过GPRS,以TCP/IP协议传给服务器端[4] [5]。
3 系统硬件设计
风速监测系统的硬件设计,主要由以下四个部分组成:数据采集设备,微控制器,GPRS模块,电源模块。数据采集端硬件结构框图如图2所示。
(1)数据采集设备
我们采用一个微型风扇设备,风吹动风扇转动,产生电压,微控制器获取风扇转动产生的电压。数据采集设备,为一带扇叶的直流电机。风吹动扇叶转动,带动电机转动,产生直流电压,电压便是用以监测风速的关键值。将直流电机两极接入STM32开发版的ADC口,这样便即时获取风转动产生的电压值。通过ADC读取数据。STM32F103ZE拥有3个ADC,这些 ADC 可以独立使用, 也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。 它有18个通道,可测量16个外部和2个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中[12]。
(2)微控制器
本系统采用STM32F103型号单片机作为处理器,结合ADC进行数据的采集、接收和GPRS模块的连网、数据传输。微控制器采用意法半导体推出的STM32F103ZE芯片,其内核为ARM公司的高性能Cortex-M3,Cortex-M3 采用 ARM V7 构架,不仅支持 Thumb-2 指令集,而且拥有很多新特性。较之 ARM7 TDMI,Cortex-M3 擁有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势。
(3)GPRS模块
选用SIMCom公司推出的SIM900A作为GPRS无线通信模块。 SIM900A是一款双频段GSM/GPRS无线模块,可工作在GSM/GPRS 850/900/1800/1900MHz频段,工作电压在3.1V到4.8V之间,通过AT命令控制 (GSM 07.07 ,07.05 and SIMCOM 增强AT命令集),内嵌TCP/IP协议,可编程进行GPRS拨号上网,实现Intemet网络通信[6][7],SIM900A通过串口与单片机连接。GPRS模块运行的稳定性直接关系到数据采集端与服务器端之间建立通信链路和数据通信的可靠性,也关系到整个系统运行的稳定性。
(4)电源模块
系统GPRS模块提供12V电压,STM32单片机工作电压为3.3V。
4 客户端软件设计
服务器端有三大部分,监听采集端、原始数据处理,数据库,数据处理服务,如图3所示。监听采集端、原始数据处理部分负责数据采集端的数据接收、处理、存储,使用NodeJS实现,引用了NodeJS的net和mysql等模块,用以实现socket监听,并将接收的数据存到数据库中 [10]。数据库为MYSQL,一个关系型数据库管理系,用于存储原始数据和处理后的数据。数据处理服务,用来与客户端浏览器进行交互,使用NodeJS实现,引用了mysql模块,编写相关客户端的请求路由,完成与客户端浏览器的HTTP通讯[8-9]。
客户端,即浏览器,通过HTML,CSS,JAVASCRIPT实现数据的显示。使用bootstrap前端框架、dygraphs图表插件、Jquery库,实现折线图展示,如图4所示。
5 结论
本文设计风速监测管理系统,STM32单片机,将数据通过GPRS传输给服务器,服务器系统使用SOCKET监听采集点发过来的数据,处理并存储到上位机系统数据库。采用基于NODEJS、bootstrap前端框架构建了风速监测管理系统。
参考文献:
[1]孙成健. 森林火灾监测预警系统研究[J]. 科技展望, 2015(17).
[2]姜文龙, 刘楷鹏, 韩宁,等. 基于北斗卫星通信的森林火灾监测系统[J]. 吉林师范大学学报(自然科学版), 2015(3):84-87.
[3]杜广洲. 应用“3S”技术、网络技术组建凌源市森林防火预警、监测指挥系统[J]. 防护林科技, 2015(9):84-86.
[4]滕守明,鲁奕,李响.基于STM32芯片及CAN总线在汽车上的应用[J].无线互联科技,2013,3
[5]王海民,王宏志. STM32以太网控制系统[J].长春工业大学学报(自然科学版),2014,1:60-65
[6]谢玮, 夏水斌. 基于GPRS的远程电力计量监测系统的研究[J]. 科技与创新, 2016(19):86-87.
[7]朱文娟, 吕春光. 基于GPRS的远程监控系统设计[J]. 信息系统工程, 2016(2):21-22.
[8]李长才, 肖金球, 張少华. 基于STM32的风速监测系统设计[J]. 微型机与应用, 2016, 35(6):91-93.
[9]骆文亮. Node.js服务器技术初探[J].无线互联科技,2014,3:227-227
[10]吕敏. 基于STM32的风速风向测试系统设计[D]. 西南交通大学, 2011.