無線感測器網狀網路系統構建方法論文

才智咖 人氣:2.71W

引言

無線感測器網狀網路系統構建方法論文

無線感測器網路作為一種測控網路,投資成本低、體積小、價效比高,以監測物理世界為主要目標,專注於從外界獲取有效資訊[1]。但是感知節點有限的硬體資源使得能量、計算、儲存及通訊能力也大大受限[2-3]。而網路拓撲的多變性和網路環境狀況以及外在環境又要求無線感測器網路具有自組織的能力,能夠自動組網執行、自行配置維護以及適時轉發監測資料[4]。因此為了實現資料的融合和通訊的可靠傳輸,整個無線感測器網路的建立和維護至關重要。在網路拓撲結構中,網狀拓撲結構可靠性高,故障修復能力強,結構可靈活多變,特別適用於隨機佈置,需要隨機構建無線網路的場合。但是相對其他網路拓撲結構,網狀網路系統的建立和管理更為複雜[5],路由演算法也更為複雜。現針對感測器網路週期工作採集環境資料資訊的特點,提出一種無線感測器網狀網路的建立和管理的方案。各節點依據隨機形成的拓撲結構和通訊環境來構建網路,最終在通訊連通域(指一片區域內節點的集合,且其中任意兩個節點能夠直接或多跳的方式進行通訊)內形成一個整體的網路系統。其中將網路的部分維護工作和應用功能相結合,從而達到減少網路管理上和路由更新的開銷,簡化網路維護工作的目的。

1問題分析

1.1上電過程中問題

1)當一個節點上電開始工作時,先確定是否為第一個上電節點或者周圍可通訊範圍內有無其他已上電的感知節點,若無則此節點應該自己確定一系列網路引數,建立一個網路系統。否則說明已經存在其他網路,則此節點應該申請加入現有網路。

2)當有網路時可能存在多個網路的情況(如圖1所示),此時節點不僅需要申請加入優先順序高的網路,同時還需要告知優先順序低的網路的節點更改網路引數,加入到高優先順序的網路,合併成一個整體無線網路系統。

3)若多個節點同時上電且沒有可用網路,則這些節點完成網路初始化配置後也應該處於同一網路中,而不是各自建立不同網路。

1.2週期工作過程中的問題

1)新一輪週期開始時,很可能存在新的節點加入或者某些節點故障而丟失(如圖2所示),此時通訊環境已經發生變化,對某些通訊鏈路已經造成影響,因此路由表需要做出相應調整。

2)系統工作中受外界環境影響,節點間可能受障礙物遮擋,原本連通的鏈路失效了,此時路由表也應該相應進行維護,發現新的可行路由(如圖3所示)。

3)多個無線網路在一開始可能處於不同的通訊連通域,但環境改變後處於同一通訊域裡面了,也應該合併成一個大的網路,從而能夠收集匯聚更大的地理區域的環境資訊。

2上電啟動過程

1)節點上電後,首先完成硬體的初始化,包括配置各個介面,以及給GPS模組傳送初始控制命令等。

2)硬體初始化完成後,從flash晶片裡讀取啟動方式(CPU的非易失性儲存flash儲存上次工作時的狀態資訊),確定此次上電是全新上電模式還是繼續工作模式。全新上電是指節點開始進行新的感知測量任務。繼續工作模式是指節點已經有某個感知任務,由於故障等原因需要重新上電,此時節點需要繼續之前的工作任務。全新上電的節點需要對當前網路環境進行掃描,獲取最新網路資訊,做出相應的反應。繼續工作模式的節點則需要恢復故障前的工作狀態,並嘗試與其他節點恢復通訊。全新上電模式啟動過程可分為以下幾步:

a.獲取GPS定位資訊。無線感測器網路具有周期採集資訊,在完成此次應用任務後通過休眠的方式來節省能量的.特點。當一個節點上電時,其他節點可能處於休眠狀態,為了能與其它節點同步通訊,先需要在週期上保持同步,可以從GPS模組的輸出資訊中提取當前時間。

b.休眠。獲取GPS時間後節點進入休眠態,直至與其他節點同時喚醒,以此保持週期上的同步。

c.掃描網路。節點喚醒後由離線狀態(未加入任何網路)進入掃描狀態(掃描周圍網路),若節點在達到超時時間Ttime-out時還沒有檢測到可用的網路,則進入建立網路狀態,自己建立一個新的網路。其中Ttime-out是關於節點地址n的單調遞增的函式,多節點同時上電時地址最低的節點最先進入建立網路狀態。當一個節點建立網路後,就可被其他節點掃描並申請加入網路。從而防止多個節點建立多個網路。

d.若掃描到可用的網路(可能存在多個可用網路),則選定優先順序高的為目標網路(規則可擬定),同時給處於低優先順序網路的節點發送資訊通知改變他們的網路配置,用以將多個網絡合併成一個大的網路。

e.然後此節點轉入尋求入網狀態,申請加入網路,若加入成功,則獲取網路資訊並存入flash儲存起來,然後開始週期工作。

f.若加入網路失敗(如地址衝突),則節點自己單獨週期工作,避免影響已經工作的網路系統。

g.若沒有掃描到可用的網路,則節點根據自己的地址資訊確定網路通道、網路ID等引數,建立一個新的網路,開始週期工作,並且管理此網路,接收其他節點的申請。

繼續工作模式啟動過程可分為以下幾步:

a.從flash晶片讀取之前的工作狀態和網路資訊,包括網路通道、網路ID、節點資料儲存情況、路由表資訊等。根據這些資訊恢復暫存器資訊,將節點配置成斷電前的工作狀態。

b.獲取GPS資訊,獲得當前時間,並休眠至下一個喚醒時間點,保持工作週期的同步。c.嘗試與其他節點建立通訊。在整體網路不出現故障的情況下,此故障節點可完全恢復所有功能,繼續週期地工作。

3週期工作過程

合理的週期工作過程不僅可以保證應用任務的良好完成,同時也能保證系統的穩定執行,週期工作過程可分為以下幾個步驟:

1)喚醒。節點喚醒後先等待一段時間,用來完全恢復各個模組功能,同時也給新上電的節點掃描網路資訊。

2)應用任務。接下來可以根據不同的應用,執行使用者所需的任務。例如採集外部溫溼度環境,由GPS模組獲取位置資訊,無線通訊進行資料的融合等。

3)網路維護。在無線網路執行中,受環境、節點位置等因素影響,通訊鏈路可能中斷,也可能出現新的鏈路,因此需要不停地檢查網路,根據最新的網路狀態更新路由路徑、節點數量等等網路資訊。網路維護是保證整個網路實時更新、檢查排除網路錯誤、更新路由表的關鍵步驟。網路維護的方法分為以下幾步:

a.各個節點按地址先後順序,掃描所有通道,確定當前周圍網路情況。當一個節點掃描時,其他節點可根據接收到的掃描資訊幀來確定哪些節點可與自己直接通訊(即不需多跳來互動資料),為更新路由做準備。

b.若發現新的網路則先判斷哪個網路優先順序更高,然後通知低級別網路中的所有節點更改網路配置,合併入優先順序高的網路形成一個大的網路。

c.根據之前記載下來的直接通訊資訊,更新自己的鏈路情況,並廣播自己鏈路資訊。d.根據所有節點的鏈路情況可計算出最新的路由表,例如根據迪傑斯特拉提出的最短路徑演算法計算最短路徑路由協議。

4)休眠。節點週期性的休眠可以大大降低功耗,若有不定時長的或實時性要求不高的使用者任務也可在這段時間執行,執行完後再休眠。

4結論

筆者使用TI公司的CC2530無線收發晶片為核心搭建硬體平臺,以zigbee無線通訊方式,程式設計實現了上述上電啟動過程和週期工作過程,實驗表明上述方法能使多節點在隨機拓撲結構和隨機上電順序的情況下,最終加入同一網路。執行中出現鏈路問題時路由表和其它網路資訊也能及時得到維護。節點故障修復後也能通過儲存的網路資訊恢復至之前工作狀態。整個無線系統具有良好的穩定性。