趙曉軍,溫丁一,申軍濤,張國騫
(河北大學電子信息工程學院,河北保定071002)
白洋淀是華北平原最大、最典型的濕地,對維護周邊生態平衡發揮著不可替代的作用。但由于上游工業生產、居民生活用水持續增加,開發利用地表水,超量開采地下水,使白洋淀濕地面積逐年減少面臨著干淀的威脅。因此,對白洋淀濕地進行監測和保護已經刻不容緩,然而濕地環境復雜,定期地對濕地各個區域進行監測保護將會耗費大量人力物力,而且不能做到實時監控,有一定的滯后性。
現在基于ZigBee的無線傳感網絡具有低功耗、低速率、低成本、高安全性以及全數字化等諸多優點使得其輕松地解決了濕地監測方面的問題。因此本文采用ZigBee無線傳感技術構成靜態無線傳感網絡覆蓋濕地的復雜的地形區域,以無人船攜帶ZigBee節點構成移動節點來監測水質信息,形成更大范圍的現場監測網絡。現場網絡通過GPRS通信技術連接互聯網,互聯網網站用來實時顯示濕地各區域的溫度、濕度、水質等信息。從而實現了對濕地環境的大范圍監測,為及時地采取保護濕地的行動和措施提供實時的信息。
基于ZigBee和互聯網的遠程監控系統可分為現場ZigBee無線傳感監測網絡、網關和監控網站終端3個部分。遠程監控系統的總體結構如圖1所示。

圖1 遠程監控系統的總體結構圖
現場監測網絡采用ZigBee無線傳感網絡,ZigBee固定節點和移動節點(無人船等)攜帶各類傳感器來監測濕地環境數據,路由節點組成中間傳輸線路負責把這些數據傳給協調器[1-2]。網關負責把 ZigBee 協調器接收來的數據通過GPRS傳到互聯網上確定地址的服務器。監控網站終端把接收到的信息進行識別,分組儲存到數據庫中,并把監控到的信息和各節點的分布、工作情況顯示在網站的前臺頁面上,這樣用戶可以隨時隨地登錄網站,訪問網站數據庫來查看監控信息,而且網站還可以顯示ZigBee各個節點的工作情況,了解整個網絡的工作情況,如果發生故障,便可以及時了解制定決策方案。
ZigBee是一種基于IEEE802.15.4的無線通信協議,它包含了有關組網、安全和應用軟件方面的技術標準。而且具有功耗低、成本低、網絡容量大、安全性高、協議簡單、全球通用等優勢。因此非常適宜小數據流的傳輸。
完整的ZigBee協議棧由高層應用規范、應用匯聚層、網絡層、數據鏈路層和物理層組成。網絡層以上協議由ZigBee聯盟制定,IEEE802.15.4負責物理層和鏈路層標準[3]。協議棧構架如圖2所示。

圖2 協議棧構架
現場靜態監測網絡負責覆蓋濕地復雜地形區域,以全功能設備(FFD)作為協調器和路由節點來組建網狀拓撲結構的網絡,以精簡功能設備(RFD)作為終端節點來采集信息。
ZigBee網狀拓撲結構是一個高級別冗余性網絡。它能自動選擇最優的傳播路徑,提高連接質量。當路由節點部署的密度夠大時,一旦一條最優的通信路徑中斷,網絡會自動在冗余的其他路徑中選擇另一條最合適的路徑維持正常通信,這就很大程度地提高了系統信息傳輸的可靠性和穩定性[4]。
為了確保各個終端節點處于正常工作狀態,所有的終端節點每隔1 min發送一次信息給協調器,協調器不斷檢查節點信息,如果5次檢測不到某個節點的信息,則認定該節點出現故障,則向上級發送故障警報。
建立網絡過程如圖3所示。

圖3 ZigBee網絡構建流程圖
網絡中移動節點主要是利用無人船等設備配備終端節點來監測濕地的水質信息,然后把采集到的水質信息通過動態連接靜態網絡路由節點,它能配合陸地上的靜態監測網絡來實現濕地的全方位監測。
移動節點設計主要問題是移動節點入網和出網的問題,移動節點移入移出靜態網絡或者從一個靜態網絡移出而進入另一個網絡,要保證信息傳輸的連貫性和無失真。這里采用了一種信號能量檢測的方案:ZigBee協議棧的物理層包含信號能量監測的功能。根據ZigBee協議定義,通信過程中接收方有兩個數值能反映兩個通信節點的距離,那就是接收信號強度指示RSSI和LQI[5]。
移動節點移入網絡過程中網絡中的節點會接收到移動節點的信號,這需要在靜態網絡各個路由中預先設定好最大門限值(RSSI_Max和LQI_Max),而且需要移動節點以廣播的方式發送自己的RSSI和LQI,這樣路由節點可以從移動節點的廣播發送中得到RSSI和LQI。然后與設定好的RSSI_Max和LQI_Max值進行比較,如果比門限值大則該路由查找路由表,如果移動節點不存在,則把移動節點注冊為子節點,隨后馬上通知移動節點解除與原父節點的關聯[5]。這樣就解決了網絡切換中的通信中斷問題。移動節點切換接入流程如圖4所示。

圖4 移動節點切換接入設計
ZigBee網絡以CC2530[6]芯片為核心,網絡中的協調器、路由節點和終端采集節點都采用CC2530芯片。結構如圖5所示。CC2530芯片外圍射頻電路采用巴倫電路,由于CC2530的RF輸入/輸出是高阻抗差分信號,要想使用倒F天線(PCB天線),需要設置巴倫電路(通常說的平衡/非平衡變壓器)以達到最佳性能,巴倫電路可以使用低成本的電感和電容實現。終端節點需要在CC2530的最小電路上接上各種傳感器,用來采集現場的各類信息。

圖5 ZigBee節點硬件結構圖
要把ZigBee網絡監測到的數據傳輸到網絡上需要一個網關,這里采用ZigBee/GPRS網關,它的硬件組成包括TI公司生產的CC2530和MSP430F149芯片、GPRS模塊GTM900(帶天線)、外圍射頻發射電路。硬件結構如圖6所示。

圖6 網關硬件結構圖
MSP430是一個16位的單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式,簡潔的27條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。因此以MSP430為核心處理芯片,CC2530作為ZigBee網絡協調器,由于采集節點比較多,為了保證通信的速度和效率,這里采用SPI方式實現CC2530與MSP430的數據通信。MSP430把信息進行處理并通過串口傳輸給GPRS模塊GTM900,這里采用3.3 V供電的GTM900,因為MSP430也是3.3 V供電,所以省略了電源轉換電路,從而簡化了硬件設計。為了避免出現故障或掉電造成的數據丟失,也為使SPI與串口數據傳輸速度保持同步性。把MSP430處理好的數據存入SD卡中緩存一下,再從SD卡中讀取數據傳送給GPRS模塊。GPRS模塊負責把數據發給指定IP的網絡服務器[7]。
CC2530協調器采用的是2007協議棧協調器程序,其中內嵌了SPI程序,這里只需稍作修改。MSP430中編寫了SPI程序和串口程序,分別與CC2530、SD卡、GPRS模塊通信。由于MSP430串口與SPI接口共用,而且MSP430有兩個串口,因此必須通過IO口模擬出一個串口。GPRS無線通信模塊內嵌TCP/IP協議,MSP430編程時調用AT指令來操作GPRS模塊,這樣就能方便地與控制中心的服務器建立TCP/IP連接。這樣一來,系統的軟件設計就再也不用考慮鏈路層PPP的腳本控制程序和網絡層TCP/UDP套接字程序的設計,從而大大降低了軟件設計部分的復雜度,有效地提高了系統的可靠性。MSP430程序流程圖如圖7所示。

圖7 MSP430程序流程圖
終端檢測網站程序是在ASP.NET平臺下用C#語言編寫的B/S模式和C/S模式的軟件程序,程序主要包括前臺程序、Windows服務程序和數據庫操作程序,如圖8所示。

圖8 網站終端結構
前臺程序是編寫的B/S模式下的網頁程序,包括登錄頁面程序、監測頁面程序和用戶操作頁面程序。這樣可使不同權限的用戶登錄不同的頁面,進行不同權限數據的監測和數據庫的操作。Windows服務程序是編寫的C/S模式下的運行在服務器上的后臺程序,它是通過Socket套接字按TCP/IP協議與GPRS進行數據傳輸,并把數據儲存到數據庫中[8]。數據庫操作程序也是編寫在運行于服務器后臺的Windiws服務程序中的。Windiws服務程序用SQL語言把從互聯網中得到的數據存入數據庫。
利用互聯網B/S的網絡結構體系和C/S的后臺操作功能,增強和擴大了設備的管理能力和范圍。在實時采集數據的基礎上,還可以對數據進行再加工,生成報表、曲線、圖表等圖形化內容供用戶參考,以做出更好、更準確的決策。同時企業減少了數據采集、處理、維護等活動的時間和工作量,可以獲得更好的經濟效益。
本實驗以白洋淀濕地為試驗點,實驗中分布安裝了20個終端節點來采集濕地的溫度、濕度和光照強度。而且分布了10個路由節點組成靜態網絡來傳輸信息,有一條船攜帶移動節點來采集水質信息。移動節點采集的信息加入靜態網絡后把信息傳給路由節點。各個節點采集的數據通過GPRS/ZigBee網關傳輸到實驗室的網絡服務器上,通過實驗室另一臺計算機登錄服務器,成功對現場進行了監測。如圖9為網站顯示現場節點測試結果。

圖9 網站顯示現場節點的采集信息(截圖)
圖9為通過計算機訪問遠程網站來查詢站點的數據,實驗表明現場采集節點工作良好,而且能很好地將采集的數據傳到網站上。網站可以查詢各個節點工作情況,如果某個站點出現問題則可以及時采取相應的措施。
通過對大量節點監測數據,實驗結果表明ZigBee網狀結構具有穩定性,當取走一個路由節點時,網絡運行正常。而且路由節點的增加會使網絡的丟包率降低、延時變小,而且隨著網絡的增大,網絡的穩定性和所覆蓋的范圍可以大大提高。增加路由節點的個數縮短了節點距離,可以使發射功率減小。但如果減少節點數,則節點的距離增大會出現丟包和延遲現象。因此需要在降低網絡延遲和丟包率、增加發射功率且降低功耗上作進一步研究。
本方案是基于ZigBee和互聯網的遠程監控系統軟硬件設計方法,通過ZigBee構成的節點監測網絡,以靜態網絡和動態節點相結合全面覆蓋濕地各個區域,實現了對白洋淀濕地的實時大范圍監測,網關通過GPRS成功地把監測結果發給互聯網網站,服務器網站把結果顯示在前臺頁面上,而且通過數據庫實現了監測結果的長期存儲,通過濕地不同時期狀況的對比來預測濕地的發展趨勢,客戶端可以隨時隨地登錄網站查看信息,及時做出解決方案。
[1]祝曉東,肖四友.ZigBee技術在無線溫室數據采集系統中的應用研究[J].計算機應用系統,2007(12):82-85.
[2]朱永利,陳濤,郭少杰.ZigBee技術在無線抄表中的應用[J].電力系統通信,2008(8):37-39.
[3]王欽,陳忠輝,陳新.基于ZigBee的倉庫溫濕度采集系統設計[J].計算機與數字工程2009,37(9):207-211.
[4]陶曉玲,黃廷磊,王勇.ZigBee網狀網技術探討[J].廣西師范學院學報:自然科學版,2006,23(3):67-71.
[5]劉騫,孫懋珩.ZigBee網絡移動節點接入與切換機制仿真分析[J].計算機與現代化,2008(1):60-62.
[6]盛希寧,顧濟華.基于ZigBee無線傳感網絡的實驗室監控系統設計[J].電子工程師,2007,33(9):67-73.
[7] YANG Xinkai,LIGeng.Pervasive computing oriented automatic meter reading system based on ZigBee and GPRS[J].Journal of Shanghai Normal Universtity:Natural Sciences,2007,36(4):41-43.
[8]明日科技.C#程序開發范例寶典[M].北京:人民郵電出版社,2007.