更具魯棒性的ZigBee解決方案的開發設計
3. ZigBee路由
ZigBee包括一個用于AODV網狀路由的基本框架。如果一個設備需要向其它設備發送數據,它首先需要發現一條可能要經過多臺路由器才能到達目標設備的路由。網狀路由允許動態地建立、修改或替換傳輸路徑,從而保持設備間有一條可靠的路徑。
然而,除網狀路由之外,ZigBee規范還經常依賴樹狀路由。在樹狀路由中,數據將在源設備和目標設備之間的“樹”狀路由上嚴格地按照從父到子或從子到父的路徑傳輸。
當節點移動或刪除時路由可能出現問題。這時如果單個節點無法從一條路由中隔離開來,那么整個樹狀路由就無法定位故障點。而網狀網絡就能在現有路由發生故障時發現一條新路由。ZigBee協議棧按照規范采用樹狀和網狀路由的ZigBee 1.0標準而建立。兩種路由之間的交互是相當復雜的,而且協議棧之間的交互也是不斷變化的。但是,增強型ZigBee規范(2006)增加了一個nwkUseTreeRouting功能,該功能可以使整個樹狀路由徹底斷開,再由(NLME)路由發現請求(route-discovery-request)原語根據需要強制進行路由發現。這些功能可以解決與樹狀路由相關的問題,并且允許開發商充分發揮網狀路由的優勢。
4. ZigBee互操作性
ZigBee規范包括一些可以用來定義各種網絡的配置功能。開發商可以很容易地配置以下參數:目標系統中的路由器和/或終端設備數量;安全級別;路由表和鄰居表規模;網絡最大深度(從協調器到最遠派生設備的連接深度);協調器/父路由器允許的子路由器和終端設備的最大數量。
ZigBee聯盟研發出了為這些不同協議棧建立通用設置的公共框架-可配置參數表。為了完成框架(如家庭控制協議棧框架就定義了開燈、關燈、或切換一個燈光的簇ID)內的共同任務,該框架還定義了一些稱作簇ID的接口。
終端設備必須圍繞可互操作的同一框架來設計。因此,應用開發商必須設置他們的協議棧參數以匹配公共框架所規定的參數值,從而確保與采用同一框架的其它解決方案的互操作性。另外,開發商也可以為了滿足其設計而通過采用專用(定制)的框架來自由修改協議棧參數。不過,在專用框架中所定義的簇ID不具備與基于公共框架的設備互操作的能力。
由于開發商具有選擇框架的靈活性,從而并非所有的ZigBee設備都能互操作。雖然這種靈活性一開始會在市場上引起一些混亂,但允許開發商決定其產品是否要與其他供應商的設備進行互操作。在不需要互操作性的場合,功能強大的ZigBee可以圍繞一個專用框架進行開發,并剪裁協議棧參數來滿足特殊應用需求。
評論