Ember zigbee协议栈有专门提供发送zcl command 的API可调用,那么下面来看一下如何调用API发送zcl command。
1、先使用填充宏定义(fill macro)来构造你要发的zcl command,填充宏定义可在<install path>/app/builder/STM32/clientcommand-macro.h中找到,包括自定义的command也自动在此文件生成填充宏。如要发送一个identify command只需调用emberAfFillCommandIdentifyClusterIdentify(identifyTime)就能构造一个identify command。
2、确定command发送的源端点(source endpoint)和目标端点(target endpoint)来构造EmberApsFrame,直接调用void emberAfSetCommandEndpoints(int8u sourceEndpoint, int8u destinationEndpoint)函数。
3、发送指令,有三种发送方式,单播,组播和广播。分别调用以下函数: