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.

[参考译文] CC2652R7:ZC 协调器示例应用程序在休眠终端设备正常工作时不响应 IAS 区域 Enrll 要求。

Guru**** 2465460 points
Other Parts Discussed in Thread: SIMPLELINK-CC13XX-CC26XX-SDK, CC2652R7, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1185384/cc2652r7-zc-coordinator-sample-application-does-not-responding-the-ias-zone-enrll-reqest-for-sleepy-end-device-while-it-is-working-fine-for-router-device

器件型号:CC2652R7
主题中讨论的其他部件:SIMPLELINK-CC13XX-CC26XX-SDKZ-STACK

您好!

我观察到休眠终端设备存在问题、我的协调员基于 TI 示例 Zigbee 应用 ZC 观察到问题、当休眠终端设备加入网络时、它不响应 IAS 区域 Enrll 请求、但它适用于路由器类型的设备。

在随附的日志"ZC Not Responding for Zone Enroll Request from sleepy device"中、请查看第130行和第154行、终端设备已序列发生、但 ZC 未响应。 我仅使用示例应用来实现区域功能。

  

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

    e2e.ti.com/.../New-folder-_2800_2_2900_.zip

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

    另请查看随附的日志"IasZoneTestingWithTiSampleApp_ZR_Zone" 、并查看其他应用程序正在运行的代码行号310和329 e2e.ti.com/.../New-folder-_2800_3_2900_.zip

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

    让我知道这是否与父母为休眠终端设备保留的消息数量有关。 我还在休眠或 ZR 器件代码的情况测试中调试了代码、但行为不同。

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

    我已使用 zcl_ss.c 模块来实现 IAS 区域功能,在这两种情况下(当这是 ZR 器件和休眠式终端设备时),我都可以看到调用了"zclSS_ProcessInCmd_ZoneStatus_EnrollRequest",然后在方法"zclSS_IAS_Send_ZoneStatusEnrollResponseCmd"也被调用之后。 但在 ubiqua 日志上、我看到休眠终端设备的行为不同、它不会产生响应、而对于 ZR、它会产生响应。  

    请告诉我、当器件不同时、这种行为为何不同。  

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

    您好 Jagdish、

    感谢您提供详细的监听器日志以及所提供的相关数据包编号。  您参考的是 SIMPLELINK-CC13XX-CC26XX-SDK 的哪个版本?  您 分别为 ZC 和 ZR (CIE、警告设备或区域)使用了哪些 IAS 示例?  您是否尝试使用 ZED TI 器件而不是第三方节点进行测试?  您对 ZC 项目的默认设置进行了哪些更改?  对于 ZR 区域注册请求,ZC 的响应似乎被过度延迟(在1分钟后和17秒后发生),这是不可预料的。  ZED  的 ZC 项目中的 zclSS_ProcessInCmd_ZoneStatus_EnrollRequest"开始到"zclSS_IAS_Send_ZoneStatusEnrollResponseCmd"之间是否会发生相同的延迟?  我们应该进一步确定导致区域注册响应延迟的原因。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的回答。

    请查找您的问题答案。

    SDK 版本为 simplelink_cc13xx_cc26xx_sdk_6_20_00_29

    2.A.对于 ZC、我正在基于 zcl 恒温器.c 开发应用、但我复制了 zc_CIE 中用于 区域实现的代码。 我已按照 ZC_Cie 示例应用中使用的方法查询 zcl_ss.c 文件。

    2.b.对于使用测试应用程序的 ZR I 、此示例应用程序位于"C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\lp_CC2652R7 \Zstack"中

    3.我将使用 TI ZED 器件进行测试并分享结果。

    4.我没有对 ZC 工程的默认设置做太多更改、我可以共享工程文件或其他任何内容(如果需要)、让我知道哪个文件具有默认设置。

    5. 注册响应的延迟时间可能是1分钟17秒,这可能是因为一些识别查询之间存在,但我不知道它的堆栈行为,我已再次对它进行测试,此延迟减少到24秒。

    6. 一旦 Ubiqua 协议分析器上出现最频繁的情况,zclSS_ProcessInCmd_ZoneStatus_EnrollRequest 似乎立即生效。

    7.  zclSS_IAS_Send_ZoneStatusEnrollResponseCmd 如果终端设备甚至不发送注册响应 (这是主要问题),导致延迟的原因可能是其根本原因。

    如果 您需要任何其他信息来解决此问题、请告诉我。  

    此致  

    Jagdish k

     

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

    您是否在您的协调器的 InCluster 中添加了 ZCL ACE 群集,在 Outcluster 中添加了 ZCL IAS 区域群集?

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

    您好、Yikai、

    感谢您的响应、我不想使用 ZCL ACE 我只想使用 IAS 区域、是的、我在 OUT 群集列表中添加了 ZCL_CLUSTER_ID_SS_IAS_ZONE 区域。

    您需要了解的是、这对于 ZR 器件和终端器件来说是有效的、行为是不同的。 这是问题所在。  

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

    标准 CIE 器件应包含 InCluster 中的 ZCL ACE 群集和 OutCluster 中的 ZCL IAS 区域群集。 我建议您添加这两个选项以测试它是否起作用。

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

    您好、Ryan、

    我使用 zed_zone 与同一协调员进行了测试 、我观察到这次我收到了区域注册请求的响应、请查看第132行和第136行。

    之前的传感器与这两者之间的区别在于、"zed_zone" 中的区域注册请求命令的计时是在按下按钮2时执行的、此时 不会与 ZC 进行其他通信。

    在我的第三部分终端设备传感器中、它会发送 区域注册请求命令、而无需用户操作、并作为通信的一部分。 这是因为我认为 ZC 无法响应。

    是否有任何设置可增加子设备父设备的数据包保留数量。 可能是这导致了问题。  

    此致

    Jagdish K

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

    请查找随附的上述测试日志 e2e.ti.com/.../1425.New-folder.zip

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

    来自 zed_zone 示例和第三方设备的区域注册请求之间的另一个区别是 ZCL 有效载荷的内容、包括区域类型和制造商代码。  您可以复制 zed_zone 示例(zd_Config_Node_Descriptor.ManufacturerCode in ZD_confg.c 和 zcl_samplezone_data.c 中的 zclSampleZone_ZoneType)上的第三方数据以进一步比较结果。

    如果在 ZED 设备已加入 Zigbee 网络后重置该设备、ZC 是否会响应第三方设备的区域注册请求?   这可能会验证是否存在较大的消息流量问题。  您可以尝试在 NWK_globals.c 中增大 NWK_MAX_DATABIFS_*,这将有助于进一步调试  ZED 发送区域注册请求时 ZC 的 zclSS_IAS_Send_ZoneStatusEnrollResponseCmd 函数。

    此致、
    Ryan

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

    您好、Ryan、

    在第二个区域注册请求中、ZC 响应、但由于它已为其分配了一个区域编号、因此响应为"无注册许可"、请查看所附日志的第97行和105行。

    在之前的请求中、它也使用默认响应进行响应、但不使用注册响应进行响应、请查看第79行、而在第二个观察中、它不使用默认响应进行响应。

    请不要对其进行调试、在这两种情况下、代码都到达  zclSS_IAS_Send_ZoneStatusEnrollResponseCmd、因此在这两种情况下、代码必须进行响应、但不会进行响应。

    如果您需要更多信息、请告诉我。

    此致

    Jagdish Ke2e.ti.com/.../EcolinkDoorWindow-Sensor-testing.zip

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

    在有问题的情况下、我一直调试到" status = Zstackapi_AfDataReq (zclPortFindEntity(srcEP->endpoint)、&req);"状态的值为0、但我看不到 Ubiqua 上的任何内容、它将成为我无法理解这种奇怪的行为  

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

    您好、Ryan、

    我也使用 CIE 示例应用测试了第三方传感器、我可以看到这是发送区域注册响应的方式、请查看第66行、现在您可能会说我的应用程序有问题、但这再次执行相同的代码、即"

    zclSS_IAS_Send_ZoneStatusEnrollResponseCmd"作为我的 ZC 应用 程序中存在问题的行。
    还有一个观察结果、
    在第54行的附加日志中、在注册请求中、传感器要求进行默认响应、请查看此处的 ZCL 标头帧控制禁用默认响应标志、因此、 理想情况下、CIE 示例应用应以默认响应进行响应、我可以看到不可用、您可以查看一下
    一个友好的请求、您能告诉我所有可能尝试的事情、因为您的响应是在1天后进行的、这将需要花费大量时间。 如果您让我知道我可以尝试的一切、我将会做并测试用例。
    此致  
    Jagdish Ke2e.ti.com/.../DefaultRespnotsentbyCIE-sample-app.zip  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    仅 当 zclSS_AddZone 因 zcl_mem_alloc 返回 ZMemError 而失败时、才返回 SS_IAS_ZARE_STATUS_END_ENLOG_RESPON_CODE_NO_END_permit。  您可能会受到堆存储器的限制、从而导致消息不会被发送出去。  堆在 SIMPLELINK-CC13XX-CC26XX-SDK v6.20随附的 Z-Stack 中被静态分配、因此您可以尝试增加 app.cfg 中的 HEAPMGR_SIZE、但是更新 v6.30或更高版本也将允许自动分配堆大小。

    请尝试在 Stack/Config/f8wcoord.opts 中增加 MAC_CFG_TX_*,就像以前使用 NWK_MAX_DATABIFS*值时一样。  您是否正在使用 Ecolink 4655BC0-RZigbee2MQTT 支持的任何其他器件?  如果是、您可以考虑评估 CC26X2 ZNP 固件 在与第三方器件环境通信时如何响应第三方器件。

    您还可以调试 zcl_ProcessMessageMSG 以进一步确定为什么 不发送 zcl_SendDefaultRspCmd。  否则、我将需要时间在我的终端上重新创建问题、以便进一步调查行为。

    此致、
    Ryan

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

    您好、Ryan、

    您是否在您的结尾模拟了此问题、请告诉我。  

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

    e2e.ti.com/.../ZC_5F00_CIE_5F00_ZED_5F00_ZONE.cubx

    附加的是正确响应 ZED 区域注册请求的 ZC CIE、该请求在调试后立即发送。  这将使用默认的 SIMPLELINK-CC13XX-CC26XX-SDK v6.40 zc_CIE 项目。  请告诉我应该尝试哪些步骤来重新创建您观察到的行为。  

    此致、
    Ryan