無線傳感器網(wǎng)絡(luò)路由WSNs全解
無線傳感器還是比較常用的,于是我研究了一下無線傳感器網(wǎng)絡(luò)路由WSNs的詳細(xì)介紹,在這里拿出來和大家分享一下,希望對大家有用。無線傳感器網(wǎng)絡(luò)(wireless sensor networks,簡稱WSNs)是當(dāng)前在國際上備受關(guān)注的涉及多學(xué)科高度交叉的熱點研究領(lǐng)域。
它綜合了無線傳感器技術(shù)、嵌入式計算技術(shù)、現(xiàn)代網(wǎng)絡(luò)及無線通信路由技術(shù)等,能夠通過各類集成化的微型無線傳感器協(xié)同工作,完成指定的任務(wù),并進(jìn)行自組織無線通信網(wǎng)絡(luò)以多跳中繼方式將所感知信息傳送到用戶終端。WSNs一般運行在人們無法接近的惡劣甚至危險的遠(yuǎn)程環(huán)境中,并且無線傳感器節(jié)點通常攜帶不能補(bǔ)充的有限能量。低能耗、低延遲、自動修復(fù)路徑成了WSNs最根本的要求。目前所存在的WSNs路由協(xié)議大都不能同時滿足這樣的條件,或者需要依靠特殊硬件才能實現(xiàn)這些功能,本文提出了一種快速可靠的低能耗路由(a fast andreliable protocol,簡稱為FRP),不僅可以滿足上面的基本要求,還可以工作于任務(wù)查詢方式及事件驅(qū)動方式,并具有較強(qiáng)的路徑修復(fù)能力。
FRP主要分為3個部分。首先是構(gòu)建路由樹結(jié)構(gòu),SINK點以洪泛方式向無線傳感器網(wǎng)絡(luò)傳播路由樹組建消息,使得網(wǎng)絡(luò)中的每個節(jié)點都擁有自己的級別值和父節(jié)點,然后SINK點將所要查詢的任務(wù)通過路由樹發(fā)布出去;最后源節(jié)點將選擇最短路徑將數(shù)據(jù)反饋給SINK點。FRP主要能夠?qū)崿F(xiàn)以下幾種功能:任務(wù)查詢、事件驅(qū)動以及路徑自我修復(fù)。而這些僅依靠普通的射頻芯片即可實現(xiàn),以下將做詳細(xì)介紹。
路由樹的建立
在無線傳感器網(wǎng)絡(luò)里,由于受到射頻芯片通信距離的限制,單個節(jié)點無法了解網(wǎng)絡(luò)中全部節(jié)點,只能知道其鄰節(jié)點的一些信息。因此第一步需要建立路由樹結(jié)構(gòu),讓節(jié)點了解其所處的級別及父節(jié)點。SINK點首先通過洪泛方式向網(wǎng)絡(luò)傳播路由樹組建消息。組建消息由組建標(biāo)志位、發(fā)送節(jié)點ID、發(fā)送節(jié)點級值組成。收到該組建消息的節(jié)點將發(fā)送節(jié)點ID記錄為父節(jié)點,然后將級值加1,并以自身ID和級值更新消息后繼續(xù)向鄰節(jié)點傳播,直到網(wǎng)絡(luò)中所有節(jié)點都擁有自己父節(jié)點和級值。由于洪泛傳輸中可能會導(dǎo)致已經(jīng)發(fā)出消息的節(jié)點再次收到鄰節(jié)點將級值加1后重新發(fā)送來的消息,從而導(dǎo)致消息循環(huán)。為了解決該問題,文中制定如下規(guī)則:當(dāng)一個節(jié)點從鄰節(jié)點處收到組建消息時,首先檢查消息中級值是否低于自身級值,如果是,則以該級值更新,并向鄰節(jié)點發(fā)送新的組建消息;否則將不予處理。在組建消息傳播過程中,節(jié)點選擇最早發(fā)送其消息,級值更低的節(jié)點作為父節(jié)點。圖1所示為路由樹的初始化過程。
任務(wù)查詢機(jī)制
當(dāng)SINK點進(jìn)行任務(wù)查詢時,首先以洪泛方式向整個網(wǎng)絡(luò)發(fā)布任務(wù)查詢命令,該命令主要由任務(wù)查詢標(biāo)志位、任務(wù)發(fā)送節(jié)點ID、任務(wù)發(fā)送節(jié)點級別、任務(wù)條件、任務(wù)存活時間等字段組成。收到該命令的節(jié)點,將以記錄的形式將本次任務(wù)存儲在本地存儲器里,每一條記錄代表不同的任務(wù)。當(dāng)節(jié)點收到任務(wù)查詢命令時,首先檢查命令中的發(fā)送節(jié)點級別,若低于本身節(jié)點,則與本地存儲的任務(wù)記錄表相比較,如果不存在該任務(wù),則添加該任務(wù)記錄。然后檢查自身是否滿足該任務(wù)條件,若不滿足,則以本身級點更新任務(wù)查詢命令中的任務(wù)發(fā)送節(jié)點ID、任務(wù)發(fā)送節(jié)點級別,然后轉(zhuǎn)發(fā)該命令;否則該節(jié)點即為源節(jié)點,并從任務(wù)查詢命令中取出任務(wù)發(fā)送節(jié)點ID,作為目標(biāo)節(jié)點,準(zhǔn)備向其發(fā)送任務(wù)確認(rèn)命令。該命令由任務(wù)確認(rèn)標(biāo)志位、源節(jié)點ID、數(shù)據(jù)發(fā)送節(jié)點ID、測量數(shù)據(jù)等字段組成。收到任務(wù)確認(rèn)命令的節(jié)點從中取出數(shù)據(jù)發(fā)送節(jié)點ID,存儲在任務(wù)記錄中,作為以后相同任務(wù)的子節(jié)點,然后以自身ID作為新的數(shù)據(jù)發(fā)送節(jié)點ID更新命令,并從任務(wù)列表中取出該任務(wù)的任務(wù)發(fā)送節(jié)點作為目標(biāo)節(jié)點繼續(xù)傳輸任務(wù)確認(rèn)命令,直到返回至SINK點。同時,其它未收到任務(wù)確認(rèn)命令的節(jié)點將會在任務(wù)存活時間到期后,將存儲器中的任務(wù)記錄刪除。在任務(wù)查詢命令廣播過程中,若接收節(jié)點檢測到本地任務(wù)記錄表中存在相同任務(wù),則從該記錄中取出子節(jié)點作為目標(biāo)節(jié)點,向其發(fā)送任務(wù)查詢命令,避免洪泛傳播,從而大大節(jié)約了能量。
事件驅(qū)動
當(dāng)某事件被無線傳感器節(jié)點捕捉時,則該節(jié)點即為源節(jié)點,并向其父節(jié)點發(fā)送事件命令。該命令由事件類型、源節(jié)點ID、發(fā)送節(jié)點ID、測量數(shù)據(jù)組成。收到事件命令的節(jié)點,以自身ID作為新的發(fā)送節(jié)點ID更新命令,向其父節(jié)點繼續(xù)傳輸事件驅(qū)動命令,直到數(shù)據(jù)傳輸至SINK點。
路由修復(fù)機(jī)制
本文中的節(jié)點傳輸路徑是唯一的,這樣可以節(jié)約能量,提高效率。但是由于這種唯一性,如果一個節(jié)點電池耗盡或者物理損害而失效,則會導(dǎo)致其下級節(jié)點也脫離了網(wǎng)絡(luò)。目前有些無線傳感器路由協(xié)議針對這一問題,采用通過由SINK點發(fā)起洪泛協(xié)議進(jìn)行路徑修復(fù)的辦法來解決,但是這樣明顯浪費能量,而且在洪泛期間,失效節(jié)點的鄰節(jié)點若產(chǎn)生事件將無法傳遞,導(dǎo)致了數(shù)據(jù)丟失。
結(jié) 論
本文提出了一種新的無線傳感器路由協(xié)議FRP,經(jīng)過與DD協(xié)議仿真比較,實驗數(shù)據(jù)顯示,無論是小規(guī)模網(wǎng)絡(luò)(100個節(jié)點),還是中大規(guī)模網(wǎng)絡(luò)(300~500個節(jié)點),F(xiàn)RP都具有更短的時間延遲和較低的能量消耗。并且該協(xié)議已經(jīng)在基于MSP430F123和NRF2401的硬件節(jié)點上成功應(yīng)用。現(xiàn)場試驗表明,該路由反應(yīng)迅速,自我修復(fù)能力強(qiáng),可以滿足無線傳感器實時監(jiān)測應(yīng)用的要求。