Silicon Lab Ember zigbee学习杂谈----profile、cluster、attribute、command

本文主要介绍zigbee中profile、cluster、attribute、command的概念,以及zigbee的一些基本思想。zigbee联盟为了不同厂商的zigbee设备之间能够互联互通,于是制订了的zigbee协议标准,到今天(2016.3.28)已经到了版本3.0。要了解zigbee就要先了解下面这些关键词的概念:

profile:因为现在zigbee已经被应用的各个领域如智能家居、智能楼宇、智能能源、智能照明等等,profile用2个字节(16位)来表示某一应用领域,如智能家居profile ID为0x0104;个人医疗为0x0108;智能能源为0x0109

cluster:表示类通常按功能划分成不同的类,在不同的profile下所包含的cluster也不同,cluster用两个字节(16位)来表示。如在智能家居下有on-off cluster(0x0006)、door lock cluster(0x0101)、color control cluster(0x0300)等针对家庭使用的一些功能而划分的。所以一个特定的设备通常会包含一个特定的类,如zigbee门锁那么它肯定包含了door lock这个cluster,调色灯会包含color control这个cluster

attribute:属性它表示设备的某种状态或限制,它是在cluster下面,每个cluster包含不同的属性,它由两个字节(16位)表示在同一cluster下的各个attribute是唯一的。如在door lock下有lock state attribute(0x0000)这个用来表示门的状态(开或者关),lock type attribute(0x0001)这个用来表示锁的类型

command:就是对设备进行操作的各种命令,它也是在cluster下,每个cluster包含不同的命令,它由一个字节(8位)表示,同一cluster下的各个command是唯一的。如在door lock下有lock door、unlock door、set pin、get pin等命令,commad通常与attribute联系在一起,一个command通常是改变某个attribute的值。unlock、lock命令就是改变了锁状态属性lock state

为了互联互通zigbee联盟规定了所有profile、cluster、atrribute和command,相当于定制了一个虚拟硬件层,它规定了lock state为0时为关锁状态,为1时为开锁状态,当发开锁unlock 指令时lock state变为1,发关锁指令lock时lock state变为0,这个时候制造商只要根据lock state的值通过实际硬件实现开关锁就可以了,如此即使各个厂家具体的硬件实现不同,但是在虚拟硬件层的统一就导致了互联互通。

猜你喜欢

转载自blog.csdn.net/wangchongttg/article/details/50999717