- 相關(guān)推薦
無(wú)線(xiàn)傳感器網(wǎng)狀網(wǎng)絡(luò )系統構建方法論文
引言
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )作為一種測控網(wǎng)絡(luò ),投資成本低、體積小、性?xún)r(jià)比高,以監測物理世界為主要目標,專(zhuān)注于從外界獲取有效信息[1]。但是感知節點(diǎn)有限的硬件資源使得能量、計算、存儲及通信能力也大大受限[2-3]。而網(wǎng)絡(luò )拓撲的多變性和網(wǎng)絡(luò )環(huán)境狀況以及外在環(huán)境又要求無(wú)線(xiàn)傳感器網(wǎng)絡(luò )具有自組織的能力,能夠自動(dòng)組網(wǎng)運行、自行配置維護以及適時(shí)轉發(fā)監測數據[4]。因此為了實(shí)現數據的融合和通信的可靠傳輸,整個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的建立和維護至關(guān)重要。在網(wǎng)絡(luò )拓撲結構中,網(wǎng)狀拓撲結構可靠性高,故障修復能力強,結構可靈活多變,特別適用于隨機布置,需要隨機構建無(wú)線(xiàn)網(wǎng)絡(luò )的場(chǎng)合。但是相對其他網(wǎng)絡(luò )拓撲結構,網(wǎng)狀網(wǎng)絡(luò )系統的建立和管理更為復雜[5],路由算法也更為復雜,F針對傳感器網(wǎng)絡(luò )周期工作采集環(huán)境數據信息的特點(diǎn),提出一種無(wú)線(xiàn)傳感器網(wǎng)狀網(wǎng)絡(luò )的建立和管理的方案。各節點(diǎn)依據隨機形成的拓撲結構和通信環(huán)境來(lái)構建網(wǎng)絡(luò ),最終在通信連通域(指一片區域內節點(diǎn)的集合,且其中任意兩個(gè)節點(diǎn)能夠直接或多跳的方式進(jìn)行通信)內形成一個(gè)整體的網(wǎng)絡(luò )系統。其中將網(wǎng)絡(luò )的部分維護工作和應用功能相結合,從而達到減少網(wǎng)絡(luò )管理上和路由更新的開(kāi)銷(xiāo),簡(jiǎn)化網(wǎng)絡(luò )維護工作的目的。
1問(wèn)題分析
1.1上電過(guò)程中問(wèn)題
1)當一個(gè)節點(diǎn)上電開(kāi)始工作時(shí),先確定是否為第一個(gè)上電節點(diǎn)或者周?chē)赏ㄐ欧秶鷥扔袩o(wú)其他已上電的感知節點(diǎn),若無(wú)則此節點(diǎn)應該自己確定一系列網(wǎng)絡(luò )參數,建立一個(gè)網(wǎng)絡(luò )系統。否則說(shuō)明已經(jīng)存在其他網(wǎng)絡(luò ),則此節點(diǎn)應該申請加入現有網(wǎng)絡(luò )。
2)當有網(wǎng)絡(luò )時(shí)可能存在多個(gè)網(wǎng)絡(luò )的情況(如圖1所示),此時(shí)節點(diǎn)不僅需要申請加入優(yōu)先級高的網(wǎng)絡(luò ),同時(shí)還需要告知優(yōu)先級低的網(wǎng)絡(luò )的節點(diǎn)更改網(wǎng)絡(luò )參數,加入到高優(yōu)先級的網(wǎng)絡(luò ),合并成一個(gè)整體無(wú)線(xiàn)網(wǎng)絡(luò )系統。
3)若多個(gè)節點(diǎn)同時(shí)上電且沒(méi)有可用網(wǎng)絡(luò ),則這些節點(diǎn)完成網(wǎng)絡(luò )初始化配置后也應該處于同一網(wǎng)絡(luò )中,而不是各自建立不同網(wǎng)絡(luò )。
1.2周期工作過(guò)程中的問(wèn)題
1)新一輪周期開(kāi)始時(shí),很可能存在新的節點(diǎn)加入或者某些節點(diǎn)故障而丟失(如圖2所示),此時(shí)通信環(huán)境已經(jīng)發(fā)生變化,對某些通信鏈路已經(jīng)造成影響,因此路由表需要做出相應調整。
2)系統工作中受外界環(huán)境影響,節點(diǎn)間可能受障礙物遮擋,原本連通的鏈路失效了,此時(shí)路由表也應該相應進(jìn)行維護,發(fā)現新的可行路由(如圖3所示)。
3)多個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )在一開(kāi)始可能處于不同的通信連通域,但環(huán)境改變后處于同一通信域里面了,也應該合并成一個(gè)大的網(wǎng)絡(luò ),從而能夠收集匯聚更大的地理區域的環(huán)境信息。
2上電啟動(dòng)過(guò)程
1)節點(diǎn)上電后,首先完成硬件的初始化,包括配置各個(gè)接口,以及給GPS模塊發(fā)送初始控制命令等。
2)硬件初始化完成后,從flash芯片里讀取啟動(dòng)方式(CPU的非易失性存儲flash保存上次工作時(shí)的狀態(tài)信息),確定此次上電是全新上電模式還是繼續工作模式。全新上電是指節點(diǎn)開(kāi)始進(jìn)行新的感知測量任務(wù)。繼續工作模式是指節點(diǎn)已經(jīng)有某個(gè)感知任務(wù),由于故障等原因需要重新上電,此時(shí)節點(diǎn)需要繼續之前的工作任務(wù)。全新上電的節點(diǎn)需要對當前網(wǎng)絡(luò )環(huán)境進(jìn)行掃描,獲取最新網(wǎng)絡(luò )信息,做出相應的反應。繼續工作模式的節點(diǎn)則需要恢復故障前的工作狀態(tài),并嘗試與其他節點(diǎn)恢復通信。全新上電模式啟動(dòng)過(guò)程可分為以下幾步:
a.獲取GPS定位信息。無(wú)線(xiàn)傳感器網(wǎng)絡(luò )具有周期采集信息,在完成此次應用任務(wù)后通過(guò)休眠的方式來(lái)節省能量的特點(diǎn)。當一個(gè)節點(diǎn)上電時(shí),其他節點(diǎn)可能處于休眠狀態(tài),為了能與其它節點(diǎn)同步通信,先需要在周期上保持同步,可以從GPS模塊的輸出信息中提取當前時(shí)間。
b.休眠。獲取GPS時(shí)間后節點(diǎn)進(jìn)入休眠態(tài),直至與其他節點(diǎn)同時(shí)喚醒,以此保持周期上的同步。
c.掃描網(wǎng)絡(luò )。節點(diǎn)喚醒后由離線(xiàn)狀態(tài)(未加入任何網(wǎng)絡(luò ))進(jìn)入掃描狀態(tài)(掃描周?chē)W(wǎng)絡(luò )),若節點(diǎn)在達到超時(shí)時(shí)間Ttime-out時(shí)還沒(méi)有檢測到可用的網(wǎng)絡(luò ),則進(jìn)入建立網(wǎng)絡(luò )狀態(tài),自己創(chuàng )建一個(gè)新的網(wǎng)絡(luò )。其中Ttime-out是關(guān)于節點(diǎn)地址n的單調遞增的函數,多節點(diǎn)同時(shí)上電時(shí)地址最低的節點(diǎn)最先進(jìn)入建立網(wǎng)絡(luò )狀態(tài)。當一個(gè)節點(diǎn)建立網(wǎng)絡(luò )后,就可被其他節點(diǎn)掃描并申請加入網(wǎng)絡(luò )。從而防止多個(gè)節點(diǎn)建立多個(gè)網(wǎng)絡(luò )。
d.若掃描到可用的網(wǎng)絡(luò )(可能存在多個(gè)可用網(wǎng)絡(luò )),則選定優(yōu)先級高的為目標網(wǎng)絡(luò )(規則可擬定),同時(shí)給處于低優(yōu)先級網(wǎng)絡(luò )的節點(diǎn)發(fā)送信息通知改變他們的網(wǎng)絡(luò )配置,用以將多個(gè)網(wǎng)絡(luò )合并成一個(gè)大的網(wǎng)絡(luò )。
e.然后此節點(diǎn)轉入尋求入網(wǎng)狀態(tài),申請加入網(wǎng)絡(luò ),若加入成功,則獲取網(wǎng)絡(luò )信息并存入flash存儲起來(lái),然后開(kāi)始周期工作。
f.若加入網(wǎng)絡(luò )失。ㄈ绲刂窙_突),則節點(diǎn)自己?jiǎn)为氈芷诠ぷ,避免影響已?jīng)工作的網(wǎng)絡(luò )系統。
g.若沒(méi)有掃描到可用的網(wǎng)絡(luò ),則節點(diǎn)根據自己的地址信息確定網(wǎng)絡(luò )信道、網(wǎng)絡(luò )ID等參數,建立一個(gè)新的網(wǎng)絡(luò ),開(kāi)始周期工作,并且管理此網(wǎng)絡(luò ),接收其他節點(diǎn)的申請。
繼續工作模式啟動(dòng)過(guò)程可分為以下幾步:
a.從flash芯片讀取之前的工作狀態(tài)和網(wǎng)絡(luò )信息,包括網(wǎng)絡(luò )信道、網(wǎng)絡(luò )ID、節點(diǎn)數據存儲情況、路由表信息等。根據這些信息恢復寄存器信息,將節點(diǎn)配置成斷電前的工作狀態(tài)。
b.獲取GPS信息,獲得當前時(shí)間,并休眠至下一個(gè)喚醒時(shí)間點(diǎn),保持工作周期的同步。c.嘗試與其他節點(diǎn)建立通信。在整體網(wǎng)絡(luò )不出現故障的情況下,此故障節點(diǎn)可完全恢復所有功能,繼續周期地工作。
3周期工作過(guò)程
合理的周期工作過(guò)程不僅可以保證應用任務(wù)的良好完成,同時(shí)也能保證系統的穩定運行,周期工作過(guò)程可分為以下幾個(gè)步驟:
1)喚醒。節點(diǎn)喚醒后先等待一段時(shí)間,用來(lái)完全恢復各個(gè)模塊功能,同時(shí)也給新上電的節點(diǎn)掃描網(wǎng)絡(luò )信息。
2)應用任務(wù)。接下來(lái)可以根據不同的應用,執行用戶(hù)所需的任務(wù)。例如采集外部溫濕度環(huán)境,由GPS模塊獲取位置信息,無(wú)線(xiàn)通信進(jìn)行數據的融合等。
3)網(wǎng)絡(luò )維護。在無(wú)線(xiàn)網(wǎng)絡(luò )運行中,受環(huán)境、節點(diǎn)位置等因素影響,通信鏈路可能中斷,也可能出現新的鏈路,因此需要不停地檢查網(wǎng)絡(luò ),根據最新的網(wǎng)絡(luò )狀態(tài)更新路由路徑、節點(diǎn)數量等等網(wǎng)絡(luò )信息。網(wǎng)絡(luò )維護是保證整個(gè)網(wǎng)絡(luò )實(shí)時(shí)更新、檢查排除網(wǎng)絡(luò )錯誤、更新路由表的關(guān)鍵步驟。網(wǎng)絡(luò )維護的方法分為以下幾步:
a.各個(gè)節點(diǎn)按地址先后順序,掃描所有信道,確定當前周?chē)W(wǎng)絡(luò )情況。當一個(gè)節點(diǎn)掃描時(shí),其他節點(diǎn)可根據接收到的掃描信息幀來(lái)確定哪些節點(diǎn)可與自己直接通信(即不需多跳來(lái)交互數據),為更新路由做準備。
b.若發(fā)現新的網(wǎng)絡(luò )則先判斷哪個(gè)網(wǎng)絡(luò )優(yōu)先級更高,然后通知低級別網(wǎng)絡(luò )中的所有節點(diǎn)更改網(wǎng)絡(luò )配置,合并入優(yōu)先級高的網(wǎng)絡(luò )形成一個(gè)大的網(wǎng)絡(luò )。
c.根據之前記載下來(lái)的直接通信信息,更新自己的鏈路情況,并廣播自己鏈路信息。d.根據所有節點(diǎn)的鏈路情況可計算出最新的路由表,例如根據迪杰斯特拉提出的最短路徑算法計算最短路徑路由協(xié)議。
4)休眠。節點(diǎn)周期性的休眠可以大大降低功耗,若有不定時(shí)長(cháng)的或實(shí)時(shí)性要求不高的用戶(hù)任務(wù)也可在這段時(shí)間執行,執行完后再休眠。
4結論
筆者使用TI公司的CC2530無(wú)線(xiàn)收發(fā)芯片為核心搭建硬件平臺,以zigbee無(wú)線(xiàn)通訊方式,編程實(shí)現了上述上電啟動(dòng)過(guò)程和周期工作過(guò)程,實(shí)驗表明上述方法能使多節點(diǎn)在隨機拓撲結構和隨機上電順序的情況下,最終加入同一網(wǎng)絡(luò )。運行中出現鏈路問(wèn)題時(shí)路由表和其它網(wǎng)絡(luò )信息也能及時(shí)得到維護。節點(diǎn)故障修復后也能通過(guò)保存的網(wǎng)絡(luò )信息恢復至之前工作狀態(tài)。整個(gè)無(wú)線(xiàn)系統具有良好的穩定性。
【無(wú)線(xiàn)傳感器網(wǎng)狀網(wǎng)絡(luò )系統構建方法論文】相關(guān)文章:
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )技術(shù)論文10-17
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )多信道通信技術(shù)的分析論文09-05
傳感器無(wú)線(xiàn)互聯(lián)標準及實(shí)現09-21
研究無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的應用與發(fā)展08-23
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )協(xié)作技術(shù)綜述08-29
淺談無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的應用與發(fā)展08-18
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )故障檢測研究10-09