1. 程式人生 > >ZigBee-裝置角色-Mesh組網-傳送資料-EndPoint-Cluster-Command-Attribute

ZigBee-裝置角色-Mesh組網-傳送資料-EndPoint-Cluster-Command-Attribute

A、ZigBee裝置角色:Coordinator、Router、EndDevice Coordinator:建立網路,通過UART等硬體介面與WiFi或GSM等模組連線,從而將ZigBee的資料傳到網際網路; Router:轉發資訊,本身也是裝置端,可以控制燈,電機,採集物理量等; EndDevice:裝置端,可以控制燈,電機,採集物理量等,可以選擇休眠。

B、ZigBee與Wifi,Bluetooth有很多相同的東西,但我們需要的是它的相對強大的Mesh組網能力,能滿足很多需求,那什麼是Mesh組網?Mesh網路的結構可以在下圖體現,就是路由與路由即使不是父子關係也可以在通訊距離範圍內直接通訊(虛線連線),這點可以實現動態路由(這些基礎的特性ZigBee3.0都是包含的,我們不用擔心),所以左下角的EndDevice傳送訊息到Coordinator的路徑就有很多條(u-n-g-a,u-o-i-b,u-o-l-j-b等)EndDevice只能和它的父節點通訊,當然它是可以更換父節點的; Mesh

C、ZigBee資料傳送方式:點播、組播、廣播、繫結、Inter-PAN 點播:指定目標地址,只有目標裝置能收到; 組播:指定組號,在這個組的裝置都能收到; 廣播:廣播分3種:1、廣播到全部裝置,地址:0xFFFF;2、廣播到不休眠的裝置,地址:0xFFFD;3、廣播到有路由功能的裝置,包括Coordinator,地址:0xFFFC; 繫結:只發送到已繫結的裝置; Inter-PAN:可以傳送資料到同一通道不同網路的其他裝置,好像只能點播和廣播,它是基於802.15.4的,ZLL建網前就是用Inter-PAN通訊的;

D、ZigBee的EndPoint,Cluster,Command,Attribute,一個裝置向另一個標準裝置傳送訊息除了網路地址還需要指定EndPoint、Cluster、Command或者Attribute,關係:一個裝置可以使用多個EndPoint,一個EndPoint也可以使用多個Cluster,一個Cluster也可以使用多個Command和Attribute EndPoint:範圍:0x00-0xFF,0是ZDO用的,使用者只能用:1-240這個範圍的端點,端點241~254是保留端點,端點255用於向所有端點廣播; Cluster:如果你使用標準協議,那麼每個Cluster的功能都是已經被ZigBee聯盟定義好的,包括Command、Attribute;不用標準就自己定義吧; Command:Cluster的下一分級,一般是實現動作的,例如開關燈,可以Report到其他裝置; Attribute:Cluster的下一分級,一般是實現資料讀寫操作的,可以Report到其他裝置,也可以被其他裝置Write、Read;