熊萬
摘 要:水文監(jiān)測是水文信息化的重要基礎(chǔ),同時(shí)也是減小洪澇災(zāi)害損失的重要環(huán)節(jié)。為了滿足水文監(jiān)測中數(shù)據(jù)的實(shí)時(shí)性、有效性、可靠性要求,文中提出了利用ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)以及W5500以太網(wǎng)模塊組成的監(jiān)控系統(tǒng)來實(shí)現(xiàn)水文信息實(shí)時(shí)監(jiān)測的方案。該系統(tǒng)著重于采集前端測量設(shè)備的數(shù)據(jù),并對數(shù)據(jù)做出相應(yīng)的處理后再通過TCP/IP協(xié)議發(fā)送給上位機(jī)和互聯(lián)網(wǎng)。真正實(shí)現(xiàn)了水文監(jiān)測的智能化、網(wǎng)絡(luò)化和準(zhǔn)確化。
關(guān)鍵詞:物聯(lián)網(wǎng);ZigBee;W5500;無線傳感器網(wǎng)絡(luò)
中圖分類號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)08-00-03
0 引 言
水既可以養(yǎng)育生命,同時(shí)又可能因?yàn)榈貏?、地形和季風(fēng)的影響而引發(fā)洪澇災(zāi)害為國家和人民造成無法挽救的損失。在這樣的背景下,建立完善的水文監(jiān)測系統(tǒng)就顯得格外重要。最初完全是通過人工的方式來對某區(qū)域的降水量,水的深淺度、流動(dòng)速度以及溫度等數(shù)據(jù)進(jìn)行監(jiān)測,但對一些人煙稀少以及環(huán)境比較惡劣的地方不適宜采取人工方式來監(jiān)測,人工記錄的數(shù)據(jù)也不能實(shí)時(shí)反映河水的變化,同時(shí)也可能因?yàn)槿斯な韬龆鴮?dǎo)致嚴(yán)重的后果。
針對人工監(jiān)測的缺陷,文中提出了基于物聯(lián)網(wǎng)的水文監(jiān)測系統(tǒng)的設(shè)計(jì)方案,且事實(shí)證明該水文監(jiān)測系統(tǒng)能有效解決江河流域及水庫洪水報(bào)警及防洪調(diào)度的問題。也可以根據(jù)不同的監(jiān)控要求,在河流的不同地方安裝相應(yīng)的傳感器來滿足監(jiān)控的網(wǎng)絡(luò)化和智能化需求。
1 系統(tǒng)整體方案設(shè)計(jì)
水文監(jiān)測系統(tǒng)的結(jié)構(gòu)圖如圖1所示。整個(gè)系統(tǒng)由中央控制器、以太網(wǎng)傳模塊、ZigBee協(xié)調(diào)器、ZigBee終端節(jié)點(diǎn)及上位機(jī)組成。中央控制器是整個(gè)系統(tǒng)的核心,由它來發(fā)送命令和處理數(shù)據(jù);ZigBee終端節(jié)點(diǎn)則是整個(gè)系統(tǒng)的眼睛,用來采集前端測量設(shè)備的數(shù)據(jù);ZigBee協(xié)調(diào)器用以組建ZigBee通信網(wǎng)絡(luò)并負(fù)責(zé)終端節(jié)點(diǎn)和中央控制器的數(shù)據(jù)交互;以太網(wǎng)模塊負(fù)責(zé)中央處理器與互聯(lián)網(wǎng)的數(shù)據(jù)交互,數(shù)據(jù)的收發(fā)首先要通過以太網(wǎng)模塊進(jìn)行打包和解析;上位機(jī)則實(shí)現(xiàn)數(shù)據(jù)的人機(jī)交互。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 硬件結(jié)構(gòu)圖
系統(tǒng)硬件結(jié)構(gòu)如圖2所示,由 ZigBee節(jié)點(diǎn)采集數(shù)據(jù)后經(jīng)過ZigBee網(wǎng)絡(luò)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器接收的數(shù)據(jù)通過串口連接發(fā)送給中央控制器STM32,其后STM32對數(shù)據(jù)進(jìn)行處理和存儲(chǔ),最后由W5500以太網(wǎng)模塊通過互聯(lián)網(wǎng)發(fā)送給監(jiān)控中心和信息中心。
2.2 中央控制器
中央控制器用STM32F103系列芯片作為微控制器,集成Flash和SRAM寄存器的ARM Cortex-M3內(nèi)核,與8/16位單片機(jī)相比具有更高的代碼效率,更先進(jìn)的內(nèi)核構(gòu)架,可以運(yùn)行μC/OS等實(shí)時(shí)操作系統(tǒng)。最高工作頻率為72 MHz,擁有3種低功耗模式,支持串行和JTAG調(diào)試模式。擁有12通道的DMA控制器,并支持定時(shí)器ADC、DAC、SPI、IIC和USART等外設(shè)。
2.3 以太網(wǎng)模塊設(shè)計(jì)
以太網(wǎng)模塊中我們使用韓國WIZnet公司生產(chǎn)的以太網(wǎng)控制芯片W5500。因?yàn)樵撔酒狭宋鍖訁f(xié)議中的前四層協(xié)議,即物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層,并在其內(nèi)部利用硬件實(shí)現(xiàn)了TCP/IP協(xié)議棧,用戶只需控制W5500中的寄存器即可進(jìn)行網(wǎng)絡(luò)連接。這樣可以降低主芯片的負(fù)載且無需移植繁瑣的TCP/IP協(xié)議。
W5500支持硬件TCP/IP協(xié)議,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE,TCP/IP協(xié)議的硬件實(shí)現(xiàn),使得應(yīng)用協(xié)議的實(shí)現(xiàn)更簡單容易;另外8個(gè)獨(dú)立的Socket可同時(shí)工作在不同的工作模式,并且支持掉電模式,可以網(wǎng)絡(luò)喚醒,最大程度地減少功率消耗和發(fā)熱;支持高速SPI接口(SPI MODE 0,3),且SPI的時(shí)鐘最高可達(dá)80 MHz,極大地提高了網(wǎng)絡(luò)通信的數(shù)據(jù)傳輸速率。
W5500模塊原理圖如圖3所示,包含W5500協(xié)議棧芯片及一個(gè)網(wǎng)絡(luò)變壓器RJ-45(HR911105A),可以使用80 MHz高速SPI的方式與中央控制器STM32進(jìn)行數(shù)據(jù)傳輸。
2.4 ZigBee模塊設(shè)計(jì)
由于在系統(tǒng)中需要測量的數(shù)據(jù)很多,并且分布的地點(diǎn)也相應(yīng)較多,因此需要多個(gè)傳感器節(jié)點(diǎn)來對其測量。鑒于這幾個(gè)特點(diǎn),可以建立ZigBee無線傳感器網(wǎng)絡(luò)來采集和發(fā)送數(shù)據(jù)。
該模塊采用CC2530芯片,該控制器是一款完全兼容8051內(nèi)核,同時(shí)支持IEEE 802.15.4協(xié)議的無線射頻單片機(jī)。內(nèi)部具有8 KB的RAM,32、64或128 KB的系統(tǒng)內(nèi)可編程閃存且支持硬件調(diào)試。其還擁有強(qiáng)大的5通道DMA,1個(gè)16位定時(shí)器,2個(gè)8位定時(shí)器,1個(gè)MAC定時(shí)器專為MAC或其他協(xié)議而設(shè)。還具有8路輸入和可配置分辨率的12位ADC,2個(gè)支持多種串行通信協(xié)議的強(qiáng)大USART,21個(gè)通用I/O引腳。且CC2530用128位的AES算法進(jìn)行加密或解密,從而保證了ZigBee網(wǎng)絡(luò)層和應(yīng)用層的安全,也保證了通信的安全性能。
ZigBee網(wǎng)絡(luò)由協(xié)調(diào)器、路由器和終端節(jié)點(diǎn)構(gòu)成。協(xié)調(diào)器在網(wǎng)絡(luò)中的作用是建立并維護(hù)網(wǎng)絡(luò);路由器則連接協(xié)調(diào)器和終端節(jié)點(diǎn);終端節(jié)點(diǎn)用來采集前端測量設(shè)備的數(shù)據(jù)。一個(gè)ZigBee網(wǎng)絡(luò)只能擁有一個(gè)協(xié)調(diào)器,其路由器和終端節(jié)點(diǎn)的數(shù)量可以根據(jù)系統(tǒng)的復(fù)雜程度而自行選擇。在系統(tǒng)中,如果測量點(diǎn)的距離比較近,可以采用星型網(wǎng)絡(luò)結(jié)構(gòu),若比較復(fù)雜則可采用樹狀網(wǎng)絡(luò)結(jié)構(gòu)。該模塊的原理圖如圖4所示。
圖4中,XOSC_Q1和XOSC_Q2引腳之間接的是32 MHz晶振,P2_3和P2_4引腳之間接的是32.768 kHz,另外在CC2530芯片內(nèi)部還含有一個(gè)32 kHz和一個(gè)16 MHz的晶振,因此整個(gè)電路可以工作在4個(gè)不同的時(shí)鐘下,這樣便可以在不同的狀態(tài)下切換不同的時(shí)鐘以實(shí)現(xiàn)低功耗的目的,不同時(shí)鐘可以通過寄存CLKCONCMD的配置來實(shí)現(xiàn)不同的時(shí)鐘源。一般在無線通信時(shí)用外部32 MHz晶振。
2.5 數(shù)據(jù)存儲(chǔ)模塊設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)模塊可以選用小型超大容量的SD卡來存儲(chǔ)測量的數(shù)據(jù),以便于對數(shù)據(jù)進(jìn)行分析。
2.6 電源模塊設(shè)計(jì)
由于在水文系統(tǒng)的測量中,其測量點(diǎn)一般放置在條件比較惡劣和無人看管的境況中,所以對于節(jié)點(diǎn)可采用太陽能和雙鋰電池互補(bǔ)的方式進(jìn)行供電。在有太陽的情況下太陽能可以邊供電邊充電,而在晚上和陰雨天可以啟用電池供電。因?yàn)樵撓到y(tǒng)采用的是低功耗設(shè)計(jì),所以可以采用該方式進(jìn)行長期供電。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)可以分為數(shù)據(jù)的采集與接收;數(shù)據(jù)的處理、存儲(chǔ)以及發(fā)送;上位機(jī)系統(tǒng)3個(gè)部分。其流程圖如圖5所示。
3.1 數(shù)據(jù)的采集與接收
數(shù)據(jù)的采集與接收可以通過ZigBee模塊組成的無線傳感器網(wǎng)絡(luò)來實(shí)現(xiàn)。在設(shè)計(jì)過程中采用ZigBee 2007協(xié)議棧,在IAR For MCS-51的環(huán)境中采用C語言編程。
首先需要采用ZigBee協(xié)調(diào)器建立一個(gè)ZigBee網(wǎng)絡(luò),網(wǎng)絡(luò)建立完畢后ZigBee路由器和終端節(jié)點(diǎn)才可以加入到網(wǎng)絡(luò)中,且每個(gè)網(wǎng)絡(luò)均有自己唯一的ID,這樣即可避免不同的網(wǎng)絡(luò)之間受到通信的干擾。協(xié)調(diào)器、路由器以及終端節(jié)點(diǎn)不同的功能可以通過編譯時(shí)選擇不同的選項(xiàng)來實(shí)現(xiàn)。
終端節(jié)點(diǎn)加入網(wǎng)絡(luò)以后觸發(fā)ZDO_STATE_CHANGE事件,在對該事件進(jìn)行處理時(shí)就會(huì)調(diào)用用戶任務(wù)函數(shù)App_ProcessEvent( ),在這個(gè)函數(shù)中會(huì)周期性的獲取每個(gè)傳感器所檢測到的數(shù)據(jù),并將此數(shù)據(jù)打包后通過無線的方式發(fā)送給協(xié)調(diào)器。協(xié)調(diào)器通過AF_INCOMING_MSG_CMD事件來接收終端節(jié)點(diǎn)的數(shù)據(jù),并發(fā)送給中央處理器。
3.2 數(shù)據(jù)的處理、存儲(chǔ)及發(fā)送
數(shù)據(jù)的處理在STM32中完成,其通過對應(yīng)的發(fā)送和接收協(xié)議來對數(shù)據(jù)進(jìn)行處理。然后將數(shù)據(jù)存入SD卡中。在此利用開源的FATFS文件系統(tǒng),F(xiàn)ATFS是面向小型嵌入式系統(tǒng)的一種通用FAT文件系統(tǒng),其完全由ANSI C語言編寫并完全獨(dú)立于I/O介質(zhì)。通過STM32中相應(yīng)的庫函數(shù)對SD進(jìn)行初始化,隨后通過文件系統(tǒng)來讀數(shù)據(jù)并進(jìn)行相應(yīng)的讀和寫操作。
數(shù)據(jù)的發(fā)送需要W5500模塊來完成,因?yàn)閃5500中自身帶有TCP/IP協(xié)議,所以操作十分方便。STM32與W5500之間通過SPI的方式進(jìn)行數(shù)據(jù)傳輸,通過對W5500中寄存器的操作即可完成STM32與互聯(lián)網(wǎng)之間數(shù)據(jù)的交互。
3.3 上位機(jī)系統(tǒng)
上位機(jī)對整個(gè)控制系統(tǒng)進(jìn)行管理監(jiān)控,實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)分析、命令下發(fā)等功能??梢酝ㄟ^HTML、CSS、JavaScript以及VC的開發(fā)來建立Web服務(wù)器實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)查詢及與信息中心的數(shù)據(jù)交互。
4 結(jié) 語
本文提出了基于物聯(lián)網(wǎng)的水文監(jiān)控系統(tǒng)設(shè)計(jì)的方案,用ZigBee技術(shù)來實(shí)現(xiàn)對多點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)控的功能,并可以通過網(wǎng)絡(luò)進(jìn)行智能控制。該方案可運(yùn)用于河道水文監(jiān)測、湖泊水文監(jiān)測、防洪防汛監(jiān)測等,有助于解決水文監(jiān)測所面臨的難題。
參考文獻(xiàn)
[1]黃小強(qiáng),歐陽駿,黃寧淋.ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012.
[2]蔣挺,趙成林.紫蜂技術(shù)及其應(yīng)用(IEEE802.15.4)[M].北京:北京郵電大學(xué)出版社,2006.
[3] Drew Gislason.Zigbee Wireless Networking[M].Newnes,2008.
[4]馬朝.淺談物聯(lián)網(wǎng)技術(shù)在水文監(jiān)測信息系統(tǒng)中的應(yīng)用[J].水利信息化,2015(17):49-51.
[5]張洋洋,趙建平,徐娟娟.基于物聯(lián)網(wǎng)技術(shù)的水文監(jiān)控系統(tǒng)研究[J].通信技術(shù),2012,45(4):108-111.