白聰++王宜懷++司蕭俊
摘 要: 針對傳統(tǒng)的氣象監(jiān)控方案布線成本高、運行功耗大、線路抗干擾差、難以適應復雜地形等問題,結合無線傳感網(wǎng)技術,設計了一套含有感知層、網(wǎng)絡層和應用層的基于 KW01?ZigBee和 GPRS的無線氣象監(jiān)控系統(tǒng)。組建的系統(tǒng)具有氣象信息實時采集、無線傳輸、多方式展現(xiàn),以及運行成本低、組網(wǎng)靈活等優(yōu)點,而且具有較強的可復用性和可移植性。實踐證明,該系統(tǒng)氣象數(shù)據(jù)信息采集準確、數(shù)據(jù)傳輸穩(wěn)定、溫度閾值報警及時,可滿足目前遠程氣象信息監(jiān)控的需求。
關鍵詞: KW01?ZigBee; GPRS; 氣象監(jiān)控; 實時信息采集; 溫度閾值報警
中圖分類號: TN948.64?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2017)18?0070?05
Design and implementation of wireless meteorological monitoring system
based on KW01?ZigBee and GPRS
BAI Cong, WANG Yihuai, SI Xiaojun
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)
Abstract: Since traditional meteorological monitoring scheme has high wiring cost, high operating power consumption and poor circuit anti?interference, which is difficult to accommodate to the special environment with the complex terrain, a wireless meteorological monitoring system based on KW01?ZigBee and GPRS was designed in combination with wireless sensor network technology, which includes sensing layer, network layer and application layer. The system has the following advantages: real?time meteorological information acquisition, wireless transmission, multi?mode display, low operating cost, flexible networking, and strong reusability and portability. The practice proves that the system can perform accurate meteorological information acquisition, stable data transmission and timely temperature threshold alarm, which can satisfy the need of remote meteorological information monitoring.
Keywords: KW01?ZigBee; GPRS; meteorological monitoring; real?time information acquisition; temperature threshold alarm
0 引 言
隨著經(jīng)濟和社會的發(fā)展,氣象災害的影響越來越廣泛,造成的損失也越來越大,氣象信息監(jiān)測越發(fā)重要[1]?,F(xiàn)有的氣象信息監(jiān)測大多是采用人工的或者預先布置好的有線方式進行采集。采用有線數(shù)據(jù)采集的氣象站受環(huán)境、地理等因素的影響具有明顯的局限性;而傳統(tǒng)的人工的方式明顯將會被歷史淘汰,人工不僅加大了工作量,而且數(shù)據(jù)的準確性得不到保證[2]。國外先進自動氣象站性能優(yōu)秀但往往本地適配性差,而國產(chǎn)氣象站成本較低但往往性能及服務達不到要求[3]。氣象系統(tǒng)自動觀測設備遠程監(jiān)控技術雖然是與先進的科技力量相結合,但目前的技術設備未能夠達到完全自動化、網(wǎng)絡化管理的效果[4]。
KW01?ZigBee作為一種新型 ZigBee功能節(jié)點,具有低功耗、低成本、組網(wǎng)靈活、集成度高、通信穩(wěn)定、抗干擾能力強等特點,適合近距離無線通信,而 GPRS作為一種遠程無線通信技術,具有實時在線、傳輸率大、頻率利用率高、數(shù)據(jù)傳輸可靠性好等特點。因此,針對目前傳統(tǒng)有線通信方式布線繁瑣、不易擴充、功能單一等缺點,設計了一套 KW01?ZigBee和 GPRS技術相結合的系統(tǒng)來監(jiān)測氣象信息。
1 系統(tǒng)組成
基于 KW01?ZigBee與 GPRS技術,搭建出的無線氣象監(jiān)控系統(tǒng)如圖1所示。參考物聯(lián)網(wǎng)分層模型[5],將該系統(tǒng)分為三層,自底向上分別是感知層、網(wǎng)絡層、應用層。整個系統(tǒng)由傳感器節(jié)點、網(wǎng)關、服務器上的服務端、電腦和平板上的客戶端、安卓手機上的 APP組成。
傳感器節(jié)點采用 KW01?ZigBee技術完成數(shù)據(jù)采集、數(shù)據(jù)包接收、數(shù)據(jù)包處理和數(shù)據(jù)包發(fā)送等功能,保證傳感器節(jié)點數(shù)據(jù)能夠順暢地傳送到網(wǎng)關上。網(wǎng)關負責數(shù)據(jù)包協(xié)議轉換、數(shù)據(jù)中轉,通過 KW01?ZigBee技術完成與本網(wǎng)關內(nèi)部傳感器節(jié)點的通信,通過GPRS技術完成本網(wǎng)關與服務端之間的通信。服務端可以調用網(wǎng)關傳輸過來的數(shù)據(jù)傳送給客戶端和 APP,并向網(wǎng)關發(fā)送各種操作指令、設置各種參數(shù)等,也可以通過微信平臺及時推送傳感器節(jié)點及網(wǎng)關異常掉線情況、閾值報警等。客戶端用于在電腦和平板上顯示傳感器節(jié)點的數(shù)據(jù)及數(shù)據(jù)存檔,而 APP則是把數(shù)據(jù)顯示在安卓手機平臺上。endprint
2 硬件設計
2.1 網(wǎng)關硬件設計
一個 KW01?ZigBee氣象網(wǎng)絡只有一個網(wǎng)關。網(wǎng)關匯聚整個 KW01?ZigBee氣象網(wǎng)絡中所有傳感器節(jié)點的數(shù)據(jù),并將這些數(shù)據(jù)通過 GPRS遠程傳輸?shù)椒掌?,完?KW01?ZigBee氣象網(wǎng)絡與 GPRS網(wǎng)絡協(xié)議的轉換、數(shù)據(jù)的傳輸,是外界訪問 KW01?ZigBee氣象網(wǎng)絡的“窗口”。網(wǎng)關主要由 GPRS模塊、KW01?ZigBee無線通信模塊、主控器模塊、電源轉換模塊、存儲模塊以及RTC備用電源模塊組成,網(wǎng)關結構及實物如圖2所示。
考慮到網(wǎng)關對實現(xiàn)功能的配置要求,主控器芯片選用恩智浦(NXP)的 MK60DN512ZVLQ10單片機。它是一款采用 ARM Cortex?M4內(nèi)核的32位低功耗處理器,擁有獨立的指令總線和數(shù)據(jù)總線,擁有模擬、通信、定時等豐富的外設模塊,片內(nèi) SRAM高達 128 KB,F(xiàn)LASH高達 512 KB,CPU主頻可達 100 MHz,提供 JTAG接口,可方便進行程序燒錄并支持在線仿真等[6]。
GPRS模塊選用華為公司的 MG323模塊,是一款4頻段的GPRS模塊,工作頻段為GSM850/900/1 800/1 900 MHz, 支持GPRS CLASS 10和編碼方式 CS?1,CS?2,CS?3及CS?4。SIM900外觀小巧、性能穩(wěn)定、性價比高,能滿足本系統(tǒng)的工作需求。
KW01?ZigBee模塊是筆者所在實驗室自主研發(fā)的 ZigBee模塊,選用恩智浦的 MKW01Z128CHN115J芯片。KW01 微控制器基于 ARM CortexTM?M0+處理器,運行速率高達 48 MHz,擁有 128 KB 閃存和 16 KB SRAM,在典型條件下的功耗低達 40 μA/MHz。該系統(tǒng)和外設旨在實現(xiàn) 1.7 μA 的設備待機電流,快速喚醒時間僅為 4.3 ms,設備停止電流低于 100 nA,其中包括無線配置數(shù)據(jù)保留。這些特性有助于最大限度地延長便攜式系統(tǒng)的電池壽命。KW01芯片內(nèi)部集成無線射頻收發(fā)器 SX1233,支持 290~340 MHz,424~510 MHz以及862~1 020 MHz的無線頻段,具有低功耗、低成本、高度集成、通信穩(wěn)定等特點,適用于諸如智能家居、智能城市等多種物聯(lián)網(wǎng)產(chǎn)品的研究與開發(fā)[7]。
存儲模塊用于擴展主控器的存儲空間,可選用金士頓4 GB的TF卡,寫入速度可達4 MB/s。為了確保系統(tǒng)時間的準確性,使系統(tǒng)時間在網(wǎng)關斷電的情況下正常運行,本系統(tǒng)使用 RTC備用電源模塊提供的紐扣電池保證 RTC模塊的正常運行。MK60DN512ZVLQ10單片機的片內(nèi)外設資源豐富,具備6個通用串行同步/異步通信接口:UART0~UART5。它們具有相同的功能,但是用不同的引腳通信,具有不同的寄存器控制模塊。網(wǎng)關使用 UART5 和 KW01?ZigBee 模塊連接, UART4 和 GPRS 通信模塊連接。
2.2 傳感器節(jié)點硬件設計
傳感器節(jié)點由傳感器采樣模塊、傳感器接口模塊、電源轉換模塊、電源指示燈模塊、KW01?ZigBee模塊、SWD調試模塊6部分組成,是構成 KW01?ZigBee氣象網(wǎng)絡的基礎平臺,完成數(shù)據(jù)采集、數(shù)據(jù)包接收、數(shù)據(jù)包處理和數(shù)據(jù)包發(fā)送等功能。傳感器節(jié)點結構及實物如圖3所示。
傳感器節(jié)點上的 KW01?ZigBee模塊由KL26MCU通過 SPI與 RF進行通信,與網(wǎng)關上的 KW01?ZigBee模塊在硬件結構上并無差異,兩者的區(qū)別主要是在燒錄的程序上。傳感器采樣模塊包含所有要采集的氣象要素的外圍電路,因包含多個部分圖3中沒有明確標出,傳感器接口模塊是傳感器的接入部分,SWD調試模塊是方便 KW01進行 SWD調試的接口,電源指示燈模塊是電路電源的直接電路反映。
圖3 傳感器節(jié)點結構框圖及實物圖
典型的氣象要素包括溫度、濕度、風速、風向、雨量、氣壓等,這些氣象要素中對于溫度的采集最為復雜,故以溫度采樣為例說明傳感器節(jié)點的硬件設計。要采集 -40~60 ℃的溫度,設計的采樣電路如圖4和圖5所示。對于溫度傳感器數(shù)據(jù)采樣,溫度傳感器采用四線制Pt100鉑電阻作為敏感元件,其中兩根信號線是 PT100A,另外兩根信號線是 PT100B。溫度測量選用 ROTRONIC AG公司最新生產(chǎn)的 Pt100鉑電阻溫度探頭,具有集成度高、微功耗、智能化、高可靠、易維護等特點,廣泛應用于各類對環(huán)境、溫度測量數(shù)據(jù)要求較高的部門。Pt100鉑電阻封裝在一直徑為4 mm的不銹鋼管內(nèi),直接裝在傳感器的殼體上[8]。
2.2.1 恒流源驅動電路
恒流源驅動電路如圖 4所示。穩(wěn)壓元件 TP?D把 5 V電壓穩(wěn)壓至 2.5 V,接入運算放大器 LM324的 A路的正向輸入端,由放大器的“虛短”特性,可知該路運算放大器的負向輸入端電壓也是 2.5 V,然后流經(jīng) 2.5 kΩ的精密電阻 TP?R2,產(chǎn)生 1 mA的恒流源,供 Pt100使用。
圖4 恒流源驅動電路
設計的恒流源電路的目標電流為1 mA,由TL431輸出的基準電壓與基準電阻共同決定。Pt100電阻的工作電流最大不允許超過5 mA,設計的電流源電路的電流定為1 mA。電路采用TL431作為穩(wěn)壓元件,工作電壓是5 V,穩(wěn)壓輸出為2.5 V,TL431的輸入電流范圍是 1~100 mA,故選用 510 Ω的限流電阻是合適的。雖然 TL431是精密穩(wěn)壓源,依然會引起較大的基準電壓誤差,為縮小誤差,追加一路A/D通道用來測量恒流源的基準電壓。恒流源的基準電阻選用0.1%誤差的 2.5 kΩ的精密電阻。假如不增加一路A/D通道測量基準電壓,假設基準電壓誤差是 0.02 V,Pt100測量電阻是100 Ω,那么測量的基準電壓誤差為0.9 mV,而增加一路 A/D通道則可以把基準電壓誤差降到 0.1 mV,同時選用 TL431也大幅縮減了穩(wěn)壓成本。
2.2.2 信號調理電路
當溫度范圍為-40~60 ℃時,Pt100的阻值范圍[9]是 84.27~123.24 Ω,1 mA的恒流源驅動,那么 Pt100兩端的電壓范圍是0.084~0.123 V,電壓過低且范圍較小,需要對電壓進行放大,設計中放大倍數(shù)是9,放大后的電壓范圍是0.758~1.109 V。信號調理電路如圖5所示。
PT100A1和 PT100A2是Pt100的一端,PT100B1和PT100B2是 Pt100的另一端,PT100A2和PT100B2即為Pt100兩端的電壓,同時也是TP?R6兩端的電壓。設LM324的B路輸出端電壓為[V1],LM324的D路負向輸入端電壓為[V2],LM324的C路輸出端電壓為[V3],LM32的D路正向輸入端電壓為[V4], LM324的D路輸出端電壓為[Vout],由虛短及分壓原理,有:
[Vout=(TP-R3+TP-R4)TP-R4·TP-R8(TP-R8+TP-R9)·V1 =V3-V1]
因此信號調理電路的放大倍數(shù)為:
[(TP-R5+TP-R6+TP-R7)TP-R7]
3 軟件設計
本系統(tǒng)結合KW01?ZigBee和GPRS技術,具備遠程命令控制、定時輪訓、節(jié)點在線檢測等功能。基于以上功能,軟件部分的設計主要包括網(wǎng)關軟件的設計、傳感器節(jié)點的軟件設計。
3.1 網(wǎng)關軟件設計
網(wǎng)關作為KW01?ZigBee氣象網(wǎng)絡與服務端之間的橋梁,能通過GPRS模塊接收并處理服務端發(fā)送的命令,為保證GPRS模塊與服務端的有效連接,網(wǎng)關需要通過GPRS模塊與服務端發(fā)送握手信號,在握手失敗時及時重新與服務端進行GPRS通信連接[10],增加GPRS發(fā)送緩沖區(qū)鏈表,當GPRS信號不好時將數(shù)據(jù)暫存入 GPRS發(fā)送緩沖區(qū)鏈表,與下一GPRS數(shù)據(jù)包一起發(fā)送。同時,網(wǎng)關管理其下轄的所有傳感器節(jié)點,通過輪訓確保所有的傳感器節(jié)點在輪訓周期內(nèi)把溫度數(shù)據(jù)返回到網(wǎng)關。每個輪訓周期包含若干個回合,每回合遍歷所有未應答節(jié)點。當輪訓周期開始時,向每個節(jié)點各發(fā)送一次數(shù)據(jù)包,若節(jié)點應答則置節(jié)點應答狀態(tài)標記,在輪訓周期內(nèi)該節(jié)點無需再次輪訓,然后切換到下一節(jié)點,否則在下一回合繼續(xù)輪訓該節(jié)點,直至所有節(jié)點均應答。網(wǎng)關的軟件流程圖如圖6所示。
3.2 傳感器節(jié)點軟件設計
傳感器節(jié)點采用MQXLite操作系統(tǒng),主要包括四個任務數(shù)據(jù)包接收任務、數(shù)據(jù)包處理任務、數(shù)據(jù)包發(fā)送任務和ADC采集任務,由調度器調度運行。數(shù)據(jù)包接收任務通過硬件過濾地址、網(wǎng)關號、網(wǎng)內(nèi)地址過濾所有非本節(jié)點的KW01?ZigBee數(shù)據(jù)包,并將發(fā)給本節(jié)點的數(shù)據(jù)包放入待處理數(shù)據(jù)包鏈表。數(shù)據(jù)包處理任務完成數(shù)據(jù)包的解幀、處理及數(shù)據(jù)組幀,把完整的節(jié)點數(shù)據(jù)包放入待發(fā)送數(shù)據(jù)包鏈表。數(shù)據(jù)包發(fā)送任務用以發(fā)送節(jié)點的 KW01?ZigBee數(shù)據(jù)包。ADC采集任務采用雙緩沖區(qū)機制,確保溫度數(shù)據(jù)的新鮮度,借助中值及均值濾波消除電平抖動,同時使用最小二乘法分5段對溫度進行回歸,確保溫度數(shù)據(jù)回歸的準確度。傳感器節(jié)點的軟件流程圖如圖 7所示。
圖7 傳感器節(jié)點流程圖
在-40~60 ℃區(qū)間上進行線性擬合,溫度與電阻的關系模型為[T=A?R+B]。Pt100的分度表給出了整數(shù)溫度與電阻值組成的數(shù)據(jù)對,據(jù)此可得到每段區(qū)間上的系數(shù)[A]和[B],如下:
[A=1C?i=1n(Ri-R)?(Ti-T)]
[B=T-A?R ]
[C=i=1n(Ri-R)2 ]
式中:[C]是為方便表示[A]引入的;[n]為每段區(qū)間上的數(shù)據(jù)對總數(shù);[Ri]為區(qū)間上第[i]組數(shù)據(jù)對的電阻值;[R]為區(qū)間上所有數(shù)據(jù)對電阻的平均值;[Ti]為區(qū)間上第[i]組數(shù)據(jù)對的溫度值;[T]為區(qū)間上所有數(shù)據(jù)對溫度的平均值。
4 系統(tǒng)測試
系統(tǒng)測試部分主要包括數(shù)據(jù)準確性測試和數(shù)據(jù)穩(wěn)定性測試。以溫度為例,數(shù)據(jù)準確性測試過程中,把傳感器溫度探頭放入 GHP?9080恒溫箱中,操作 GHP?9080恒溫箱面板來設定和調節(jié)溫度,每次把恒溫箱的設定值作為被檢測點的真實值,穩(wěn)定之后從KW01串口輸出的數(shù)據(jù)作為被檢測點的測量值,比較溫度的測量值與真實值的數(shù)值差異,重復試驗多次。溫度以20 ℃為長度進行分段,表1為20~40 ℃區(qū)間一次的測量值與真實值數(shù)據(jù)對比情況。對比數(shù)據(jù)可以得出,樣本最大誤差為0.2 ℃,平均誤差為0.03 ℃。
表1 溫度測量值與真實值20~40 ℃區(qū)間數(shù)據(jù)對比
數(shù)據(jù)的穩(wěn)定性測試。搭建測試平臺使 100#網(wǎng)關下有101#,102#,103#三個節(jié)點,101#節(jié)點采集溫度、濕度,102#節(jié)點采集風速、風向,103#節(jié)點采集光照、雨量、氣壓,以 12 h為步長,每天查看兩次所有節(jié)點是否存在數(shù)據(jù)缺失。圖8為一天中12 h的溫度數(shù)據(jù),因每小時數(shù)據(jù)過多僅截取每小時前20 min的數(shù)據(jù)用以顯示。在客戶端上可查找到所有歷史數(shù)據(jù),如果某分鐘數(shù)據(jù)沒有到達服務器,則該分鐘數(shù)據(jù)缺失,否則數(shù)據(jù)正常。連續(xù)測試10天證明不存在數(shù)據(jù)包丟失情況,數(shù)據(jù)傳輸成功率可達100%。
同時,可在APP上顯示最新1 min的所有氣象要素數(shù)據(jù)見圖9。除此之外,當數(shù)據(jù)超出設定的閾值范圍后,也可以在微信平臺上收到氣象要素閾值報警信息。
5 結 語
本文提出的基于 KW01?ZigBee和 GPRS的無線氣象監(jiān)控系統(tǒng)設計方案,建立了一個遠程與近程相結合的無線網(wǎng)絡,削弱了干擾的影響,保證了數(shù)據(jù)傳輸?shù)姆€(wěn)定性,并具有氣象要素數(shù)據(jù)實時采集、無線傳輸、多方式展現(xiàn),以及運行成本低、組網(wǎng)靈活等優(yōu)點,目前已應用在一智能氣象站項目中。通過擴展其他傳感器,也可以應用在智能家居、智能交通等領域,有很好的市場價值和應用前景。
參考文獻
[1] 付超.氣象信息監(jiān)測系統(tǒng)研究與設計[D].哈爾濱:哈爾濱工業(yè)大學,2015.
[2] 李濤.基于WSN的智能氣象傳感器設計及應用[D].蘇州:蘇州大學,2014.
[3] 王浩.自動氣象監(jiān)測系統(tǒng)的研究與應用開發(fā)[D].南京:東南大學,2014.
[4] 田峰.氣象系統(tǒng)自動觀測設備遠程監(jiān)控的技術現(xiàn)狀和發(fā)展趨勢[J].電子技術與軟件工程,2014(11):255.
[5] 魏歌.不同物聯(lián)網(wǎng)架構的分層標準的研究[J].計算機技術與發(fā)展,2015,25(1):221?225.
[6] 王宜懷,吳瑾,蔣銀珍.嵌入式系統(tǒng)原理與實踐:ARM Cortex?M4 Kinetis微控制器[M].北京:電子工業(yè)出版社,2012.
[7] 龐馥珊.KW01?ZigBee節(jié)點實驗測試程序設計[J].技術與市場,2015,22(9):33?34.
[8] YIN X, WANG Y, DING R, et al. Effective experiment of elevated wind machine for frost protection with long blade in large apple orchards [J]. Transactions of the Chinese Society of Agricultural Engineering, 2014, 30(15): 25?32.
[9] 鄭保,成鵬展,張建蘭.提高鉑電阻溫度計測量精度的方法研究[J].計測技術,2006,26(1):56?59.
[10] 張玉杰,惠灑樂.嵌入式無線網(wǎng)關系統(tǒng)設計[J].自動化儀表,2012,33(12):71?73.