基于nRF905的無線傳感器網絡節點的設計與實現

2.2.3 路由修復
數據傳輸時,每個節點收到數據后,都要先回復應答ACK信號給其前一個節點,再轉發至下一個中繼節點,節點中設置超時定時器,約等待1 633 μs ACK信號,前一個節點沒有收到ACK,則重發數據,設置重發次數為3。假若重發3次都沒有收到ACK信號,則判斷下一個節點為中斷節點。查詢緩存路由中是否有其他到達中斷節點下游節點的信息,有則使用這個備用路由,無則廣播發送RERR給所有包含中斷節點路由的源節點,每個節點在收到該RERR后,就會從它的路由緩存中刪除所有包含該中斷節點的路由。
路由修復示例如圖5所示。節點0需要發送數據給節點5,節點0中含有到節點5的路由信息,0→1→2→5;節點0開始發送RTS,每個節點收到RTS后返回給前一個節點ACK,表示路由無中斷;假若節點1沒有收到ACK,重發3次后仍沒有ACK返回,則判斷節點2是中斷節點;這時查詢節點1中有無到達節點5的路由,發現1→3→4→5,則按照此路由繼續發送RTS;當節點1返回DATA_ACK,表示數據傳輸完成,延遲10×跳數(ms)后,廣播發送RRER,收到RRER的每個節點查詢本節點是否含有中斷路由,有則從路由緩存中刪除包含中斷節點的路由。
3 試驗結果
試驗網絡系統由10個普通節點和1個協調器節點組成,采用人工隨機安放的方式把所有節點放置在約200 m的空曠地帶。首先,把協調器節點通過串口與主控PC機連接,打開上位機控制軟件,并給協調器節點上電;隨后在隨機放置普通節點的同時一一打開節點的電源。
通過上位機軟件可以清楚地看到,每當有新節點加入網絡(打開電源),上位機會實時顯示出新加入節點的地址和路由信息,并且通過反向路由返回應答信號給新節點,表示成功加入網絡。當所有節點都加入網絡后,可以通過上位機軟件看到整個網絡中各個節點的路由信息,并且可以對每個節點或多個節點進行遠程控制。
為了實時監測到每個節點的運行情況,每個節點程序都加入定時掃描程序,定時時間1 min,檢測節點本身在1 min內是否為空閑狀態,如果是空閑狀態,則向協調器節點發送節點信號,保證本鏈路無中斷;協調器在一定時間周期內,檢測接收到的每個節點信號,如果缺少某個節點的信息,則由協調器發送檢測信號給這個節點,尋找中斷節點并進行路由維護。也可以直接通過主控電腦的上位機軟件手動發送檢測信號給每個節點,從而檢測每個節點的運行情況。
nRF905的空中傳輸速率峰值為100 kb/s,有效傳輸速率為50 kb/s。
通過上位機軟件對整個網絡進行連續數據傳輸試驗,測試在本協議下的網絡吞吐率。測試條件:200 m空曠地帶,分別測試一個節點至10節點網絡中點對點,1跳、2跳、3跳情況下的吞吐率,數據包大小32 B。傳輸要求一個包到達目的節點后返回到應答表示傳輸完成,其吞吐率計算[6]如下:
測得的網絡吞吐率如圖6所示。可以看出,網絡中進行點對點的數據傳輸,吞吐率約為16 kb/s,并且隨著節點數的增多,影響很小;隨著跳數的增加,網絡吞吐率降低,但是網絡中節點數量增多,同時節點傳輸幾率增加,因此逐漸趨于穩定值。最后在網絡設定最大跳數(3跳)、10個節點網絡的情況下,網絡吞吐率約為4 kb/s。
通過實驗測得數據表明,在短距離的無線通信網絡中,該系統可以穩定可靠地運行,數據傳輸率高,網絡吞吐率完全可以達到一般的無線傳感器網絡的要求。并且該系統具有良好的擴展性、移植性和實用性,可廣泛運用于溫度、濕度、光傳感器采集數據、能量監測及電路控制等技術。
參考文獻
[1] 孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2] 陳模科,陳勤,羅敏,等.DSR本地修復算法的改進[J].微電子學與計算機,2009(26):142-145.
[3] JAWHAR I, TRABELSI Z, Al-JAROODI J. Towards more reliable source routing in wireless networks[C]. Proc. IEEE Int. Conf. Networking, Archit., Storage-IEEE NAS 2008, 2008.
[4] 屠梓浩,吳榮泉,錢立群.無線Ad Hoc網絡DSR路由協議的優化設計[J].計算機工程,2009,35(4):97-99.
[5] Nordic VLSIASA. Single Chip 433/868/915MHz Transceiver nRF905. 2004-01.
[6] 柯欣,孫利民.多跳無限傳感器網絡吞吐量分析[J].通信學報,2007,28(9):78-84.
評論