1.ZigBee的协调器和节点都开启了NV,协调器随着节点的增加,
默认的20个设备添加满了,此时如何删除某些不要的地址?
2.在协调器里面能否看到当前总共加进来了几个设备以及他们的地址?如何读取?
3.如果协调器端有个地址的表,可以删除不需要的地址就OK了,不知道是否可以?
YiKai Chen:
一般需要送leave request 給設備、設備回應leave response 後才会從協調器association list移除,不過你也可以試試用AssocRemove去移除看看
Alvin Chen:
回复 YiKai Chen:
AssociateDevList 只保存父子设备的信息,你要删除某个设备 需要送leave request
user5367314:
回复 YiKai Chen:
那有一种情况怎么删除地址,协调器开启了NV,但是设备坏了,更换新的设备后,如果想把之前设备的地址从协调器里面删除,用leave request应该就不行了吧,leave request需要和设备通信,这种情况该怎么操作?
YiKai Chen:
回复 user5367314:
Zigbee 3.0有提供Child aging的機制,建議你用Z-Stack 3.0.2協議棧,設備太久沒有通信,父節點會主動把他從association list移除
user5367314:
回复 YiKai Chen:
用的是home 1.2.2版本,好像也有Child aging机制吧?Child aging是什么意思?这个机制如果用的话具体怎么使用?
YiKai Chen:
回复 user5367314:
home 1.2.2版本Child aging實作並不完全,建議你還是用Z-Stack 3.0.2,Child aging机制簡單的說就是我先前解說的"設備太久沒有通信,父節點會主動把他從association list移除"
user5367314:
回复 YiKai Chen:
home 1.2.2版本里有没有一直机制,可以在协调器里直接把设备移除,而不需要和设备通信,我们的情况可能是某个设备不用了,需要及时把他从协调器里删除,leave request需要和设备通信(如果设备坏了就无法通信了),Child aging也不适合(不是及时的移除)
YiKai Chen:
回复 user5367314:
你可以試試用AssocRemove去移除协调器association table 里面的設備
user5367314:
回复 YiKai Chen:
除了作心跳包,协调器有没有什么办法能实时的知道设备在不在线?
Alvin Chen:
回复 user5367314:
这个没什么方法,你知道去找这个终端设备,看他有没有ACK,有就是还在,多次不回复应该就是不在。