文/陳亮
水是被譽為萬物生命的源泉,魚塘水質監測關系到魚塘生物的生命和健康。如何高效率、精準地監測水質,一直是人們重點研究的課題。目前水質監測的主要方式有兩種:一種是通過設置便攜式的池塘水質監測以及實驗室,采用手動方式來進行取樣,從而對水質進行監測和分析;另一種是根據遠程監控中心以及監視變電站來監測水質。雖然這些監測系統的布置較為密集,但是數據采集和傳輸速度也較為緩慢,不能實時反饋魚塘水質的情況。第二種雖然可以反應出一定的水質變化,但是該方式采用了有線監控,需要投入的成本較高,并且在對數據進行傳輸的過程中,容易受到其他因素的干擾。因此,本文研究的基于Zigbee的無線傳感器網絡不但能夠通過雙向通信來提高對數據的傳輸效率,而且大大降低了系統成本和整體功率,對于水環境的監測工作具有明顯的優勢。

圖1:系統總體框圖
Zigbee技術經常被稱為“HomeRFLite”技術、“FireFly”技術,演變到如今,技術領域習慣稱之為Zigbee技術。Zigbee技術主要用于對一些具有周期性和間歇性的數據,其數據傳輸方式具有低功率、低速、短程的特點。
ZigBee技術屬于一種無線通信,可工作在2.4GHz、915MHz、868兆赫三個頻段。傳輸范圍在10米到75米,并且可以擴展。ZigBee的主要有以下特點:

圖2:傳感器節點結構圖
1.2.1 低功耗
當ZigBee技術的處于睡眠模式時,其傳輸功率和速率較低,功耗低至1mW,只需2塊AA電池,待機時間最長可以持續0.5-2年。
1.2.2 低成本
ZigBee的協議不需要支付版費,單芯片成本可以控制在1.5到2.5美元范圍內。
1.2.3 短時延
通信延遲、睡眠延遲都很短,其中搜索設備延遲只有30毫秒,睡眠延遲只需15毫秒,進一步節省了電能。
1.2.4 容量大
對于Star Zigbee網絡來說,最大容量包括1個主節點以及254個從節點,可以同時容納100個ZigBee網絡。
1.2.5 安全性
其通過CRC校驗(基于循環完整性的校驗)來檢查報文的完整性。通過AES-128算法來對報文進行認證和加密。從而保證傳輸數據的安全。
圖1是基于Zigbee的魚塘水質監測系統的總體框圖。系統的硬件結構主要由中心節點以及傳感器節點、CDMA通信網絡、監控中心三部分組成。其中傳感器節點主要位于魚塘水質監控范圍內,各個節點的排列較為隨機,但是以中心節點為中心,共同組成了Zigbee通信網絡,從而通過CDMA通信網絡來和監控中心進行通信。當傳感器節點在監控區域采集到相關數據后,通過中心節點對數據進行整合后,通過CDMA直接將數據傳輸到遠程監控中心。
Zigbee通信網絡主要由傳感器節點和中心節點組成,而傳感器節點主要包括傳感器和基準ZigBee RF收發器模塊,這樣的設計不但簡單靈活,還能保證具有較高的精密性,可以快速、實時地反應魚塘水質的變化。傳感器節點的結構圖如圖2所示。其中Zigbee RF收發器模塊的芯片版本為CC2530。
CC2530芯片和前幾個版本相比,在節點設計上有了一定的提升,非常適用于TI的IEEE 802.15.4標準的2.4G RF收發器,其頻率可以控制在2400-2483.6 MHz區間內,速率最高可以達到250Kb/s。
對系統的硬件部分進行設計時,重點對ZigBee無線通信模塊進行設計,ZigBee無線通信模塊主要包含Zigbee RF收發器模塊、數據結構單元、傳輸構成等,其中Zigbee RF收發器模塊主要采用了TI系列的CC2530 芯片,ZigBee的CPU采用的是標準型號8051 CPU,該型號的選用,極大地保證了系統數據存儲時的性能,并且穩定性較高。
ZigBee無線通信模塊的設計,保證了魚塘水質監測數據傳輸的安全性、穩定性和精確性,基于網關設備,采用CC2530 芯片來完成傳感器對數據的采集和處理,讓設備之間的通信能夠順利執行下去。系統終端設備(如顯示器)主要通過USB接口來對主機進行了連接和通信,進而從主機中獲取魚塘水質監測數據。這樣的傳輸方式可以保證數據傳輸的安全和穩定。終端數據還需要通過處理單元來對水質參數進行整理并將該部分數據傳輸到協調器。這些數據內容主要包括魚塘水質的溫度、濕度、PM2.5氣體、有毒氣體的具體數值。在設置了正常參數和邏輯判斷的情況下,通過對這些監測數值進行采集并對比,很快便能實時反映出魚塘水質的問題。通過對數據進行收集和整理,可以幫助系統更加直觀地將分析結果最終顯示出來。
基于Zigbee的魚塘水質監測系統的網絡拓撲構建,需要根據系統的具體需求選擇最合適的組網方式,常見的網絡拓撲形式主要包括網格、星形、樹形等。由于ZigBee網絡僅有1個協調器,路由器和終端節點較多,協調器在整個系統中起到了管理員的作用,需要對頻段設置固定的數值,進而方便系統終端能夠快速顯示檢測結果。協調器還可以對各類傳感器終端節點進行管理,通過對節點進行新增、刪除的操作,來對設備進行擴展、精簡。當檢測到魚塘水質的有效信息后,主要通過檢測終端節點來對這些有效信息進行接收和發送。在系統的組網結構中,其包含的路由器、傳感器終端節點都屬于系統的網絡層的組成部分。終端數據主要根據具體的應用設置而進行顯示,并發生變化。
在對基于Zigbee的魚塘水質監測系統進行軟件設計時,其主要設計內容就是對傳感器節點和中心節點的設計,因此,系統軟件部分的設計流程如圖3所示。其中傳感器節點主要負責通過傳感器來采集魚塘水質的有效信息,并且以20秒為采集周期,將采集到的信息發送至中心節點。中心節點的主要作用就是接受傳感器節點傳輸過來的數據并進行預處理,再通過CDMA模塊將數據傳輸到監控中心,在對監控中心傳輸數據的過程中,中心節點需要通過監控網絡來對傳感器節點的網絡分配和地址進行查看。監控中心主要由傳感器網絡管理和監控模塊組成,其中監控中心的界面主要通過VB語言開發而成,在對傳感器網絡進行管理的過程中,實際上就是TCP/IP協議和中心節點的通信,從而管理服務器外部網絡的IP地址。

圖3:系統軟件流程圖

圖4:CDMA數據傳輸串口調試狀態圖
本課題主要采用了IARSystems、IAREmbeddedWorkbench技術來對系統的軟件部分進行設計,其中IAREmbeddedWorkbench實際上是一個集成化的開發環境,可以支持不同類型芯片的嵌入式開發,并且方便開發人員對程序進行編譯和走讀。
對于系統的網絡架構來說,最核心的設備就是協調器,協調器在系統的網絡結構中起到了非常重要的作用,主要負責對系統網絡的構建和管理,管理員用戶進入系統后,第一步就是對硬件進行初始化,然后就是對協議棧進行初始化。完成初始化之后,就可以直接啟動網絡,網絡成功啟動后,協調器可以對系統的終端設備進行通信,接收來自傳感器的采集數據,并由USB接口將數據傳輸到系統終端界面。
終端節點的主要作用就是對傳感器數據進行接收、整理并進行顯示。當系統的硬件設備和協議棧初始化成功后,即可在終端開始對協調器進行搜索,并通過參與網絡,將傳感器采集并發送過來的數據傳送到協調器。終端的工作流程如圖3所示。
本課題通過對傳感器、協調器以及其他設備的設計和應用,以某魚塘為例,設計并實現了基于Zigbee的魚塘水質監測系統。系統通過1個中心節點和若干個傳感器節點,完成對水質問題參數的設置后,通過對某魚塘水質的溫度、電導率、pH值、濁度、溶解氧等進行實時檢測,檢測到的實際數據由傳感器節點發送到中心節點,通過CDMA模塊將數據傳輸到監控中心,在最終顯示到PC端,終端具體的顯示界面如圖4所示。
本課題研究的基于ZigBee技術的魚塘水質環境監測系統的設計與實現,主要采用CC2530 芯片來系統的硬件部分進行設計。系統的最后的測試結果表明,系統終端能夠實時接收到傳感器節點采集的魚塘水質監測數值,并且顯示出來。很好地解決了目前水質監測面臨的不能實時監測并顯示數據、投入成功較高、傳輸過程容易受到其他因素的干擾等問題。系統具有較高的安全性、可靠性、精確性和實用性。