摘 要: 基于無線傳感器網絡的Ad Hoc自組網技術及AODV技術,結合適用于農業環境參數傳輸的路由特點,完成了農業信息遠程數據采集與無線傳輸網絡的路由報文設計,并給出了按需平面距離矢量路由協議(AODV)的工作流程。該方案具有體積小、成本低、功耗低的特點,支持網狀拓撲結構,可以快速組網,順利讀取農業環境的土壤溫度、濕度、光照等信息。
關鍵詞: ZigBee;路由協議;AODV;網狀網;農業信息
隨著信息化和數字化在全球范圍內的普及與應用,傳統農業和現代農業也向著數字化農業方向轉變,其核心是精準農業。因此信息的實時采集、迅速傳輸與及時分析、處理就顯得非常重要。農業信息數據傳輸具有需要數據采集或監控的網點多、要求傳輸的數據量不大且數據傳輸可靠性高、安全性高、要求設備成本低、體積很小、不便放置較大的充電電池或者電源模塊、電池供電、地形復雜、監測點多、需要較大的網絡覆蓋等特點[1]。另外,現有移動網絡存在覆蓋盲區,使用現存移動網絡進行低數據量傳輸的遙測遙控系統效果差或成本太高。目前,在無線傳感器網絡中,ZigBee技術以其設備成本低、電池壽命長、數據傳輸安全可靠、組網簡易靈活等獨特的優勢,在家居智能化、工業自動化和醫療護理等領域獲得了廣泛應用,所以基于ZigBee技術的無線組網方案在精準農業中的應用就顯得很有必要。
ZigBee無線傳感器網絡結構是自組網方式,有終端節點的加入和退出,網絡可以自動調整通信連接方式,核心是路由路徑的重新選擇。網絡結構有樹狀網、星型網和網狀網,在一個協調器管理的范圍內,所有節點都通過自動選擇的路由或預先設定的路由與協調器節點進行數據命令的交換。農業信息采集系統中,每塊試驗田被設置為一個獨立的網絡,網絡中各個節點的路由均設計為按需路由方式,也就是按需距離矢量路由協議AODV(Ad Hoc on-demand Distance Vector)[2]。本文在熟悉AODV的基礎上,給出了基于ZigBee無線傳感器網絡技術的農業信息遠程采集系統框圖,進行了無線網絡中按需距離矢量的路由設計,并給出了協議的工作流程。
1 遠程數據采集系統整體架構
本文設計的農業信息采集系統中,將每塊試驗農田設置成一個獨立的ZigBee網狀網絡[3],每個網絡只有一個中心節點(即協調器端),其他終端節點(由MCU和無線收發芯片構成)都設置為具有路由器功能的路由節點,并連接有土壤PH值、氮濃度計、大氣溫濕度等傳感器。這些不承擔網絡信息中轉任務的ZigBee終端節點在自己信號覆蓋的范圍內,彼此間通過ZigBee無線方式連接,然后將檢測到的數據資料匯集到ZigBee中心節點。由于每塊試驗田的中心節點和遠程中央控制中心均配置有GPRS模塊,所以中心節點就會將收集到的數據通過GPRS無線通信方式傳輸到中央控制中心,經由系統軟件對該控制中心所管轄的農田參數進行綜合分析,并做出相應控制決策。
本文給出了如圖1所示的結構設計,協調器節點模塊、FFD路由器節點模塊和GPRS模塊采用相同的硬件和軟件設計。不同的是GPRS模塊通過在硬件中采用跳線的方式來選擇無線模塊工作在主協調器模式還是從路由器模式,以達到增強無線模塊的通用性、靈活性和節約成本的目的。系統工作時,由ZigBee協調器建立一個新的ZigBee網絡。首先,ZigBee協調器會在允許的通道內搜索其他的ZigBee協調器。并基于每個允許通道中所檢測到的通道能量及網絡號,選擇唯一的16 bit PAN ID,建立自己的網絡。一旦一個新網絡被建立,ZigBee路由器與終端設備就可以加入到網絡中,從而在ZigBee無線通信技術的基礎上,基于GPRS通信方式實現對農田數據的遠程采集、傳輸及控制[4]。各個數據采集節點到協調器節點之間的數據傳輸是本系統的重點和難點,在對比了多種路由協議后,本文選擇按需距離矢量路由協議AODV完成本系統的路由設計。
2 ZigBee無線傳感器網絡系統路由報文設計
AODV(Ad Hoc on-Demand Distance Vector)是基于距離矢量算法的路由協議,它是DSR和DSDV結合生成的一種按需路由協議,綜合運用了DSR路由發現/查找/維護和DSDV跳計數(hop-by-hop)、序列號和周期更新的原理機制。AODV協議只保持需要的路由信息,不需要節點維持通信過程中未激活到達目的節點的路由信息,因此在節點移動導致網絡拓撲發生快速變化或者鏈接中斷的情況下能夠快速收斂響應和修復中斷的鏈路[5]。其特點是:通過使用目的節點序列號可有效降低閉環路由發生概率,解決基于距離矢量路由算法存在無限跳計數的問題。由于需要周期性地廣播報文分組和路由信息,以解決路由失效的問題,因此會帶來較大的協議開銷。
本系統網狀網結構中,每個終端節點到協調器節點的路由可以有多個,路由表的維護也比較復雜,為此對每個節點的路由請求、路由應答、路由錯誤及修復、路由節點應答的數據格式采用了雙字設計,便于路由識別和擴展[6]。
2.1 ZigBee路由請求RREQ報文設計
路由請求(RREQ)報文的字段設計如表1所示,其中各部分的含義:J為路由加入標記位,用于組播字段時多目標傳輸標記;R為路由有效標記(1表示路由有效);G為無請求路由應答標識位,此位置為1,表示RREQ報文被中間節點響應,并使中間節點向目的節點單播一個RREQ報文;置0,表示不需要中間節點響應。D為單個目的節點標志位,表示只有一個目的節點可以對RREQ報文分組做出響應;U為未知目的地標識位,當目的節點序列號未知時置為1;Reserved為12位二進制保留位,發送時設0,接收時對其不作處理;Hop count為跳計數,記錄RREQ從信源到應答節點所經過的跳計數,長為1 B,8位二進制;RREQ ID為報文分組標記,設定為2 B,32位二進制,Destination IP address為32位二進制目的節點IP地址,Destination sequence number是路由進程中存儲的目的節點最新序列號, Originator IP address是廣播RREQ報文分組的信源節點IP地址,Originator sequence number是信源節點序列號,均為32位二進制數據格式。
2.2 ZigBee路由應答RREP報文設計
RREP路由應答報文分組格式如表2所示,其中R為路由修復標記,用于組播字段;A為需要確認標記,表示是否需要確認收到RREP報文分組;Prefix size為預置數據長度,長為1 B; Hop count為1 B跳計數,記錄從信源到相鄰或中間節點所經過的跳計數值;Destination IP address為目的節點IP地址,數據長度為2 B;Originator IP address為雙字長度的信源IP地址,也是廣播RREQ報文分組的節點IP地址,Life time為路由存活時間。
2.3 ZigBee路由錯誤RERR報文設計
RERR報文分組格式如表3所示,各個部分的含義為:N為不刪除路由標志,當某個節點正在對一條鏈路路由進行本地修復時,設置N為1,這個節點的上行節點不刪除本條路由;Unreachable destination count為不能到達的目的節點計數,數據長度為2 B,表示RERR報文分組不能到達目的節點的計數值至少要為1;Unreachable destination sequence number為不能到達目的節點序列號,數據長度為2 B,是路由表中保存的原先不能到達的目的節點對應的序列號;Unreachable destination IP address數據長度為雙字,表示由于鏈路中斷,不能到達的目的節點的IP地址。
2.4 ZigBee路由應答反饋RREP-ACK報文設計
RREP-ACK路由應答認可報文分組格式如表4所示。當一個RREP中的控制位(A)被設置為1時,給RREP回傳一個路由應答認可報文分組(Route Reply Acknowledgement)。如果存在單向鏈路影響干擾路由尋找進程時,也會發送RREP-ACK報文分組,以免形成路由環路。該應答格式中TYPE 為1 B的數據類型,Reserved為擴展保留位,長為3 B。
3 ZigBee無線傳感器網絡系統路由過程設計
本文對路由報文的設計是根據農業信息數據采集系統的通信特點和要求進行的,試驗田內各個節點間的距離較長,而數據節點到協調器節點的路由選擇不是唯一的。ZigBee網絡系統中各節點之間是網狀網,任意一個路由器節點向協調器節點發送數據時,協調器節點為目的節點,發送節點為信源節點。
本文設計的AODV協議對路由表的管理,若存在壽命周期較短或者接收RREQ和轉發RREP時建立的臨時路由,也應相應建立和維護其路由表信息。路由表建立后,每個節點都維護路由、管理路由表。當拋棄路由或者路由失效時,節點就會刪除對應的路由表;當發生鏈路斷開情況時,目的節點發出路由錯誤RERR并通知其他節點進行路由修復,重新建立信源節點到達目的節點的有效路由。下面給出路由過程設計。
3.1 ZigBee廣播路由查找建立過程
報文廣播路由查找建立過程如圖2所示。如果節點1(信源節點)到節點7(目的節點)之間一開始就有相互可到達的有效路由信息,則AODV路由查找進程不起作用。當節點1沒有到達節點7的有效路由信息時,信源便啟動廣播路由請求RREQ報文分組查找路由的過程,信源廣播RREQ包含信源地址、信源序列號、目的節點地址、目的節點序列號和跳計數等參數。相鄰節點4、6在收到RREQ時,則建立或更新到達信源的反向路由信息,并經中間節點4、6到達目的節點7。目的節點7收到RREQ后,通過相鄰節點4、6轉發RREP至信源。信源為尋找有效路由,會沿多條路徑廣播RREQ,RREP則沿著建立好的反向路徑(節點6、節點4)轉發至信源,同時對中間節點路由表信息進行更新,以此建立信源節點1—節點4—節點6—目的節點7的一條有效報文分組轉發和路由信息傳遞路徑。
3.2 ZigBee路由鏈路中斷修復過程
當目的節點發生移動時,將導致網絡拓撲變化,鏈路發生中斷,如圖3所示,目的節點7與節點6發生鏈路中斷。實線代表轉發鏈路方向,虛線代表RERR轉發或廣播方向。
若目的節點7與節點6發生鏈路中斷,節點6將按照AODV協議路由機制,轉發RERR。節點6將RERR轉發至節點4與節點5,維護路由表的節點收到RERR,更新路由表信息,將目的節點7與節點6之間的路由設置為無效,節點4在收到路由更新信息后,停止對節點6的RREQ轉發,同時將RERR繼續廣播至網絡中其他節點,如圖4所示。
AODV協議通過路由信息更新和廣播RERR的方式將路由鏈路中斷的情況播報給整個網絡。如圖5所示,實線代表RREQ重新廣播方向,虛線代表RREP應答方向。通過向全網范圍內廣播RERR,信源知道原傳輸路徑(信源節點1—節點4—節點6—目的節點7)已經發生了鏈路中斷,所以信源重新發起路由查找過程,建立新的路徑(信源節點1—節點3—節點5—節點6—目的節點7),完成鏈路中斷修復的過程。
本系統在試驗田設置的數據采集節點都是具有路由功能的節點,網狀網自組網時,路由比較靈活,每個節點到協調器節點的路由可能有多條,因此還應考慮路由優化的設計。為了在試驗中優先保證路由暢通,本文未實現理想的路由最佳化。
在對用于農業信息監控的無線傳感器網絡系統的AODV路由報文設計時做了擴展預留,對地址等信息設置了較長的數據位數,以便系統擴展節點時方便。本系統采用的路由方案成本低、功耗小、組網靈活,特別適合農業信息傳遞所遇到的地形復雜,低成本和數據傳輸速率不高的特點。
參考文獻
[1] 劉原,宋良圖.基于ZigBee技術的農業信息無線數據傳輸[J].自動化與儀器儀表,2006(5):21-25.
[2] 徐忠臣,王潛平.移動Ad hoc網絡AODV路由協議的進展研究[J].電腦知識與技術,2010,34(12):9735-9738.
[3] 劉建平.基于GPRS的無線數據傳輸模塊的設計[J].信息通信,2009(2):48-50,63.
[4] 丁海峽,賈寶磊,倪遠平.基于GPRS和ZigBee的精準農業模式研究[J].自動化儀表,2009,30(4):17-19,23.
[5] 陳旭.Ad Hoc網絡系統中AODV協議算法的研究及實現[D].西安:西安電子科技大學,2010.
[6] 劉正良.基于信任的無線傳感器網絡及其AODV路由協議研究[D].南京:南京理工大學,2010.