熊萬



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