Method for Discovering Network Topology中文翻译【Z-Stack Home 1.2.0开发文档】
1.Purpose
本文描述了在任何給定的網絡測定網路技術的方法,使用Z-Stack的 ZDO(Zigbee Device Object)層的API。在繼續之前請先閱讀ZStack Developer’s Guide和ZStack API文檔。
2.Method
使用ZDP_IEEEAddrReq()方法,我們可以向PAN協調器發送這個請求,因為協調器的短地址總是0x0000。ReqType參數應該設置為1,為了包含與協調性相關聯的設備列表。如果設備列表包含更多的設備融合在一起,StartIndex參數將能夠被使用。
通過在應用程序級別注冊IEEE地址請求回調(請看Z-stack Developer’s
Guide的ZDO Message Requests章節),它可以獲得相關設備的列表包括自己的短地址,以及協調器的IEEE地址。NumAssocDev參數在IEEE 地址響應結構體代表與 協調器相關聯的設備的編號。
一旦來自協調器的第一個列表返回,它可以重復上述的過程針對每一個列表中的短地址。通過對所有父母和孩子進行迭代,應用程序將能夠“繪制”整個網絡的拓撲結構。
3.Example using Z-Tool
在樣例程序中,在圖片1中創建一個人為的網絡,直觀的使用了Daintree Sensor Network Analyzer應用程序。在協調器中使用了NLME_PermitJoiningRequest()函數為了以這種方式強制網絡的形成。通過設置NLME_PermitJoiningRequest參數為0x00,用戶能夠拒絕 相關的指定的路由器或者協調器中的 其他設備。通過設置這個參數為0xFF 允許相關聯的設備。
注意:在本例中使用NLME_PermitJoiningRequest是用來強制連接拓撲的,不是這個函數的通常的使用方式。NLME_PermitJoiningRequest函數被用來關閉協調器或任何路由器的關聯,應該用于允許和不允許新設備連接網絡。
第4節和第5節包含關于包的流動和ZDO IEEE地址響應包的信息。
在第2部分中描述的方法可以通過執行ZDO MT(Monitor Test)函數 使用z-tool(用于Z-Tool幫助,在Z-Tool菜單中選擇Help)來演示。這些都是通過MT_ZDO_FUNC和MT_ZDO_CB_FUNC編譯選項(請看ZStack編譯選項查看詳細信息)。
圖2展示了與協調員連接的z-tool實例的屏幕截圖。ZDO_IEEE_ADDR_REQ的ShortAddr參數設置為0,ReqType設置為EXTENDED,StartIndex設置為0。然后在z-tool中顯示響應,我們看到,協調器有一個與之相關的設備,短地址=0xFAA6(AssocDevList: 0xFAA6)。
ZDO_IEEE_ADDR_REQ被發布到短地址0xFAA6,我們看到路由器有一個與之關聯的設備,短地址=0xB922 (請看圖片3).。
ZDO_IEEE_ADDR_REQ也可以被發送到短地址0xB922,用戶會看到沒有任何設備與之關聯。因此,在最后,設備發現過程是經過推論的。
4.Sequence Diagrams
圖4展示了 ZDO_IEEE_ADDR_REQ調用鏈在設備樹的左手邊,對應的ZDO_IEEE_ADDR_RSP調用 在右手邊。
5.Packet Details
圖片5展示了 在這些傳輸過程中的 OTA(over the air)數據包,圖6顯示了由Daintree解碼的ZDO IEEE地址響應數據包的一個快照,以顯示路由器0xFAA6的相關設備列表。
總結
以上是生活随笔為你收集整理的Method for Discovering Network Topology中文翻译【Z-Stack Home 1.2.0开发文档】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 截取、拼接字符串,memcpy
- 下一篇: (一)强化学习概述