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:ZigBee 广播问题

Guru**** 2555630 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/956476/cc2530-zigbee-broadcast-issue

器件型号:CC2530

大家好!

我注意到,在向所有路由器和协调器正确发送几个广播菜单后,只有父级才开始接收相同的广播消息。

使用电池组监听器、我已经了解到 MAC 有效载荷的前两个字节从08 02更改为08 22。 它是否与安全选项相关? 为什么会发生这种变化?

在随附的文件中、地址0xA82B 是我的 ZED、它正在发送广播。 您可以观察到、在下电上电后、此器件会发出信标请求、然后广播菜单。 第一条消息运行良好、但在下一条消息中、只有父消息接收广播。

下面是 MAC 有效载荷差异的图片。

顺便说一下、我已经附加了 SniF年 文件。

e2e.ti.com/.../Broadcast-Work-all.psd

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

    尊敬的 Marcelo:

    我无法解密提供的监听器日志、因为 NWK 密钥不可用、请提供该密钥或捕获密钥传输的加入过程。  您想了解的位是"终端设备发起方"、涉及从 ZED 子设备发送到其父设备的消息。  根据有关终端设备发起方位设置的 Zigbee 2017规范第3.3.1.1.9节: 如果消息源是终端设备、并且 NIB 的 nwkParentInformation 字段不是0、则该子字段应设置为1。 否则、该子字段应设置为0。 验证源后、路由器父设备在中继其其中一个终端设备子设备发送的消息时应清除此字段。

    3.6.6.2:

    当收到帧控制的终端设备发起方子字段设置为1的帧时、应进行以下处理。
    1.如果接收设备是终端设备,则应丢弃该消息,不应进行进一步处理。
    2.接收设备应在邻居表中搜索一个条目,其中“网络地址”的值与消息的“源地址”字段的值匹配,设备类型为0x02 (终端设备)。 如果未找到条目、则应删除该消息、不应进行进一步处理。
    3.路由设备应向发送方发出 Mgmt_leave_Req 命令,同时将“重新加入 PA-rameter”设置为1,并将 RemoveChildren 参数设置为0。

    此致、
    Ryan

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

    您好!

    感谢您的解释。 通过这种方式、我"将监听器文件与配对过程附加在一起。

    如您在日志文件中所见、我加入了器件并对其进行下电上电。 我的 ZED 地址为0xA82B、其他地址为协调器和路由器。

    广播的消息号116和138,但只有消息号116到达其它路由器+协调器,这正是我需要的。

    e2e.ti.com/.../With-Joinning.psd

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

    新的监听器日志仅包含七个数据包。  您可以尝试手动将 zgNWKParentInformation 的值从 NWK_parent_info_undefined 更改为 NWK_parent_INFO_MAC_DATA_POLL 、但 ZDO_Config_Node_Descriptor.CapabilityFlags 也可能需要设置为 CAPINFO_DEVICETYPE_FFD、而不是 CAPINFO_DEVICEPD_RFD (以及其他选项)。  如前所述、这两种方法中的任何一种都未经测试、可能会破坏 ZED 运行、该应用不在 Zigbee 规范的范围内。

    此致、
    Ryan

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

    抱歉、我只向您发送了筛选出的消息。

    这是一个新日志。

    这是一个合并过程、我对地址0xA82B 的 ZED 执行两次循环通电。

    MSG 编号106是第一个功率循环后的第一个广播,msg 125是相同的 msg,但只转到父级。 (我使用了相同的函数调用)

    在第二个下电上电后,msg 143是正常工作的广播,msg 161是仅发送到父级的相同广播。

    e2e.ti.com/.../Joinning-2x-Power-Cyle.psd

     

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

    我同意、除了序列号和计数器外、数据包是相同的、但终端设备发起方位除外。  这是因为 NV 内存正在恢复并在重新加入后生效。  路由设备不会处理来自终端设备(不是其子设备)的消息。  我以前的评论仍然适用于这种情况。

    此致、
    Ryan

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

    感谢您的解释。 我将尝试此权变措施、看看会发生什么情况。