完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-5-24 14:26 编辑
我在学习Z-Stack Home1.2.1协议栈时,有如下两个问题,望各位指教,谢谢! 1. 不太明白发送端的命令或请求是如何对应接收端的回调函数的。例如:开关节点执行 zclGeneral_SendOnOff_CmdToggle函数,发送开关命令到灯节点,灯节点调用回调函数zclSampleLight_CmdCallbacks执行开关动作。我知道回调函数在zclSampleSw_Init()中都进过注册的,但是不明白这两个不同节点的函数之间是怎么对应的,两个函数之间是如何定义指向关系的? 2. 如果我要自定义两个设备之间的请求和响应的回调函数,协议栈中该如何修改?两个函数该如何关联,才能正确响应? |
|
相关推荐
5个回答
|
|
你好,
1, zclGeneral_SendOnOff_CmdToggle函数是给目的节点发送了一个ZCL的命令,指定目的地址 目的的End Point和cluster,cluster的操作方向,以及ON/OFF的命令号。 那么在接收端,刚开始注册的callback函数zclGeneral_RegisterCmdCallbacks 里面会把你ZCL的命令注册给 // Register as a ZCL Plugin if ( zclGenPluginRegisted == FALSE ) [ zcl_registerPlugin( ZCL_CLUSTER_ID_GEN_BASIC, ZCL_CLUSTER_ID_GEN_MULTISTATE_VALUE_BASIC, zclGeneral_HdlIncoming ); ] 当有这个命令来的时候,会去到zclGeneral_HdlIncoming函数里面做处理 在zclGeneral_HdlInSpecificCommands会去找对应的End Point和Cluster, 在对应的Cluster下面会去找对应的command zclGeneral_ProcessInOnOff( zclIncoming_t *pInMsg, zclGeneral_AppCallbacks_t *pCBs ) 处理命令的最终函数就是用注册的callback函数来处理的 pCBs->pfnOnOff( pInMsg->hdr.commandID ); 2,按照上面的逻辑你可以自己去加你想实现的,或者在已有的函数上,把你自己的东西加进去就可以了 不知道你想实现的功能是什么。 谢谢 |
|
|
|
wenlonghbo 发表于 2018-5-22 08:12 感谢VV的回复, 我想实现的功能是:协调器发送一个广播指令到网络中所有的灯节点(设备类型为路由器)。灯节点收到这个广播指令后,将自身的短地址和灯的开关状态发送给协调器,这样协调器就可以采集到当前网络中所有灯的状态,同时也可以根据采集到的灯节点的短地址发送指令控制任何一个灯。我想实现这个功能所以就有了上述提问。 请问在Z-Stack Home 1.2.1中有相同或者类似的功能吗? 谢谢! |
|
|
|
jessica_ma 发表于 2018-5-22 08:27 用ZCL Foundation中的Read attributes命令广播来读light的ONOFF Cluster attributes是不是可以实现你要的功能啊 |
|
|
|
52hui1996 发表于 2018-5-22 08:41 具体该调用哪些函数和指令,流程是怎样的啊? |
|
|
|
extern ZStatus_t zcl_SendRead( uint8 srcEP, afAddrType_t *dstAddr, uint16 realClusterID, zclReadCmd_t *readCmd, uint8 direction, uint8 disableDefaultRsp, uint8 seqNum ); |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
665 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
591 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1045 浏览 1 评论
726 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
519 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
153浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
119浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
122浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
120浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 07:32 , Processed in 0.830849 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号