白聰++王宜懷++司蕭俊
摘 要: 針對傳統(tǒng)的氣象監(jiān)控方案布線成本高、運行功耗大、線路抗干擾差、難以適應復雜地形等問題,結合無線傳感網技術,設計了一套含有感知層、網絡層和應用層的基于 KW01?ZigBee和 GPRS的無線氣象監(jiān)控系統(tǒng)。組建的系統(tǒng)具有氣象信息實時采集、無線傳輸、多方式展現,以及運行成本低、組網靈活等優(yōu)點,而且具有較強的可復用性和可移植性。實踐證明,該系統(tǒng)氣象數據信息采集準確、數據傳輸穩(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 引 言
隨著經濟和社會的發(fā)展,氣象災害的影響越來越廣泛,造成的損失也越來越大,氣象信息監(jiān)測越發(fā)重要[1]。現有的氣象信息監(jiān)測大多是采用人工的或者預先布置好的有線方式進行采集。采用有線數據采集的氣象站受環(huán)境、地理等因素的影響具有明顯的局限性;而傳統(tǒng)的人工的方式明顯將會被歷史淘汰,人工不僅加大了工作量,而且數據的準確性得不到保證[2]。國外先進自動氣象站性能優(yōu)秀但往往本地適配性差,而國產氣象站成本較低但往往性能及服務達不到要求[3]。氣象系統(tǒng)自動觀測設備遠程監(jiān)控技術雖然是與先進的科技力量相結合,但目前的技術設備未能夠達到完全自動化、網絡化管理的效果[4]。
KW01?ZigBee作為一種新型 ZigBee功能節(jié)點,具有低功耗、低成本、組網靈活、集成度高、通信穩(wěn)定、抗干擾能力強等特點,適合近距離無線通信,而 GPRS作為一種遠程無線通信技術,具有實時在線、傳輸率大、頻率利用率高、數據傳輸可靠性好等特點。因此,針對目前傳統(tǒng)有線通信方式布線繁瑣、不易擴充、功能單一等缺點,設計了一套 KW01?ZigBee和 GPRS技術相結合的系統(tǒng)來監(jiān)測氣象信息。
1 系統(tǒng)組成
基于 KW01?ZigBee與 GPRS技術,搭建出的無線氣象監(jiān)控系統(tǒng)如圖1所示。參考物聯網分層模型[5],將該系統(tǒng)分為三層,自底向上分別是感知層、網絡層、應用層。整個系統(tǒng)由傳感器節(jié)點、網關、服務器上的服務端、電腦和平板上的客戶端、安卓手機上的 APP組成。
傳感器節(jié)點采用 KW01?ZigBee技術完成數據采集、數據包接收、數據包處理和數據包發(fā)送等功能,保證傳感器節(jié)點數據能夠順暢地傳送到網關上。網關負責數據包協(xié)議轉換、數據中轉,通過 KW01?ZigBee技術完成與本網關內部傳感器節(jié)點的通信,通過GPRS技術完成本網關與服務端之間的通信。服務端可以調用網關傳輸過來的數據傳送給客戶端和 APP,并向網關發(fā)送各種操作指令、設置各種參數等,也可以通過微信平臺及時推送傳感器節(jié)點及網關異常掉線情況、閾值報警等??蛻舳擞糜谠陔娔X和平板上顯示傳感器節(jié)點的數據及數據存檔,而 APP則是把數據顯示在安卓手機平臺上。endprint
2 硬件設計
2.1 網關硬件設計
一個 KW01?ZigBee氣象網絡只有一個網關。網關匯聚整個 KW01?ZigBee氣象網絡中所有傳感器節(jié)點的數據,并將這些數據通過 GPRS遠程傳輸到服務器,完成 KW01?ZigBee氣象網絡與 GPRS網絡協(xié)議的轉換、數據的傳輸,是外界訪問 KW01?ZigBee氣象網絡的“窗口”。網關主要由 GPRS模塊、KW01?ZigBee無線通信模塊、主控器模塊、電源轉換模塊、存儲模塊以及RTC備用電源模塊組成,網關結構及實物如圖2所示。
考慮到網關對實現功能的配置要求,主控器芯片選用恩智浦(NXP)的 MK60DN512ZVLQ10單片機。它是一款采用 ARM Cortex?M4內核的32位低功耗處理器,擁有獨立的指令總線和數據總線,擁有模擬、通信、定時等豐富的外設模塊,片內 SRAM高達 128 KB,FLASH高達 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)和外設旨在實現 1.7 μA 的設備待機電流,快速喚醒時間僅為 4.3 ms,設備停止電流低于 100 nA,其中包括無線配置數據保留。這些特性有助于最大限度地延長便攜式系統(tǒng)的電池壽命。KW01芯片內部集成無線射頻收發(fā)器 SX1233,支持 290~340 MHz,424~510 MHz以及862~1 020 MHz的無線頻段,具有低功耗、低成本、高度集成、通信穩(wěn)定等特點,適用于諸如智能家居、智能城市等多種物聯網產品的研究與開發(fā)[7]。
存儲模塊用于擴展主控器的存儲空間,可選用金士頓4 GB的TF卡,寫入速度可達4 MB/s。為了確保系統(tǒng)時間的準確性,使系統(tǒng)時間在網關斷電的情況下正常運行,本系統(tǒng)使用 RTC備用電源模塊提供的紐扣電池保證 RTC模塊的正常運行。MK60DN512ZVLQ10單片機的片內外設資源豐富,具備6個通用串行同步/異步通信接口:UART0~UART5。它們具有相同的功能,但是用不同的引腳通信,具有不同的寄存器控制模塊。網關使用 UART5 和 KW01?ZigBee 模塊連接, UART4 和 GPRS 通信模塊連接。
2.2 傳感器節(jié)點硬件設計
傳感器節(jié)點由傳感器采樣模塊、傳感器接口模塊、電源轉換模塊、電源指示燈模塊、KW01?ZigBee模塊、SWD調試模塊6部分組成,是構成 KW01?ZigBee氣象網絡的基礎平臺,完成數據采集、數據包接收、數據包處理和數據包發(fā)送等功能。傳感器節(jié)點結構及實物如圖3所示。
傳感器節(jié)點上的 KW01?ZigBee模塊由KL26MCU通過 SPI與 RF進行通信,與網關上的 KW01?ZigBee模塊在硬件結構上并無差異,兩者的區(qū)別主要是在燒錄的程序上。傳感器采樣模塊包含所有要采集的氣象要素的外圍電路,因包含多個部分圖3中沒有明確標出,傳感器接口模塊是傳感器的接入部分,SWD調試模塊是方便 KW01進行 SWD調試的接口,電源指示燈模塊是電路電源的直接電路反映。
圖3 傳感器節(jié)點結構框圖及實物圖
典型的氣象要素包括溫度、濕度、風速、風向、雨量、氣壓等,這些氣象要素中對于溫度的采集最為復雜,故以溫度采樣為例說明傳感器節(jié)點的硬件設計。要采集 -40~60 ℃的溫度,設計的采樣電路如圖4和圖5所示。對于溫度傳感器數據采樣,溫度傳感器采用四線制Pt100鉑電阻作為敏感元件,其中兩根信號線是 PT100A,另外兩根信號線是 PT100B。溫度測量選用 ROTRONIC AG公司最新生產的 Pt100鉑電阻溫度探頭,具有集成度高、微功耗、智能化、高可靠、易維護等特點,廣泛應用于各類對環(huán)境、溫度測量數據要求較高的部門。Pt100鉑電阻封裝在一直徑為4 mm的不銹鋼管內,直接裝在傳感器的殼體上[8]。
2.2.1 恒流源驅動電路
恒流源驅動電路如圖 4所示。穩(wěn)壓元件 TP?D把 5 V電壓穩(wěn)壓至 2.5 V,接入運算放大器 LM324的 A路的正向輸入端,由放大器的“虛短”特性,可知該路運算放大器的負向輸入端電壓也是 2.5 V,然后流經 2.5 kΩ的精密電阻 TP?R2,產生 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,電壓過低且范圍較小,需要對電壓進行放大,設計中放大倍數是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]
因此信號調理電路的放大倍數為:
[(TP-R5+TP-R6+TP-R7)TP-R7]
3 軟件設計
本系統(tǒng)結合KW01?ZigBee和GPRS技術,具備遠程命令控制、定時輪訓、節(jié)點在線檢測等功能?;谝陨瞎δ?,軟件部分的設計主要包括網關軟件的設計、傳感器節(jié)點的軟件設計。
3.1 網關軟件設計
網關作為KW01?ZigBee氣象網絡與服務端之間的橋梁,能通過GPRS模塊接收并處理服務端發(fā)送的命令,為保證GPRS模塊與服務端的有效連接,網關需要通過GPRS模塊與服務端發(fā)送握手信號,在握手失敗時及時重新與服務端進行GPRS通信連接[10],增加GPRS發(fā)送緩沖區(qū)鏈表,當GPRS信號不好時將數據暫存入 GPRS發(fā)送緩沖區(qū)鏈表,與下一GPRS數據包一起發(fā)送。同時,網關管理其下轄的所有傳感器節(jié)點,通過輪訓確保所有的傳感器節(jié)點在輪訓周期內把溫度數據返回到網關。每個輪訓周期包含若干個回合,每回合遍歷所有未應答節(jié)點。當輪訓周期開始時,向每個節(jié)點各發(fā)送一次數據包,若節(jié)點應答則置節(jié)點應答狀態(tài)標記,在輪訓周期內該節(jié)點無需再次輪訓,然后切換到下一節(jié)點,否則在下一回合繼續(xù)輪訓該節(jié)點,直至所有節(jié)點均應答。網關的軟件流程圖如圖6所示。
3.2 傳感器節(jié)點軟件設計
傳感器節(jié)點采用MQXLite操作系統(tǒng),主要包括四個任務數據包接收任務、數據包處理任務、數據包發(fā)送任務和ADC采集任務,由調度器調度運行。數據包接收任務通過硬件過濾地址、網關號、網內地址過濾所有非本節(jié)點的KW01?ZigBee數據包,并將發(fā)給本節(jié)點的數據包放入待處理數據包鏈表。數據包處理任務完成數據包的解幀、處理及數據組幀,把完整的節(jié)點數據包放入待發(fā)送數據包鏈表。數據包發(fā)送任務用以發(fā)送節(jié)點的 KW01?ZigBee數據包。ADC采集任務采用雙緩沖區(qū)機制,確保溫度數據的新鮮度,借助中值及均值濾波消除電平抖動,同時使用最小二乘法分5段對溫度進行回歸,確保溫度數據回歸的準確度。傳感器節(jié)點的軟件流程圖如圖 7所示。
圖7 傳感器節(jié)點流程圖
在-40~60 ℃區(qū)間上進行線性擬合,溫度與電阻的關系模型為[T=A?R+B]。Pt100的分度表給出了整數溫度與電阻值組成的數據對,據此可得到每段區(qū)間上的系數[A]和[B],如下:
[A=1C?i=1n(Ri-R)?(Ti-T)]
[B=T-A?R ]
[C=i=1n(Ri-R)2 ]
式中:[C]是為方便表示[A]引入的;[n]為每段區(qū)間上的數據對總數;[Ri]為區(qū)間上第[i]組數據對的電阻值;[R]為區(qū)間上所有數據對電阻的平均值;[Ti]為區(qū)間上第[i]組數據對的溫度值;[T]為區(qū)間上所有數據對溫度的平均值。
4 系統(tǒng)測試
系統(tǒng)測試部分主要包括數據準確性測試和數據穩(wěn)定性測試。以溫度為例,數據準確性測試過程中,把傳感器溫度探頭放入 GHP?9080恒溫箱中,操作 GHP?9080恒溫箱面板來設定和調節(jié)溫度,每次把恒溫箱的設定值作為被檢測點的真實值,穩(wěn)定之后從KW01串口輸出的數據作為被檢測點的測量值,比較溫度的測量值與真實值的數值差異,重復試驗多次。溫度以20 ℃為長度進行分段,表1為20~40 ℃區(qū)間一次的測量值與真實值數據對比情況。對比數據可以得出,樣本最大誤差為0.2 ℃,平均誤差為0.03 ℃。
表1 溫度測量值與真實值20~40 ℃區(qū)間數據對比
數據的穩(wěn)定性測試。搭建測試平臺使 100#網關下有101#,102#,103#三個節(jié)點,101#節(jié)點采集溫度、濕度,102#節(jié)點采集風速、風向,103#節(jié)點采集光照、雨量、氣壓,以 12 h為步長,每天查看兩次所有節(jié)點是否存在數據缺失。圖8為一天中12 h的溫度數據,因每小時數據過多僅截取每小時前20 min的數據用以顯示。在客戶端上可查找到所有歷史數據,如果某分鐘數據沒有到達服務器,則該分鐘數據缺失,否則數據正常。連續(xù)測試10天證明不存在數據包丟失情況,數據傳輸成功率可達100%。
同時,可在APP上顯示最新1 min的所有氣象要素數據見圖9。除此之外,當數據超出設定的閾值范圍后,也可以在微信平臺上收到氣象要素閾值報警信息。
5 結 語
本文提出的基于 KW01?ZigBee和 GPRS的無線氣象監(jiān)控系統(tǒng)設計方案,建立了一個遠程與近程相結合的無線網絡,削弱了干擾的影響,保證了數據傳輸的穩(wěn)定性,并具有氣象要素數據實時采集、無線傳輸、多方式展現,以及運行成本低、組網靈活等優(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)控的技術現狀和發(fā)展趨勢[J].電子技術與軟件工程,2014(11):255.
[5] 魏歌.不同物聯網架構的分層標準的研究[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] 張玉杰,惠灑樂.嵌入式無線網關系統(tǒng)設計[J].自動化儀表,2012,33(12):71?73.