張成研+蘇建歡+覃偉年+吳建勇



【摘 要】森林火災監測系統受到環境和地理位置的影響,存在通信數據線布線復雜和監測設備成本較高的問題。設計一種基于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.
[責任編輯:楊玉潔]