目的:实现ZHA例程samplelight和sampleswitch上电后自动组网,而非EZMODE方式。
我将samplelight例程设为协调器,sampleswitch例程设为终端,编译时均取消Zcl-Ezmode 和 Hold-Auto-Start (即 xZcl_Ezmode 和 xHold_Auto_Start)。发现LED1一直亮(说明成功取消EZMODE)。但是switch终端模块的按键SW_2不能控制light模块上的LED2。 通过设断点做调试,发现switch模块没有发现合适的网络入网,说明switch和light没有成功自组网。
请教高手们,我应该如修改例程,来实现samplelight和sampleswitch上电后自动组网,并且switch可以远程控制light呢?
VV:
首先看你的协调器网络是否创建成功,
上电以后Beacon request->每个15s发link status,说明建网成功
另外当你节点上电的时候,是否有搜索网络,有没有发出来beacon request,然后协调器会回复beacon,
在beacon里面要判断,协调器是否permit join?
如果permit join yes的话,节点是否有发association request,协调器回复association response。
具体你通过抓包就一目了然了!
Xiaobo Zhang:
light和switch都通过按键发送一下绑定命令,ZDP_EndDeviceBindReq,成功后,可以sw控制led
Ming Yu3:
我也遇到这个问题,你的问题解决了没
libin zheng:
我也遇到这个问题,你的问题解决了没。
VV:
回复 libin zheng:
@Ming Yu 3
@libin zheng
你们什么问题,能不能描述清楚点,具体的现象是什么,做过哪些测试?
空中的数据包怎么样?
协议栈上面做过哪些更改?