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