- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZigBee学习之18——ZCL解读
ZigBee 18——ZCL
ZigBee 18——ZCL
ZZiiggBBeeee学习之1188————ZZCCLL解读
ZCL是Zigbee 1.1(Zigbee2006)协议版本中增加的一个重要的部分。在Zigbee中,一个簇群
就是一个容器,在容器中以命令结构体包含了一个或多个属于某个应用剖面的属性/消息,不管
应用剖面如何,相同的设备(比如开关)拥有相同的定义和功能。属性是设备的变量或特性,能
够设置或获得。比如设置自动调温器的加热点。ZCL提供了一种机制,利用这种机制设备能够将
变化异步地报告给属性(attribute),比如当空气变热时自动控温器服务器就将室温改变报告
给他的客户端,这个过程不需要客户端发起请求。
ZCL采用客户端/服务器模块的模式,一般储存簇属性的作为服务器,影响或操作属性的作为客
户端。然而如果需要,属性也可以呈现在客户端上。例如,设备通过读写属性的命令来操作属性,
这些命令从客户端设备发送到服务器设备;对这些命令的应答从服务器设备发送到客户端设备;
但是报告属性命令是从服务器发送到客户端。
cluster ID是每个簇的标志,由剖面分配,在内部使用的是逻辑簇ID,所以还有一个Cluster
ID转换表。
typedef struct
{
uint16 attrId; // Attribute ID
uint8 dataType; // Data Type - defined in AF.h
uint8 accessControl; // Read/write - bit field
void *dataPtr; // Pointer to data field
} zclAttribute_t;
typedef struct
{
uint16 clusterID; // Real cluster ID
zclAttribute_t attr;
} zclAttrRec_t;
typedef struct
{
zclGCB_BasicReset_t pfnBasicReset; // Basic Reset
zclGCB_Identify_t pfnIdentify; // Identify Response
zclGCB_IdentifyQueryRsp_t pfnIdentifyQueryRsp; // Identify Query Rsp
zclGCB_OnOff_t pfnOnOff; // On/Off cluster
zclGCB_LevelControlMoveToLevel_t pfnLevelControlMoveToLevel; // MoveToLevel
zclGCB_LevelControlMove_t pfnLevelControlMove; // Move
zclGCB_LevelControlStep_t pfnLevelControlStep; // Step
zclGCB_LevelControlStop_t pfnLevelControlStop; // Stop
zclGCB_GroupRsp_t pfnGroupRsp; // Group Response
zclGCB_SceneStoreReq_t pfnSceneStoreReq; // Scene Store Request
zclGCB_SceneRecallReq_t pfnSceneRecallReq; // Scene Recall Request
zclGCB_SceneRsp_t pfnSceneRsp; // Scene Response
zclGCB_Alarm_t pfnAlarm; // Alarm Req Rsp
zclGCB_Location_t pfnLocation; // RSSI Location
zclGCB_LocationRsp_t pfnLocationRsp; // RSSI Location Rsp
} zclGeneral_AppCallbacks_t;
创建一个ZCL应用至少需要创建4个模块:
• zcl_appname.h应用的定义,应用的终端也定义在此
• zcl_appname_data.c 数据定义和声明,包含以下内容:
应用支持的所有簇属性;
属性表中每个属性包含一个zclAttrRec_t类型的入口;
分别包含
文档评论(0)