<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 無線傳感器網(wǎng)絡拓撲的監(jiān)控與維護

          無線傳感器網(wǎng)絡拓撲的監(jiān)控與維護

          作者: 時間:2012-05-21 來源:網(wǎng)絡 收藏

          摘要:以ZigBee協(xié)議為基礎,提出了一種新的結構的方法。創(chuàng)新性地設計了基于葉子節(jié)點的通訊模式,該模式運用協(xié)議棧自有運行流程來獲取節(jié)點的加入或丟失信息、實現(xiàn),并通過設計一種基于關聯(lián)表的鏈表式存儲結構來進行動態(tài)。經(jīng)過在實際辦公環(huán)境平臺上驗證表明,該方法數(shù)據(jù)傳輸量小,資源占用少,操作簡便,具有較強的應用推廣價值。

          本文引用地址:http://www.ex-cimer.com/article/160576.htm

          關鍵詞:網(wǎng)絡;ZigBee;拓撲結構;監(jiān)控與

          0 引言

          隨著網(wǎng)絡技術在軍事、工農(nóng)業(yè)、城市管理、環(huán)境監(jiān)控等各個領域的快速發(fā)展,作為系統(tǒng)基礎組成部分的網(wǎng)絡拓撲結構成為研究的一個重要方面。目前,國內外的科研機構在網(wǎng)絡拓撲發(fā)現(xiàn)以及拓撲的監(jiān)控和管理方面開展了大量的相關研究工作,但大多停留在理論和仿真層面,這些通過在高性能的PC機上搭建仿真模型來驗證算法效果的研究,大多缺乏能夠應用到實際系統(tǒng)的可行性案例。安徽財經(jīng)大學的趙濤,根據(jù)在聚合節(jié)點(sink)收集到網(wǎng)絡內部節(jié)點報文接收或丟失的情況,通過發(fā)現(xiàn)網(wǎng)絡中所有葉子節(jié)點到sink節(jié)點的數(shù)據(jù)傳輸路徑,來推測網(wǎng)絡的邏輯拓撲。該方法計算比較復雜,120節(jié)點規(guī)模網(wǎng)絡在主頻為2.8 GHz的CPU主機上運行尚需9秒的時間,同時會受到節(jié)點資源、計算速度、實施條件等限制,因此,這種方法很難在實際應用中實現(xiàn)。德州儀器(TI)公司的官方網(wǎng)站也給出了一種獲取網(wǎng)絡拓撲結構的方法,該方法采用發(fā)送網(wǎng)絡發(fā)現(xiàn)命令的方式,并通過返回結果來確定網(wǎng)絡拓撲結構。此法雖然能夠在實際應用中實施,但需要定期向網(wǎng)絡中的所有節(jié)點發(fā)送發(fā)現(xiàn)命令,因而數(shù)據(jù)消耗量巨大。

          本文以Z-stack協(xié)議棧為基礎,采用葉子節(jié)點通訊方式,并利用協(xié)議自身的運行流程,提出了一種輕量數(shù)據(jù)消耗、真正面向應用的拓撲監(jiān)控方案,同時通過設計一種基于關聯(lián)表的鏈式存儲結構來實現(xiàn)對網(wǎng)絡拓撲信息的維護,因而在解決網(wǎng)絡監(jiān)控與維護方面更具有實際應用價值。

          1 Z-stack協(xié)議棧原理簡介

          作為ZigBee聯(lián)盟的一個重要的組織成員,2007年,TI公司宣布推出業(yè)界領先的ZigBee協(xié)議棧Z-Stack。Z-Stack符合ZigBee 2006規(guī)范,能支持多種平臺,其中包括本系統(tǒng)使用的、面向IEEE 802.15.4/ZigBee的CC2430片上系統(tǒng)解決方案。

          1.1 ZigBee協(xié)議棧的體系結構及信息傳遞流程

          ZigBee協(xié)議棧的體系結構如圖1所示,由圖可見,ZigBee協(xié)議采用分層體系結構,由物理層(PHY)、介質接入控制子層(MAC層)、網(wǎng)絡層(NWK)和應用層(APL)組成。其中,應用層框架包括了應用支持子層(APS)、ZigBee設備對象(ZDO)及由制造商制定的應用對象。

          a.JPG

          在ZigBee網(wǎng)絡中,信息或數(shù)據(jù)的傳遞將依照上述層次結構實現(xiàn)。上層發(fā)送的數(shù)據(jù)或指令按照應用層-網(wǎng)絡層-MAC層-物理層的順序,從上至下依次進行處理;底層返回的數(shù)據(jù)則按照物理層-MAC層-網(wǎng)絡層-應用層的順序,從下至卜處理后返回給上層用戶。每個層次負責發(fā)送到本層數(shù)據(jù)的分析和判斷,并對于屬于本層次的數(shù)據(jù)或指令做出相應的動作響應;對于不屬十本層的數(shù)據(jù),則按照規(guī)定格式打包后發(fā)送給上、下一層。

          1.2 節(jié)點加入與失步流程

          為了維護系統(tǒng)的正常運行,ZigBee協(xié)議棧還提供了一些必須的消息響應流程,其中包括節(jié)點加入網(wǎng)絡和失步響應的流程。

          b.JPG

          節(jié)點加入流程如圖2所示。當子節(jié)點申請加入網(wǎng)絡時,會啟動加入流程。子節(jié)點的加入請求通過其NWK層、MAC層、PHY層傳遞給父節(jié)點;父節(jié)點收到加入通知消息后,又通過其PHY層、MAC層、NWK層將該情況上傳給應用層,最后通過ZDO JoinIndicationCB()函數(shù)的調用,得到子節(jié)點加入的消息。

          節(jié)點失步流程是指終端節(jié)點丟失其父節(jié)點的同步信號時,向上層報告的失步情況發(fā)生的流程。其具體流程如圖3所示。

          c.JPG

          終端節(jié)點每隔一段時間就會開啟與父節(jié)點的同步,當在設定時間內沒有接收到父節(jié)點的同步信號時,就會產(chǎn)生失步指示信息,協(xié)議棧將該失步信息層層上傳,最后通過調用ZDOSynclndicationCB()函數(shù),將信息傳達到應用層。

          1.3 關聯(lián)表

          TI的Z-stack協(xié)議棧在全功能節(jié)點中可以維護associateddevices t結構的關聯(lián)表,關聯(lián)表中保存有與本節(jié)點直接關聯(lián)(父子節(jié)點)的相關信息,包括關聯(lián)節(jié)點的短地址、設備類型、連接狀態(tài)等,基本上可以滿足網(wǎng)絡拓撲結構監(jiān)控和維護的信息需求。

          TI的ZigBee協(xié)議棧雖然可為用戶開發(fā)提供強大支持,但是在網(wǎng)絡監(jiān)控和維護上并沒有專用的接口。一方面,該協(xié)議棧只能發(fā)現(xiàn)節(jié)點加入網(wǎng)絡,但是無法發(fā)現(xiàn)節(jié)點非主動性的丟失或退出,因而不具備網(wǎng)絡拓撲監(jiān)控的功能;另一方面,協(xié)議在每個全功能節(jié)點中部維護了與之關聯(lián)設備的關聯(lián)表,但是并沒有維護整體網(wǎng)絡的關聯(lián)信息,因而無法掌控網(wǎng)絡拓撲的全貌。鑒于協(xié)議棧在網(wǎng)絡拓撲功能上的不足和缺陷,本文以協(xié)議基本流程為基礎,提出一種實現(xiàn)整體網(wǎng)絡拓撲監(jiān)控和維護的方法,該方法可以滿足一般系統(tǒng)對于拓撲結構的監(jiān)控和維護需求。

          2 網(wǎng)絡拓撲結構監(jiān)控

          網(wǎng)絡拓撲結構監(jiān)控的主要目的是實現(xiàn)拓撲結構的建立和在結構發(fā)生變化時及時獲取變化情況,其中最主要的是實現(xiàn)節(jié)點加入和退出事件的捕捉。節(jié)點加入事件的獲取相對容易,可以通過加入節(jié)點主動上報等方式來獲?。欢?jié)點丟失事件獲取要復雜得多?,F(xiàn)階段,對節(jié)點丟失情況的監(jiān)控多采用系統(tǒng)定期查詢的手段。采用查詢方法時,其實時性與查詢周期的長短直接相關:查詢周期設置較長,拓撲變化反映時間增長,實時性變差;而查詢周期設置較短,則傳輸數(shù)據(jù)量增大,占用系統(tǒng)資源,往往很難在二者之間找到平衡點。協(xié)議棧中數(shù)據(jù)或消息的傳遞是一個復雜的過程,為了盡可能地降低系統(tǒng)資源的占用、節(jié)約能耗,除了維護系統(tǒng)正常運行所必須的數(shù)據(jù)通訊外,還應盡量減少人為添加(應用層)的數(shù)據(jù)通訊量。因此,最好的辦法就是利用協(xié)議自身的數(shù)據(jù)傳遞或者節(jié)點加入、失步等流程來實現(xiàn)相關信息的獲取。

          本文設計了一種基于網(wǎng)關——葉子節(jié)點通訊的節(jié)點丟失情況獲取方法,該方法可以利用協(xié)議棧自身的運行流程,以較少的數(shù)據(jù)通訊量和簡單的操作,實現(xiàn)網(wǎng)絡中所有節(jié)點的丟失情況獲取。

          2.1 節(jié)點加入事件的獲取

          通常情況下,節(jié)點加入事件多采用加入節(jié)點主動上報的方法來獲取。該方法操作簡單,但是需要人為地發(fā)送相關加入信息,會增加系統(tǒng)數(shù)據(jù)通訊量。由圖2所示的節(jié)點加入流程可知,如果有子節(jié)點加入網(wǎng)絡,加入的指示信息都會通過ZDOJoinIndmationCB()函數(shù)的調用報告給父節(jié)點。即該函數(shù)的調用證明有了節(jié)點的加入事件。因此,本文通過在此函數(shù)中添加向應用程序報告的功能,即可通知用戶了節(jié)點加入事件的發(fā)生。

          2.2 節(jié)點丟失信息的獲取

          由圖3所示的流程可知,協(xié)議棧通過調用vold ZDOSyncIndicationCB(byte type,uint16 shortAddr)函數(shù)可實現(xiàn)失步情況的報告。該函數(shù)具有節(jié)點丟失的指示功能,并能夠指示丟失節(jié)點與本節(jié)點的父子關系和短地址等。但在實際的應用中發(fā)現(xiàn),該函數(shù)的調用是有條件限制的,具體實施條件如下:

          父節(jié)點丟失:從失步報告流程可知,終端節(jié)點能夠自動輪詢發(fā)現(xiàn)其父節(jié)點同步信號的丟失,而無需人為添加任何觸發(fā)條件,引發(fā)函數(shù)調用。但路由節(jié)點不支持與父節(jié)點的輪詢機制,因而不能產(chǎn)生父節(jié)點丟失情況的報告。

          子節(jié)點丟失:對于包括終端節(jié)點在內的所有類型節(jié)點的子節(jié)點丟失,在未加相應處理的情況下,協(xié)議棧都不會引發(fā)該函數(shù)的調用。

          由實施條件可知,該函數(shù)的丟失指示并不適用于所有類型節(jié)點的丟失情況,因此,如果要得到除終端父節(jié)點外網(wǎng)絡中所有節(jié)點的丟失情況,就需要人為加入其他處理,以觸發(fā)ZDOsynclndicationCB()函數(shù)的調用,從而實現(xiàn)丟失事件的獲取。

          2.3 葉子節(jié)點通訊觸發(fā)方法

          通常采用的基于查詢的網(wǎng)絡發(fā)現(xiàn)機制部需要在所有節(jié)點間發(fā)送數(shù)據(jù),因而增大系統(tǒng)的數(shù)據(jù)開銷。這里以圖4所示的拓撲結構為例,圖中的葉子通訊需要進行14條數(shù)據(jù)的查詢和14條數(shù)據(jù)的應答才能夠完成一次節(jié)點丟失情況的獲取。為了盡可能減少數(shù)據(jù)通訊和操作的復雜度,本文設計了一種基于網(wǎng)關——葉子節(jié)點通訊的節(jié)點丟失情況獲取方法,以便用較少的數(shù)據(jù)通訊量和簡單的操作來實現(xiàn)網(wǎng)絡中聽有節(jié)點的丟失情況獲取。

          d.JPG

          研究發(fā)現(xiàn),失步函數(shù)的觸發(fā)可以通過加入數(shù)據(jù)通訊來實現(xiàn)。因為在數(shù)據(jù)發(fā)送的過程中,協(xié)議棧會開啟數(shù)據(jù)發(fā)送流程,數(shù)據(jù)發(fā)送后則會自動檢測接收方應答幀。這樣,如果節(jié)點丟失,則發(fā)送節(jié)點無法接收到有效應答,進而引發(fā)節(jié)點失步指示函數(shù)的觸發(fā)。

          具體觸發(fā)時,如果節(jié)點之間有數(shù)據(jù)通訊,發(fā)送數(shù)據(jù)節(jié)點則能夠發(fā)現(xiàn)接收數(shù)據(jù)節(jié)點的丟失,從而引發(fā)vold ZDOSynclndicationCB(byte type,uint16 shortAddr)函數(shù)的調用。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();