陳凱奇++史蒙蒙++張福全++馬華章++楊緒兵++業(yè)巧林
摘要:林火蔓延在很大程度上依賴于風(fēng)速等環(huán)境條件。無線風(fēng)速監(jiān)測系統(tǒng)的設(shè)計(jì)可以幫助研究人員有效的獲取林區(qū)內(nèi)的風(fēng)速,輔助預(yù)判火災(zāi)蔓延趨勢,從而采取相應(yīng)的滅火措施。本文基于STM32單片機(jī)處理邏輯,采用GPRS傳輸實(shí)時(shí)鳳速數(shù)據(jù)給服務(wù)器,服務(wù)器系統(tǒng)使用SOCKET監(jiān)聽匯聚過來的數(shù)據(jù),處理并存儲(chǔ)數(shù)據(jù)到數(shù)據(jù)庫。上位機(jī)采用基于NODEJS后臺(tái)、bootstrap前端框架構(gòu)建出風(fēng)速監(jiān)測系統(tǒng)。
關(guān)鍵詞:STM32單片機(jī);SIM900A;NodeJS;風(fēng)速監(jiān)測
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)04-0202-02
1 背景及意義
森林火災(zāi)的發(fā)生是突發(fā)性的、隨機(jī)性的,并且能在較短時(shí)間內(nèi)造成重大損失,且難以撲滅,常常有火災(zāi)延續(xù)幾天甚至十幾天的情況,造成了嚴(yán)重的經(jīng)濟(jì)和環(huán)境破壞。因此如果有林火發(fā)生,就需要在短時(shí)間內(nèi)反應(yīng)并進(jìn)行滅火,滅火能否迅速,措施是否科學(xué),非常重要的原因是對(duì)林火行為的預(yù)測是否準(zhǔn)確和及時(shí)。為此國內(nèi)外都在研究相關(guān)防火預(yù)測等技術(shù),旨在減少和控制林火的發(fā)生和蔓延[1]。
近百年來,為了研究林火的燃燒特性和蔓延機(jī)理,人類使用各種方法,借助有效的手段不斷嘗試探索,以試圖獲得可靠有效的預(yù)測方法,從而減少林火導(dǎo)致的損失。但由于受當(dāng)前測控技術(shù)制約,林火蔓延機(jī)制研究的難點(diǎn)是森林火場參數(shù)的實(shí)時(shí)監(jiān)測與獲取[2]。
林火在很大程度上依賴于風(fēng)速這樣的環(huán)境條件。因此,需要一種有效的森林環(huán)境監(jiān)測系統(tǒng)。基于物聯(lián)網(wǎng)的風(fēng)速監(jiān)測結(jié)點(diǎn)的設(shè)計(jì)可以幫助研究人員有效的獲取森林區(qū)內(nèi)的風(fēng)速,從而有效的判斷火災(zāi)可能發(fā)生的地點(diǎn)、火災(zāi)強(qiáng)度,以及火災(zāi)可能的蔓延趨勢,最終使森林火災(zāi)發(fā)生的概率降到最低[3]。
本研究設(shè)計(jì)基于嵌入式平臺(tái),使用STM32單片機(jī)處理邏輯,結(jié)合SIM900A GPRS模塊,將數(shù)據(jù)通過GPRS傳輸給服務(wù)器系統(tǒng),服務(wù)器系統(tǒng)使用SOCKET監(jiān)聽采集點(diǎn)發(fā)過來的數(shù)據(jù),處理后,存儲(chǔ)到數(shù)據(jù)庫。上位機(jī)系統(tǒng),采用基于NODEJS后臺(tái)、bootstrap前端框架設(shè)計(jì)風(fēng)速監(jiān)測管理系統(tǒng)。
2 系統(tǒng)設(shè)計(jì)
風(fēng)速監(jiān)測系統(tǒng),通過結(jié)合風(fēng)速采集設(shè)備,微處理器技術(shù),GPRS(General Packet Radio Service)網(wǎng)絡(luò)通信,組成數(shù)據(jù)采集端,實(shí)現(xiàn)風(fēng)數(shù)據(jù)的采集以及實(shí)時(shí)傳送。通過服務(wù)器NodeJS后臺(tái),Mysql數(shù)據(jù)庫,組成服務(wù)器端,實(shí)現(xiàn)采集數(shù)據(jù)的處理和存儲(chǔ)。通過HTML+CSS+JAVASCRIPT技術(shù),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)、準(zhǔn)確的展示。
風(fēng)速監(jiān)測系統(tǒng),需實(shí)現(xiàn)實(shí)時(shí)、準(zhǔn)確的數(shù)據(jù)傳輸 ,為了保證數(shù)據(jù)傳輸?shù)目煽啃?,系統(tǒng)的數(shù)據(jù)采集端將使用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸,服務(wù)器端將使用NodeJS的SOCKET類實(shí)現(xiàn)TCP/IP以監(jiān)聽,同時(shí)使用HTTP實(shí)現(xiàn)與客戶端的交互??蛻舳?,客戶端瀏覽器端通過HTTP獲取數(shù)據(jù)以顯示。
2.1系統(tǒng)功能框架
風(fēng)速監(jiān)測系統(tǒng)由數(shù)據(jù)采集端、服務(wù)器端和客戶端三個(gè)部分組成。監(jiān)測系統(tǒng)功能框架如圖1所示。數(shù)據(jù)采集端負(fù)責(zé)風(fēng)速數(shù)據(jù)的采集、處理和無線傳輸,由風(fēng)速采集設(shè)備、微處理器控制單元、GPRS通信單元三個(gè)部分組成。 風(fēng)速采集設(shè)備是一個(gè)風(fēng)扇,通過轉(zhuǎn)動(dòng),產(chǎn)生電壓,傳入微控制器。風(fēng)扇轉(zhuǎn)動(dòng)的速度和風(fēng)速成正比關(guān)系,而風(fēng)速轉(zhuǎn)動(dòng)的速度和電壓,亦是正比關(guān)系,由此可通過風(fēng)扇轉(zhuǎn)動(dòng)產(chǎn)生的電壓值達(dá)到監(jiān)測風(fēng)速的目的。
微處理器控制單元為STM32F103,它基于ARM Cortex-M3,具有高性能、低功耗、低成本等特點(diǎn)。風(fēng)速采集設(shè)備產(chǎn)生的電壓值,通過STM32的ADC通道,進(jìn)行模數(shù)轉(zhuǎn)換,得到具體的電壓值。GPRS通信單元采用SIM900A,是一款面向工業(yè)級(jí)、緊湊型的雙頻GSM/GPRS模塊,具有性能穩(wěn)定,性價(jià)比高的特點(diǎn)。STM32將轉(zhuǎn)換好的電壓值,通過串口,傳給SIM900A,SIM900A將傳來的電壓值通過GPRS,以TCP/IP協(xié)議傳給服務(wù)器端[4] [5]。
3 系統(tǒng)硬件設(shè)計(jì)
風(fēng)速監(jiān)測系統(tǒng)的硬件設(shè)計(jì),主要由以下四個(gè)部分組成:數(shù)據(jù)采集設(shè)備,微控制器,GPRS模塊,電源模塊。數(shù)據(jù)采集端硬件結(jié)構(gòu)框圖如圖2所示。
(1)數(shù)據(jù)采集設(shè)備
我們采用一個(gè)微型風(fēng)扇設(shè)備,風(fēng)吹動(dòng)風(fēng)扇轉(zhuǎn)動(dòng),產(chǎn)生電壓,微控制器獲取風(fēng)扇轉(zhuǎn)動(dòng)產(chǎn)生的電壓。數(shù)據(jù)采集設(shè)備,為一帶扇葉的直流電機(jī)。風(fēng)吹動(dòng)扇葉轉(zhuǎn)動(dòng),帶動(dòng)電機(jī)轉(zhuǎn)動(dòng),產(chǎn)生直流電壓,電壓便是用以監(jiān)測風(fēng)速的關(guān)鍵值。將直流電機(jī)兩極接入STM32開發(fā)版的ADC口,這樣便即時(shí)獲取風(fēng)轉(zhuǎn)動(dòng)產(chǎn)生的電壓值。通過ADC讀取數(shù)據(jù)。STM32F103ZE擁有3個(gè)ADC,這些 ADC 可以獨(dú)立使用, 也可以使用雙重模式(提高采樣率)。STM32的ADC是12位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器。 它有18個(gè)通道,可測量16個(gè)外部和2個(gè)內(nèi)部信號(hào)源。各通道的 A/D 轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中[12]。
(2)微控制器
本系統(tǒng)采用STM32F103型號(hào)單片機(jī)作為處理器,結(jié)合ADC進(jìn)行數(shù)據(jù)的采集、接收和GPRS模塊的連網(wǎng)、數(shù)據(jù)傳輸。微控制器采用意法半導(dǎo)體推出的STM32F103ZE芯片,其內(nèi)核為ARM公司的高性能Cortex-M3,Cortex-M3 采用 ARM V7 構(gòu)架,不僅支持 Thumb-2 指令集,而且擁有很多新特性。較之 ARM7 TDMI,Cortex-M3 擁有更強(qiáng)勁的性能、更高的代碼密度、位帶操作、可嵌套中斷、低成本、低功耗等眾多優(yōu)勢。
(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 增強(qiáng)AT命令集),內(nèi)嵌TCP/IP協(xié)議,可編程進(jìn)行GPRS撥號(hào)上網(wǎng),實(shí)現(xiàn)Intemet網(wǎng)絡(luò)通信[6][7],SIM900A通過串口與單片機(jī)連接。GPRS模塊運(yùn)行的穩(wěn)定性直接關(guān)系到數(shù)據(jù)采集端與服務(wù)器端之間建立通信鏈路和數(shù)據(jù)通信的可靠性,也關(guān)系到整個(gè)系統(tǒng)運(yùn)行的穩(wěn)定性。
(4)電源模塊
系統(tǒng)GPRS模塊提供12V電壓,STM32單片機(jī)工作電壓為3.3V。
4 客戶端軟件設(shè)計(jì)
服務(wù)器端有三大部分,監(jiān)聽采集端、原始數(shù)據(jù)處理,數(shù)據(jù)庫,數(shù)據(jù)處理服務(wù),如圖3所示。監(jiān)聽采集端、原始數(shù)據(jù)處理部分負(fù)責(zé)數(shù)據(jù)采集端的數(shù)據(jù)接收、處理、存儲(chǔ),使用NodeJS實(shí)現(xiàn),引用了NodeJS的net和mysql等模塊,用以實(shí)現(xiàn)socket監(jiān)聽,并將接收的數(shù)據(jù)存到數(shù)據(jù)庫中 [10]。數(shù)據(jù)庫為MYSQL,一個(gè)關(guān)系型數(shù)據(jù)庫管理系,用于存儲(chǔ)原始數(shù)據(jù)和處理后的數(shù)據(jù)。數(shù)據(jù)處理服務(wù),用來與客戶端瀏覽器進(jìn)行交互,使用NodeJS實(shí)現(xiàn),引用了mysql模塊,編寫相關(guān)客戶端的請求路由,完成與客戶端瀏覽器的HTTP通訊[8-9]。
客戶端,即瀏覽器,通過HTML+CSS+JAVASCRIPT實(shí)現(xiàn)數(shù)據(jù)的顯示。使用bootstrap前端框架、dygraphs圖表插件、Jquery庫,實(shí)現(xiàn)折線圖展示,如圖4所示。
5 結(jié)論
本文設(shè)計(jì)風(fēng)速監(jiān)測管理系統(tǒng),STM32單片機(jī),將數(shù)據(jù)通過GPRS傳輸給服務(wù)器,服務(wù)器系統(tǒng)使用SOCKET監(jiān)聽采集點(diǎn)發(fā)過來的數(shù)據(jù),處理并存儲(chǔ)到上位機(jī)系統(tǒng)數(shù)據(jù)庫。采用基于NODEJS、bootstrap前端框架構(gòu)建了風(fēng)速監(jiān)測管理系統(tǒng)。
參考文獻(xiàn):
[1]孫成健. 森林火災(zāi)監(jiān)測預(yù)警系統(tǒng)研究[J]. 科技展望, 2015(17).
[2]姜文龍, 劉楷鵬, 韓寧,等. 基于北斗衛(wèi)星通信的森林火災(zāi)監(jiān)測系統(tǒng)[J]. 吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2015(3):84-87.
[3]杜廣洲. 應(yīng)用“3S”技術(shù)、網(wǎng)絡(luò)技術(shù)組建凌源市森林防火預(yù)警、監(jiān)測指揮系統(tǒng)[J]. 防護(hù)林科技, 2015(9):84-86.
[4]滕守明,魯奕,李響.基于STM32芯片及CAN總線在汽車上的應(yīng)用[J].無線互聯(lián)科技,2013,3
[5]王海民,王宏志. STM32以太網(wǎng)控制系統(tǒng)[J].長春工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,1:60-65
(下轉(zhuǎn)第206頁)
(上接第203頁)
[6]謝瑋, 夏水斌. 基于GPRS的遠(yuǎn)程電力計(jì)量監(jiān)測系統(tǒng)的研究[J]. 科技與創(chuàng)新, 2016(19):86-87.
[7]朱文娟, 呂春光. 基于GPRS的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 信息系統(tǒng)工程, 2016(2):21-22.
[8]李長才, 肖金球, 張少華. 基于STM32的風(fēng)速監(jiān)測系統(tǒng)設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用, 2016, 35(6):91-93.
[9]駱文亮. Node.js服務(wù)器技術(shù)初探[J].無線互聯(lián)科技,2014,3:227-227
[10]呂敏. 基于STM32的風(fēng)速風(fēng)向測試系統(tǒng)設(shè)計(jì)[D]. 西南交通大學(xué), 2011.