zll组网流程问题
TI工程师您好
有几个地方有点疑问,我的目的是用ZLL协议组成一个无线控制网络 ,包括:网关、灯、遥控器。
我的想法是:1、网关程序用 Z-Stack Lighting 1.0.2 - SampleBridge-Dongle-Router
2、灯的程序用 Z-Stack Lighting 1.0.2 - SampleLight-Zlight-Router
3、遥控器程序用 Z-Stack Lighting 1.0.2 - SampleRemote-ZLLRC-EndDevice
想问一下要把这几个组到一起的流程是怎样的 ?
我说一下我现在的理解 不知道对不对:第一步用网关(Dongle-Router)通过“TouchLink”方式和灯(Zlight-Router)组网,第二步是用遥控器(ZLLRC-EndDevice)通过调用“zllInitiator_ClassicalCommissioningStart()”再和网关(Dongle-Router)组网(第二步前网关调用一下zllInitiator_PermitJoin(60)函数)。
我现在第一步没问题,能够正常组网并正常控制灯的开关,现在第二步没有反应(通过加打印信息观察),我通过Packet Sniffer抓包 发现第二步执行后好像遥控器已经被分配了短地址(short addr Assoc.status栏显示 0x4e9e Successful),然后0x4E9E这个地址就会一直发送 Data request 命令。现在我疑惑不知道是我的组网方式是否正确? 然后我该从哪里判断遥控器是否被加上?谢谢!
附件为抓包数据
遥控器在进行data request,已经分配到短地址了,说明遥控器的入网过程是正确的。
灯的入网过程也是正确的。
谢谢你的回答
我现在还有一些疑惑,遥控器入网成功后,想要控制灯设备,网关上有三个灯 灯A、灯B、灯C。那么遥控器入网后怎么样得到这三个灯的信息呢(例如短地址)? 是入网后遥控器需要外界干预下发请求?还是网关会主动发送给遥控器?
有几种办法,
1)可以在遥控器和灯都入网以后,让遥控器去Touchlink灯,在Touchlink的过程中,会有地址信息的交互,然后会在遥控器端保存。
2)遥控器和灯之间可以实现绑定,绑定的前提的让两个功能匹配的设备之间进行帮绑定,比方遥控器和灯。最根本的目的在于,让遥控器知道灯的地址。
绑定可以有几种方法,遥控器自己发起需找,或者网关指定两个设备,都可以。