欢迎来到天天文库
浏览记录
ID:40578265
大小:37.50 KB
页数:5页
时间:2019-08-04
《ZigBee学习之18—ZCL解读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#1楼主:【原创】ZigBee学习之18——ZCL解读文章发表于:2010-02-0816:29ZigbeeClusterLibrary(ZCL)(Zigbee簇群库)[Z-StackZCLAPI_F8W-2006-0020_.pdf]ZCL是Zigbee1.1(Zigbee2006)协议版本中增加的一个重要的部分。在Zigbee中,一个簇群就是一个容器,在容器中以命令结构体包含了一个或多个属于某个应用剖面的属性/消息,不管应用剖面如何,相同的设备(比如开关)拥有相同的定义和功能。属性是设备的变量或特性,能够设置或获得。比如设置自动调温器的加热点。ZCL提供了一种机制,
2、利用这种机制设备能够将变化异步地报告给属性(attribute),比如当空气变热时自动控温器服务器就将室温改变报告给他的客户端,这个过程不需要客户端发起请求。ZCL采用客户端/服务器模块的模式,一般储存簇属性的作为服务器,影响或操作属性的作为客户端。然而如果需要,属性也可以呈现在客户端上。例如,设备通过读写属性的命令来操作属性,这些命令从客户端设备发送到服务器设备;对这些命令的应答从服务器设备发送到客户端设备;但是报告属性命令是从服务器发送到客户端。clusterID是每个簇的标志,由剖面分配,在内部使用的是逻辑簇ID,所以还有一个ClusterID转换表。typede
3、fstruct{uint16attrId;//AttributeIDuint8dataType;//DataType-definedinAF.huint8accessControl;//Read/write-bitfieldvoid*dataPtr;//Pointertodatafield}zclAttribute_t;typedefstruct{uint16clusterID;//RealclusterIDzclAttribute_tattr;}zclAttrRec_t;typedefstruct{zclGCB_BasicReset_tpfnBasicReset;//
4、BasicResetzclGCB_Identify_tpfnIdentify;//IdentifyResponsezclGCB_IdentifyQueryRsp_tpfnIdentifyQueryRsp;//IdentifyQueryRspzclGCB_OnOff_tpfnOnOff;//On/OffclusterzclGCB_LevelControlMoveToLevel_tpfnLevelControlMoveToLevel;//MoveToLevelzclGCB_LevelControlMove_tpfnLevelControlMove;//MovezclGCB_
5、LevelControlStep_tpfnLevelControlStep;//StepzclGCB_LevelControlStop_tpfnLevelControlStop;//StopzclGCB_GroupRsp_tpfnGroupRsp;//GroupResponsezclGCB_SceneStoreReq_tpfnSceneStoreReq;//SceneStoreRequestzclGCB_SceneRecallReq_tpfnSceneRecallReq;//SceneRecallRequestzclGCB_SceneRsp_tpfnSceneRsp;/
6、/SceneResponsezclGCB_Alarm_tpfnAlarm;//AlarmReq&RspzclGCB_Location_tpfnLocation;//RSSILocationzclGCB_LocationRsp_tpfnLocationRsp;//RSSILocationRsp}zclGeneral_AppCallbacks_t;创建一个ZCL应用至少需要创建4个模块:·zcl_.h应用的定义,应用的终端也定义在此·zcl__data.c数据定义和声明,包含以下内容:应用支持的所有簇属性;属性表中每个属性包含一个zclA
7、ttrRec_t类型的入口;分别包含应用指定的输入和输出clusterID的输入clusterID表和输出clusterID表,这些表将和简单描述表一起使用;SimpleDescriptionFormat_t[AF.h]类型的简单描述表。·zcl_.cendPointDesc_t[AF.h]类型的应用终端表声明;创建用以处理来自ZCL簇的命令的命令回调函数,这些函数和命令回调表一起使用;ZCL功能域(functionaldomains)的应用命令回调表声明。通用功能域的表类型为:zclGeneral_AppCallbac
此文档下载收益归作者所有