This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2538-CC2592EMK:2592:ZigBee mesh网络中的儿童老化机制

Guru**** 2540720 points
Other Parts Discussed in Thread: CC2538, Z-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/574500/cc2538-cc2592emk-child-aging-mechanism-in-zigbee-mesh-network

部件号:CC2538-CC2592EMK</s>2592
主题中讨论的其他部件:CC2538,Z-stack
我们正在实施一个由协调器(带有cc2538ZNP dongle的Linux系统)和100台路由器(cc2538设备)组成的mesh网络。 我们使用的是z-stack mesh 1.0。0。 我们已使用多对一路由(www.ti.com/.../swra427c.pdf)为TI指定的400个节点启用了配置。  
我们已在协调器中启用NV还原,在路由器中启用NV还原。
我们面临的问题是,如果重新启动路由器,协调员将填充其关联表。 问题在于,每次路由器连接到协调员时,都会在关联表中创建一个条目。 如果路由器重新启动,则不会过时。 一段时间后,关联表已满,且协调器不允许更多设备加入。  
我们知道路由器中的NV还原可以解决此问题。 但在这种情况下,如果协调员出现故障并需要更换,我们需要能够将NV数据从协调员克隆到新协调员。  
根据我们的理解,z-stack mesh 1.0 中没有路由器子级老化机制。0 如果路由器子级老化机制位于  Z-Stack 3.0 NV.0中,我们相信 协调员中的NV恢复和路由器中的NV恢复都能解决我们的问题,因为关联表中的无效条目将在一段时间后被删除,协调员将接受路由器。  
 路由器子级老化机制是否在Z-Stack 3.0 中实施?0?  
如果不是,您建议如何从问题中恢复?
TI是否提供参考代码来克隆具有cc2538ZNP的协调员NV?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在Z-Stack 3.0 中,加入的路由器不会被放入关联表中。 我建议您在Z-Stack 3.0 上进行测试,因为Zigbee 3.0 比旧的Zigbee规范处理得更好。 TI不提供使用cc2538ZNP克隆协调员NV的参考代码。 您可以参考tosunmaysky.blogspot.tw/.../how-to-clone-existing-z-stack.html ,其中显示了如何克隆协调器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../zigbee_5F00_stack_5F00_3_5F00_0.zipWe已尝试使用ZigBee堆栈3.0。 我们已在ZNP协调器固件中提供了Nwk_MAX_DEVICE_LIST=2。

    我们在协调器中启用了NV-restore,而不是在路由器中启用。

    我们有3台路由器。 所有三台路由器都连接到协调器。 断开连接后,再次尝试连接第一台路由器。 但它失败了。 我们发现,在数据包嗅探器中,Assoc标志这次设置为0。 为什么关联列表未被清除??

    我们正在附加数据包嗅探器输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否启用协调员的允许加入? 如果是,您使用什么参数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们已启用允许加入协调员。

    MgmtPermitJoinqFormat_t req;
    Req.AddrMode = 15;
    REQ.DstAddr = 0xFFFF;
    Req.Duration = 0xff;
    REQ.TCSignificance = 0;
    状态= zdoMgmtPermitJoinRequest (&req);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我记得正确,即使您将持续时间设置为0xFF,允许加入也会在254秒后禁用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我们已添加代码以定期启用允许加入。 现在Assoc标志似乎设置为1。 但在重置路由器后,路由器仍未连接回协调器。

    连接嗅探器输出

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以附加PSD文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附加Ubiqua Packet Analyzer Outpute2e.ti.com/.../ZStack3_5F00_0_5F00_0Packets.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您如何知道路由器不能重新连接?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     当路由器连接到MT_ZDO_END_DEVICE_ANNCE_IND时,我们会收到协调器消息。

    由于重置路由器时没有得到相同的结果,因此我们假定它未连接到协调器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果加入的设备是路由器,则当ZR首次加入Zigbee网络时,您只能看到MT_ZDO_END_DEVICE_ANNCE_IND。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据我的理解,如果路由器中未启用NV-restore (Z-stack 1.0 .0),ZC将在每次路由器重新连接时获取MT_ZDO_END_DEVICE_ANNCE_IND数据包。 这种行为在z-stack 3.0 中是否不同??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果NV_RESTORE被禁用,则每次路由器加入时都要像新路由器一样,ZC应获得MT_ZDO_END_DEVICE_ANNCE_IND。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如何在z-stack 1.0 中禁用允许联接?  

    我们使用了以下参数,但仍允许使用协调器连接路由器。

    MgmtPermitJoinqFormat_t req;

    Req.AddrMode = 2;
    REQ.DstAddr = 0xFFFF;
    Req.Duration = 0x00;
    REQ.TCSignificance = 1;
    int status = zdoMgmtPermitJoinRequest (&req);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要在ZC上禁用允许联接,必须设置req.DstAddr = 0x0000。