这篇文章主要讲一下zcl命令的帧结构:
所有zcl桢都包含包头和有效负载两部分,如下图:
包头包括控制字节(frame control)、制造商ID(manufacturer code)、序列号(Transaction sequence number)、命令ID(command identifier)。
frame control:桢控制字节决定了该桢的类型、是否为制造商特有、方向和是否 使能默认回复,具体结构如下图:
frame type(2bits):00 表示命令为全局命令,与特定属性无关,比如读属性命令、写属性命令等;01表示属性相关指令即某一属性特有的命令,如door lock属性的unlock与lock命令;10-11:保留
manufacturer specific(1bit):1表示该命令为制造商自定义zcl命令;0表示标准zcl命令。zigbee标准规定了一些标准的zcl命令,还允许制造商使用自定义的命令,标准zcl命令对所有符合zigbee标准的产品都是通用的,但是制造商自定义命令则只对该制造商生产的产品有效,因此当为制造商自定义命令时,需要在包头包含制造商ID来确定是哪家制造商,zigbee联盟对每个成员都分配了唯一的制造商ID。