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.

[参考译文] LAUNCHXL-CC26X2R1:在 ZDO_LEASE_IND 不工作后重新加入终端设备

Guru**** 2466550 points
Other Parts Discussed in Thread: LAUNCHXL-CC26X2R1

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1126042/launchxl-cc26x2r1-rejoin-an-end-device-after-zdo_leave_ind-not-working

器件型号:LAUNCHXL-CC26X2R1

您好!

我有两个连接到 LAUNCHXL-CC26X2R1的传感器作为协调器。 当我按下传感器上的按钮时、器件将与协调器断开连接。 没关系。 允许加入打开(ZDO_Mgmt_permit_join_Req)- fe052536 0f FFFF ff 00 E6 (允许广播加入、对于所有器件、在没有持续时间的情况下启用加入)。

我确实从协调器获取了 ZDO_LEASE_IND:

fe0d45c9 aef3 eef27705008d1500 00 00 2a - ZDO_LEASE_IND (这是传感器1)

fe0d45c9 75e6 5a7b4a05008d1500 00 00 00 e4 - ZDO_LEASE_IND (这是传感器2)

我们可以看到 ShortAddr、IEEEAddr、Request、Remove 和重新加入全部为零。

我希望能够立即让这些设备重新加入。 但是、如果我按下设备上的按钮、将其重新连接到网络、则无法正常工作。

如果我重新启动、我的脚本设备可以立即重新加入(脚本确实使用 ZDO_STARTUP_FAND_APP +  ZDO_MGMT _ALLOW_JOIN_REQ 启动网络)。

如何在不需要重新启动脚本/网络的情况下让设备重新加入?

我知道 有一些选项、例如 ZDO_SET_RESUON_PARAMETERS 和 APP_CNF_SET_ALLOWREJOIN_TC_policy。 是否有默认的退避计时器? 我是否需要使用这些函数?

谢谢、

Robert

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

    您好、Robert、

    [引用 userid="529952" URL"~/support/wireless-connectivity/ZigBee-thread-group/ZigBee-and-thread/f/ZigBee-thread-forum/1126042/launchxl-cc26x2r1-rejoin-and-end-device-after -zdo_leave ind-not working"]在没有持续时间的情况下启用加入[引用/引用]

    对于 Zigbee 3.0、这不是一个选项、如 SWRA615中所述 、最大值为254秒。  如果 ZC 收到 ZDO_LEASE_IND、且重新加入的值等于零、则它将从其关联表和 TC 表中删除 ZED。  因此、ZED 将需要执行新加入、这需要启用许可证加入、如果之前的加入时间已经过期、则可能需要另一个 ZDO_MGMT _ALLOW_JOIN_REQ。  这可能是使用另一个许可加入请求重新启动成功的原因。  另一个选项是 、如果 ZED 发送了 ZDO_LEASE_IND、则设置重新加入选项;如果他们计划重新加入同一网络、则根本不让他们发送任何断开连接/离开。

    此致、
    Ryan

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

    谢谢 Ryan。 哪个值最长为254秒? 在未设置时间限制的情况下启用允许加入。 我不能影响传感器发送的内容(我不能让他设置重新加入标志)。

    我已经做了一些进一步的测试:

    ->我按下传感器上的按钮3秒钟

    12.08.2022 19:20:49 ZDO_LEASE_IND (回调)- fe0d45c9 89d0 5a7b4a05008d1500 000000 2e -短地址(NwkAddr):d089 -扩展地址(IEEE 地址):00158d00054a7b5a
    12.08.2022 19:20:51 ZDO_TC_DEV_IND (回调)- fe0c45ca58815a7b4a05008d15000000ac -短地址(NWKADDR):8158 -扩展地址(IEEE 地址):00158d00054a7b5a -父网络地址:0000
    12.08.2022 19:20:52 ZDO_END_DEVICE_ANNCE_IND (回调)- fe0d45c158815a7b4a05008d150080ff -源地址:8158 -短地址(NwkAddr):8158 -扩展地址(IEEE 地址):00158d00054a7b5a 80 -功能
    12.08.2022 19:20:52 - Stats PIR - fe3e448100000000588101008e008a16a800002a1c5f11010a01ff42210121e50b0328230421a80105218d0006240000000a2100006410000b211f0058811d15 -电池地址:0nw15 -电池地址:0d15

    -> Device is leaving and does Re-join right right、it will get a new address (设备正在离开并立即重新加入、它将获得新地址)

    这可能会或可能不会工作一次或两次。 有时我只能得到:

    12.08.2022 19:16:52 ZDO_LEASE_IND (回调)- fe0d45c9 b4b1 5a7b4a05008d1500 000000 72 -短地址(NWKADDR):b1b4 -扩展地址(IEEE 地址):00158d00054a7b5a

    -> assoc 设备数量减少-1 (我可以看到当我再次启动脚本时)

    现在、我无法再重新加入传感器。

    在这两种情况下、ZDO_LEASE_IND 数据在标志方面是相同的(未设置重新连接)。

    我使用以下命令启动网络:

    #ZDO_STARTUP_FAN_APP
    fe022540640003

    #ZDO_Mgmt_permit_join_Req (0f =广播、NwkAddr 0xFFF 是协调器或路由器的 BC、持续时间为0xff -无时间限制加入启用)
    fe052536 0f fcff ff 00 e5

    ZDO_Mgmt_permit_join_Req 确实设定了一个0xff (无时间限制)的持续时间。因此、我确实假定这允许器件永远加入(并反复重新加入)。

    感谢你的帮助。

    此致、

    Robert

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

    尽管您正在查看 的有关 ZDO_Mgmt_permit_join_Req 的文档可能指示值0xFF 设置了无限的加入时间、但传统 Zigbee HA 1.2规范和更早版本却是如此。  适用于所有 SimpleLink CC13XX/CC26XX 器件的 Zigbee 3.0规范不允许无限许可证加入、并将时间缩短到设定值(即 254或更低)。  因此、使用新的短地址(即不是真正的 Zigbee 重新加入)重新加入 ZED 的时间在分配 的允许加入时间内、您需要重新设置 ZDO_Mgmt_permit_join_Req 以允许器件再次加入。

    此致、
    Ryan

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

    谢谢 Ryan。 假设我发布:

     #ZDO_Mgmt_permit_join_Req (0f =广播、NwkAddr 0xFFF 是协调器或路由器的 BC、持续时间为0xff -无时间限制加入启用)
    fe052536 0f fcff ff 00 E5 (或 fe = 254而不是 ff = 255)。

    这意味着、一旦我的网络已启动并且发出了加入许可命令、我需要在254秒内加入我的设备? 如果在此时间内未连接任何器件、我需要重新发送 ZDO_Mgmt_permit_join_Req 命令以基本上重置"允许连接计数器"?

    如果我的器件在 ZDO_Mgmt_permit_join_Req 之后几秒钟加入、 我可以在一段时间内重新加入器件、直到254秒的计时器为零?

    如果我的器件在254秒后下降、我需要重新发布 ZDO_Mgmt_permit_join_Req 以允许此器件重新加入?

    事实上、 收到 ZDO_LEASE_IND 后、我确实重新发布了 ZDO_Mgmt_permit_join_Req。 实际上、器件会立即重新加入。 这似乎现在工作正常。 我注意 到只有第一个 ZDO_Mgmt_permit_join_Req 从协调器获得了一个应答(fe016536 00 52)。 协调员 未回答进一步的 ZDO_Mgmt_permit_join_Req 命令。 这是预期的/正常的吗? 只需确保、因为设备会重新加入、所以无关紧要。

    以上问题只是为了完全了解这种情况。 感谢您的回答。

    此致、

    Robert

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

    现在、您似乎已经了解了这种情况以及您必须采取哪些措施来进行补偿。

    此致、
    Ryan