Cluster
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[+Zigbee30+EmberZnet]]
&color(red){※This article is based on EmberZnet SDK 6.7.5...
#contents
* 概要 [#d5506ace]
ZCL(ZigBee Cluster Library)
其中包括
- Cluster
- Attribute
- Command
ZCL式样大全
ZigBee Cluster Library Specification
https://zigbeealliance.org/wp-content/uploads/2019/12/07-...
* Cluster [#y63ae244]
扩展Cluster的两种场景: - 扩展标准Cluster上的属性或命令 -...
请注意,在这两种情况下,基于自定义Cluster的功能只能与具有...
根据 ZCL 规范的描述, 一部分Cluster ID是预留给厂商自行定义...
|Cluster ID|描述|
|0x0000 – 0x7fff|标准 Cluster|
|0xfc00 – 0xffff|厂商自定义 cluster|
|其他值|保留|
Zibgee Clusters 在 EmberZnet SDK 中是以xml文件的形式来定...
例如:
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_...
你可以查看其中的xml文件内容来尝试去理解这些格式。
例如,general.xml 这个文件定义了一些通用类别的Cluster,比...
有关于Cluster和Attribute的信息在xxx_endpoint_config.h这个...
** 自定义 ZCL clusters [#i4c3426e]
Github 参考文档
https://github.com/MarkDing/IoT-Developer-Boot-Camp/wiki...
将自定义的 xml 文件放入项目文件夹,然后转向 Zigbee Stack ...
&ref(Emberznet_stackzcladditions.png);
XML文件的格式
#codeprettify{{
<configurator>
<domain name="Test" />
<cluster manufacturerCode="0x1002">
<name>Hello World</name>
<domain>Ember</domain>
<description>This cluster provides an example of how ...
Framework can be extended to include manufacturer s...
</description>
<!-- Cluster Id must be within the mfg spec range 0xf...
<code>0xFC10</code>
<define>SAMPLE_MFG_SPECIFIC_HELLOWORLD_CLUSTER</define>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<attribute side="server" code="0x0000" define="ATTRIB...
type="CHAR_STRING" min="0x00" max="0xFF" writa...
default="" optional="true">ember sample attribute</...
<command source="client" code="0x00"
name="CommandOne"
optional="true">
<description>
A sample manufacturer specific command within the...
cluster.
</description>
<arg name="argOne" type="CHAR_STRING" />
</command>
</cluster>
</configurator>
}}
参考:
https://zhuanlan.zhihu.com/p/339586860
* Attribute [#m4d01241]
底层的数字基石是Attribute,它即容易理解,也是构建ZigBee标...
官方定义:
Attribute: A data entity which represents a physical qua...
属性: 一个代表物理量或者状态的数据。它通过指令来通信。
ZigBee联盟还定义了许多的属性(Attribute),都记载于文档 “z...
属性是可以用来反映状态,比如说当前灯是开关的,或者是关着...
** ZCL attribute types [#xcd916fc]
#codeprettify{{
// ZCL attribute types
enum {
ZCL_NO_DATA_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA8_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA16_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA24_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA32_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA40_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA48_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA56_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA64_ATTRIBUTE_TYPE = 0x0...
ZCL_BOOLEAN_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP8_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP16_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP24_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP32_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP40_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP48_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP56_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP64_ATTRIBUTE_TYPE = 0x1...
ZCL_INT8U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT16U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT24U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT32U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT40U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT48U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT56U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT64U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT8S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT16S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT24S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT32S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT40S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT48S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT56S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT64S_ATTRIBUTE_TYPE = 0x2...
ZCL_ENUM8_ATTRIBUTE_TYPE = 0x3...
ZCL_ENUM16_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_SEMI_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_SINGLE_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_DOUBLE_ATTRIBUTE_TYPE = 0x3...
ZCL_OCTET_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_CHAR_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_LONG_OCTET_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_ARRAY_ATTRIBUTE_TYPE = 0x4...
ZCL_STRUCT_ATTRIBUTE_TYPE = 0x4...
ZCL_SET_ATTRIBUTE_TYPE = 0x5...
ZCL_BAG_ATTRIBUTE_TYPE = 0x5...
ZCL_TIME_OF_DAY_ATTRIBUTE_TYPE = 0xE...
ZCL_DATE_ATTRIBUTE_TYPE = 0xE...
ZCL_UTC_TIME_ATTRIBUTE_TYPE = 0xE...
ZCL_CLUSTER_ID_ATTRIBUTE_TYPE = 0xE...
ZCL_ATTRIBUTE_ID_ATTRIBUTE_TYPE = 0xE...
ZCL_BACNET_OID_ATTRIBUTE_TYPE = 0xE...
ZCL_IEEE_ADDRESS_ATTRIBUTE_TYPE = 0xF...
ZCL_SECURITY_KEY_ATTRIBUTE_TYPE = 0xF...
ZCL_UNKNOWN_ATTRIBUTE_TYPE = 0xF...
};
#endif // SILABS_EMBER_AF_ATTRIBUTE_TYPES
}}
** API [#d87ad22e]
工程目录下/zcl-framework-core/attribute-table.c 文件里面...
#codeprettify{{
EmberAfStatus emberAfReadAttribute(uint8_t endpoint,
EmberAfClusterId clust...
EmberAfAttributeId att...
uint8_t mask,
uint8_t *dataPtr,
uint8_t readLength,
EmberAfAttributeType *...
}}
If you look at emAfWriteAttribute() in attribute-table.c ...
#hr();
Comment:
#comment_kcaptcha
終了行:
[[+Zigbee30+EmberZnet]]
&color(red){※This article is based on EmberZnet SDK 6.7.5...
#contents
* 概要 [#d5506ace]
ZCL(ZigBee Cluster Library)
其中包括
- Cluster
- Attribute
- Command
ZCL式样大全
ZigBee Cluster Library Specification
https://zigbeealliance.org/wp-content/uploads/2019/12/07-...
* Cluster [#y63ae244]
扩展Cluster的两种场景: - 扩展标准Cluster上的属性或命令 -...
请注意,在这两种情况下,基于自定义Cluster的功能只能与具有...
根据 ZCL 规范的描述, 一部分Cluster ID是预留给厂商自行定义...
|Cluster ID|描述|
|0x0000 – 0x7fff|标准 Cluster|
|0xfc00 – 0xffff|厂商自定义 cluster|
|其他值|保留|
Zibgee Clusters 在 EmberZnet SDK 中是以xml文件的形式来定...
例如:
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_...
你可以查看其中的xml文件内容来尝试去理解这些格式。
例如,general.xml 这个文件定义了一些通用类别的Cluster,比...
有关于Cluster和Attribute的信息在xxx_endpoint_config.h这个...
** 自定义 ZCL clusters [#i4c3426e]
Github 参考文档
https://github.com/MarkDing/IoT-Developer-Boot-Camp/wiki...
将自定义的 xml 文件放入项目文件夹,然后转向 Zigbee Stack ...
&ref(Emberznet_stackzcladditions.png);
XML文件的格式
#codeprettify{{
<configurator>
<domain name="Test" />
<cluster manufacturerCode="0x1002">
<name>Hello World</name>
<domain>Ember</domain>
<description>This cluster provides an example of how ...
Framework can be extended to include manufacturer s...
</description>
<!-- Cluster Id must be within the mfg spec range 0xf...
<code>0xFC10</code>
<define>SAMPLE_MFG_SPECIFIC_HELLOWORLD_CLUSTER</define>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<attribute side="server" code="0x0000" define="ATTRIB...
type="CHAR_STRING" min="0x00" max="0xFF" writa...
default="" optional="true">ember sample attribute</...
<command source="client" code="0x00"
name="CommandOne"
optional="true">
<description>
A sample manufacturer specific command within the...
cluster.
</description>
<arg name="argOne" type="CHAR_STRING" />
</command>
</cluster>
</configurator>
}}
参考:
https://zhuanlan.zhihu.com/p/339586860
* Attribute [#m4d01241]
底层的数字基石是Attribute,它即容易理解,也是构建ZigBee标...
官方定义:
Attribute: A data entity which represents a physical qua...
属性: 一个代表物理量或者状态的数据。它通过指令来通信。
ZigBee联盟还定义了许多的属性(Attribute),都记载于文档 “z...
属性是可以用来反映状态,比如说当前灯是开关的,或者是关着...
** ZCL attribute types [#xcd916fc]
#codeprettify{{
// ZCL attribute types
enum {
ZCL_NO_DATA_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA8_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA16_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA24_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA32_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA40_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA48_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA56_ATTRIBUTE_TYPE = 0x0...
ZCL_DATA64_ATTRIBUTE_TYPE = 0x0...
ZCL_BOOLEAN_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP8_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP16_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP24_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP32_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP40_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP48_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP56_ATTRIBUTE_TYPE = 0x1...
ZCL_BITMAP64_ATTRIBUTE_TYPE = 0x1...
ZCL_INT8U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT16U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT24U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT32U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT40U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT48U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT56U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT64U_ATTRIBUTE_TYPE = 0x2...
ZCL_INT8S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT16S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT24S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT32S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT40S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT48S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT56S_ATTRIBUTE_TYPE = 0x2...
ZCL_INT64S_ATTRIBUTE_TYPE = 0x2...
ZCL_ENUM8_ATTRIBUTE_TYPE = 0x3...
ZCL_ENUM16_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_SEMI_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_SINGLE_ATTRIBUTE_TYPE = 0x3...
ZCL_FLOAT_DOUBLE_ATTRIBUTE_TYPE = 0x3...
ZCL_OCTET_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_CHAR_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_LONG_OCTET_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE = 0x4...
ZCL_ARRAY_ATTRIBUTE_TYPE = 0x4...
ZCL_STRUCT_ATTRIBUTE_TYPE = 0x4...
ZCL_SET_ATTRIBUTE_TYPE = 0x5...
ZCL_BAG_ATTRIBUTE_TYPE = 0x5...
ZCL_TIME_OF_DAY_ATTRIBUTE_TYPE = 0xE...
ZCL_DATE_ATTRIBUTE_TYPE = 0xE...
ZCL_UTC_TIME_ATTRIBUTE_TYPE = 0xE...
ZCL_CLUSTER_ID_ATTRIBUTE_TYPE = 0xE...
ZCL_ATTRIBUTE_ID_ATTRIBUTE_TYPE = 0xE...
ZCL_BACNET_OID_ATTRIBUTE_TYPE = 0xE...
ZCL_IEEE_ADDRESS_ATTRIBUTE_TYPE = 0xF...
ZCL_SECURITY_KEY_ATTRIBUTE_TYPE = 0xF...
ZCL_UNKNOWN_ATTRIBUTE_TYPE = 0xF...
};
#endif // SILABS_EMBER_AF_ATTRIBUTE_TYPES
}}
** API [#d87ad22e]
工程目录下/zcl-framework-core/attribute-table.c 文件里面...
#codeprettify{{
EmberAfStatus emberAfReadAttribute(uint8_t endpoint,
EmberAfClusterId clust...
EmberAfAttributeId att...
uint8_t mask,
uint8_t *dataPtr,
uint8_t readLength,
EmberAfAttributeType *...
}}
If you look at emAfWriteAttribute() in attribute-table.c ...
#hr();
Comment:
#comment_kcaptcha
ページ名: