zigbee3.0学习笔记@开发指导书@设备地址
#設備
##協調器
作用:啟動網絡和管理密鑰
1.組建zigbee網絡,選擇通道和PAN ID
2.創建集中安全網絡和授權可信任網絡
3.分發密鑰,允許設備加入網絡
4.路由功能
##路由
作用:
1.允許其他設備加入網絡
2.Multi-hop多跳路由(信號跳傳)
3.協助終端設備通訊
4.創建分布式網絡安全能力
##終端
作用:
1.休眠模式或者喚醒
#協議棧
配置文件可以被修改,修改后稱為“stack specific”stack profile
協議棧版本的標識符在設備傳輸的beacon中,加入網絡之前確認協議棧
協議棧版本配置: STACK_PROFILE_ID 在nwk_golbals.h 文件中
#define NETWORK_SPECIFIC 0 特殊網絡
#define HOME_CONTROLS 1 傳統網絡
#define ZIGBEEPRO_PROFILE 2 zigbee3.0
#define GENERIC_STAR 3
#define GENERIC_TREE 4
#地址
64-bit IEEE address called MAC地址or 擴展地址
作用:生產地址
16-bit address called 邏輯地址 or 短地址or網絡地址
作用:用于識別設備和在網絡中發送數據
##網絡地址
###分配網絡地址方式:隨機尋址方案
判斷地址沖突機制:新設備從父節點獲得隨機地址–新設備發送“設備通知”–沖突設備(路由)發送沖突廣播–新設備改地址–新設備發送“設備通知”(循環)
如果終端地址有沖突–父節點發送重新連接響應更改終端地址–終端發送“設備通知”
路由接收到設備通知,綁定表更新,路由表不更新
父節點接收到的設備通知來自于自己的子節點,但是又不是子節點直接發出來的,認為這個子節點被加入其他的父節點了
###協議棧中的地址
發送數據函數 AF_DataRequest()
目標設備數據包類型afAddTpye_t (defined in profile – AF.h)
無線發送地址類型 AF address modes (defined in profile – AF.h)
tpyedef enum {afAddrNotPresent = AddrNotPresent, //間接傳播(用于綁定表)afAddr16Bit = Addr16Bit, //單播afAddr64Bit = Addr64Bit, afAddrGroup = AddrGroup, //組播afAddBroadcast = AddrBroadcast //廣播 } afAddMode_t;####unicast單播
作用:向網絡中單個設備發數據包
addMode設置為Addr16Bit,目標地址在數據包中攜帶
####inderect間接傳播(綁定)
不知道目的地。模式設置為AddrNotPresent。目的地在綁定表中查找。找到后一個以上的設備,則轉為類似單播的規則向每個設備發出。
####Broadcast廣播
作用:向網絡中所有設備發數據包
a.目標地址設置為NWK_BROADCAST_SHORTADDR_DEVALL(0XFFFF)發送到所有設備
對于睡眠設備,消息保持在父設備上,直到睡眠設備輪詢到消息或者超時,間接消息超時時間設置NWK_INDIRECT_MSG_TIMEOUT (in f8wConfig.cfg)
b.目標地址設置為NWK_BROADCAST_SHORTADDR_DEVRXON(0XFFFD)發送到所有閑置狀態設備(除了睡眠狀態的設備)
c.目標地址設置為NWK_BROADCAST_SHORTADDR_DEVZCZR(0XFFFC)發送到所有路由設備(包括協調器)
####Gruop組播
作用:向網絡中一組設備發數據包
addMode設置為AddrNotPresent,addr.shortAddr 設置為組標識符
定義組方法:aps_AddGroup()
組也可以與間接尋址一起使用。綁定表中的目標地址可以是單播也可以是組播地址。其實廣播只是一種特殊的組尋址。
添加設備到標識符為1的組代碼:
###重要設備地址
查詢設備地址和子設備地址函數:
NLME_GetShortAddr() --返回設備16位網絡短地址
NLME_GetExtAddr() --返回設備64位長地址
NLME_GetCoordShortAddr() --返回父設備16位網絡短地址
NLME_GetCoordExtAddr() --返回父設備64位長地址
總結
以上是生活随笔為你收集整理的zigbee3.0学习笔记@开发指导书@设备地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: class mate
- 下一篇: 移动端——常见的移动端mate