TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ZHA组网问题,“局域网锁”的设想求大神帮忙想办法

Coordinator 和 Enddevice

都设置了xHOLD_AUTO_START ,即开机自启

但是有个问题,Enddevice组网后,它再断电上电后有时候会跑到别人的网络里(另一台Coordinator的网络里,两台Coordinator会打架抢设备 )

我想设置一个机制:

1. 首先ZHA设备需要能够判断自己是不是FactoryNew,还有:这个方法怎么判断(类似于zll_IsFactoryNew函数的功能)?

2. 组过网的Enddevice上电后,先判断自己不是FactoryNew,就停止自启网络ZDOInitDevice(0),并且还要恢复断电之前的那个网络(NV_RESTORE已开启),

(恢复保存的网络是不是用ZDApp_StartJoiningCycle() ?), 这样就不会被其他Coordinator搞走

3. 但是这样会导致现有Coordinator坏掉或者离线后,Enddevice彻底没法与新的Coordinator组网,所以我设想的:Enddevice每隔一段时间接收Coordinator广播的消息,收不到会计数,超过一定时间后,Enddevice认定自己计数器超时,重置自己。

我这些想法都是以前基于ZLL协议实现过:类似于一个“局域网络锁”的功能,现在在ZHA网络上开发,加这个功能,还有些不太懂,求大神们指导

送张壁纸给你们

Final Azadica:

还有Coordinator Nwk Address 一直都是0x0000

因为开发产品需要修改。这块短地址我找了很久,都没有发现。可不可以改成我自己手动分配的,比如osal_rand(),或者MAC地址后四位。

VV:

如果在NV_RESTORE开启的情况,掉电以后肯定不会加入到其他的Coordinator网络去。

赞(0)
未经允许不得转载:TI中文支持网 » 关于ZHA组网问题,“局域网锁”的设想求大神帮忙想办法
分享到: 更多 (0)