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.

[参考译文] CC2530:Zstack3.0.2上的网络问题

Guru**** 2466550 points
Other Parts Discussed in Thread: Z-STACK, CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1107016/cc2530-out-of-the-network-issue-on-zstack3-0-2

器件型号:CC2530
Thread 中讨论的其他器件:Z-stack

大家好、

以下是客户可能需要您帮助的几个问题:

1)客户 希望父节点强制已从网络中删除的设备(无消息、子节点、低功耗终端),并且只清除父节点记录的各个子节点的相关信息, 然后在调用 bdb_resetLocalAction()后启用子节点联网, 他们应该怎么做? 例如、在长时间未接收到心跳数据包后删除相应的器件。

问题原因:当父节点使用此函数 NLME_LeaveReq()将子节点从网络中断开时,子节点将关闭,无法从父节点请求数据。 发送到终端设备的消息要求终端从父节点请求数据、因此父节点不能发出 leave 指令。

2) 2)父节点存储发送到子节点的数据、并等待子节点请求数据并发出数据。 这些数据存储在何处? 如何告知应用程序在子节点轮询后已成功释放数据?

问题原因:发送数据时,数据将成功返回,但数据实际上存储在父节点中,并正在等待子节点轮询。

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    他们使用的是什么 Z-Stack 版本?  答案可能因支持的解决方案而异。

    1) 1)这是由子年龄管理自动完成的、该子年龄管理可通过更改  ZGlobals.h 中针对 Z-Stack 3.0项目的 NWK_END_DEV_TIMEOUT_DEFAULT 和 NWK_END_DEVICE_LEW_TIMEOUT 值进行配置。  已离开网络的儿童应使用 leave 命令响应 leave 请求,以便父设备知道要正式删除关联表条目。

    2) 2)传出的数据包在 NWK_MAX_DATABUFS_*中总共保留 了 NWK_INDIRECT 和 MSG_TIMEOUT 秒、之后它们将被淘汰并从缓冲区中删除。  可以使用 ZDApp.c 中的 AF_DATA_CONFIRM_CMD 案例、通过跟踪 transID 值来确认发送了哪些数据包。

    此致、
    Ryan

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

    您好、Ryan、

    感谢你的帮助。

    [引用 userid="114053" URL"~/support/wireless-connectivity/ZigBee-thread-group/ZigBee-and-thread/f/ZigBee-thread-forum/1107016/CC2530 Out-of the network-issue-on" zstack3-0-2/4102882#4102882"]Z-Stack 使用的是什么版本?  [/报价]

    3.0.2。

    [引用 userid="114053" URL"~/support/wireless-connectivity/ZigBee-thread-group/ZigBee-and-thread/f/ZigBee-thread-forum/1107016/CC2530-out-the-network-issue-on" zstack3-0-2/4102882#4102882"]1)这可以通过更改  ZGlobals.h 中的 nk_endum_timeout 管理值并在设备中自动完成。  已离开网络的儿童应使用 leave 命令响应 leave 请求,以便父设备知道要正式删除关联表条目。

    客户的理解如下:修改 NWK_END_DEVICE_SLAVE_TIMEOUT 参数等于修改心跳数据包的最大等待时间。 如果设备被丢弃/损坏,并且无法发送心跳数据包,则父节点会在过期后自动删除某些信息。 对吗?  

    但是、丢弃/损坏的设备无法响应 leave 命令、如何让父设备正式删除关联表条目? 这是客户想要实现的目标。

    谢谢、此致、

    樱桃

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

    要求器   件在 NWK_END_DEV_TIMEOUT_DEFAULT 之后离开、并在 NWK_END_DEVICE_LEASE_TIMEOUT 之后从关联表中移除。  因此、如果任何轮询速度低于 NWK_END_DEVICE_LEASE_TIMEOUT 的终端器 件将不会收到离开请求、因为父器件不再识别该请求。  如果他们通过应用程序监视终端设备响应、则还可以使用 AssocRemove 自行删除关联条目。

    此致、
    Ryan

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

    请确保您的设备在发送休假请求后进行出厂重置以擦除以前的网络信息。