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.

[参考译文] CC2530ZLLRC-RD:终端器件不断轮询数据

Guru**** 657980 points
Other Parts Discussed in Thread: Z-STACK, CC2652R, CC2538, CC2650RC, CC2530, CC2530EM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/708563/cc2530zllrc-rd-end-device-constantly-keeps-polling-for-data

器件型号:CC2530ZLLRC-RD
主题中讨论的其他器件:Z-STACKCC2652RCC2538CC2650RCCC2530CC2530EM

大家好、TI 论坛、

我使用 Z-Stack 照明堆栈进行使用 Z-Light 和 ZLL-RC 的 Touchlink 调试。 从所连接的监听器捕获中、终端设备(远程控制)不断轮询数据、以便成功重新加入网络。 当我将另一个节点接入网络并执行 Touchlink 调试时、不会出现这种情况。

遥控器需要不断轮询来自照明的数据?e2e.ti.com/.../Sniffer_5F00_Captures.cubx.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尝试在项目预定义符号中将 POLL_RATE = 0设置为 no-零 值、然后再次测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chen、

    当我使用其他 Z-Light 设备执行 Touchlink 调试时、ZLL-Remote Control 不会继续轮询数据。 只有当我尝试调试另一个启用了 Zigbee Touchlink 的智能灯泡时、它才会这样做。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不是要让遥控器不断轮询来自照明的数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不希望遥控器不断轮询数据、因为照明不会向遥控器发送数据(仅限默认响应)。 当我在标准 Z-Light 和 ZLL-RC 之间执行触摸链路过程时、我看不到常量轮询后网络启动和加入组。 而当我尝试与另一个启用了 Light Link 的灯泡配对时、它会不断轮询来自灯泡的数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法理解您的请求。 您能否使用监听器日志详细说明您的请求/问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Chen、

    我有三个器件:

    1) 1) TI 照明套件中的 ZLL 远程控制器件

    2) 2) TI 照明套件中的 Z-Light

    3) 3)支持 Zigbee Touchlink 的智能灯泡

    案例1:当我尝试在 Z-Light 上使用 ZLL 远程控制设备执行 Touchlink 调试时、从所连接的监听器日志中、您可以观察到远程控制停止持续轮询、以便成功进行数据 POST 调试。

    案例2:当我使用 ZLL 远程控制器件通过启用了标准 Zigbee Touchlink 的智能灯泡执行 Touchlink 调试时、远程控制会不断轮询数据、确保成功进行调试。

    我不希望遥控器继续轮询数据。 为什么它在案例2中轮询、为什么在案例1中不轮询?

    请查找随附的两种情形的监听器日志。 所有器件复位为出厂新状态。

    e2e.ti.com/.../Z_2D00_Light.zip 

    e2e.ti.com/.../Zigbee-Touchlink-Bulb.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看不出来为什么它在情况1中停止轮询、而在情况2中停止轮询。 也许您可以尝试使用 API "NLME_SetPollRate( 0);"自行停止 ZLL 远程控制设备中的轮询。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    理想情况下、我不想对 ZLL 远程控制固件进行任何更改。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哎呀。 如果您不想对 ZLL 远程控制固件进行任何更改,则不知道如何为您提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhay、您好!您目前使用的 Z-Stack 已被弃用、同时使用了非常旧的传统硬件解决方案。 您是否曾尝试使用我们的 Zigbee 3.0 Touchlink 解决方案使用 ZRS 创建分布式网络? 我还建议使用我们的新 CC2652R 或 CC2538器件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sean、

    是否有任何可用的远程控制选项? 我需要对当前由 ZLL-RC 提供服务的应用进行远程控制。

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

    遗憾的是、Zigbee 的唯一替代 RC 是我们的 CC2650RC、它仍然使用我们弃用的 HA 1.2.2a S/W 目前没有开箱即用的 Zigbee 3.0远程控制硬件。

    查看监听器捕获、我发现在添加组响应后、您的 Z-Light 参考捕获不包含太多捕获。 您是否可以在远程执行一些操作(如"开/关"命令)的情况下进行更长的捕获?

    此外、您不想修改 RC 固件是否有任何原因?

    编辑:在这两种情况之间切换时、是否擦除/重置/重新刷新了器件?

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

    您好 Sean、

    在 ADD GROUP 响应之后、如果使用 Z-Light 的 Touchlink、ZLL RC 会停止轮询、而如果使用另一个 Zigbee Light Link 灯泡、则会继续轮询。 除了常量轮询之外、捕获的布置也没有不同。 我们希望将 ZLL-RC 保留为黄金参考、因此不想修改 RC 固件。

    在这两种情况之间、我也重置了遥控器和器件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从 Z-Stack 照明代码中、我可以观察到、Nwk 轮询请求是从 Nwk 事件环路调度的。 您能帮我解决触发相同情况的问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更新:

    我使用 CC2530在 SmartRF05EB 平台上运行了示例远程- EB。 成功进行碰撞连接调试后、我可以观察到遥控器不断轮询来自 Z-Light 的数据。

    我观察到轮询停止的唯一情况是使用 Z-Light 和 ZLL-RC。 根据示例应用、预期的行为是什么?

    根据规范、终端器件应保持定期轮询。 否则、每当唤醒时、它都应发送重新加入请求以确保它是网络的一部分(根据 Zigbee Light Link 标准的8.2.5终端设备轮询)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在《Z-Stack 照明开发人员指南》第4.2节"可选编译标志"中、它指出:

    • power_saving–在不活动时使终端设备能够睡眠并节省功耗。 应在任何电池供电的器件上定义。
    • POLL_RATE = 0–覆盖轮询终端器件的默认轮询速率、允许它们在被外部事件(例如、在控制器板上按下用户密钥)唤醒之前保持睡眠状态。
    • ISR_KEYINTERRUPT–将器件设置为依赖密钥中断、而不是轮询密钥输入、如果在 power_saving 和 POLL_RATE = 0的终端器件上定义了该选项、则允许器件进入深度睡眠(PM3)。

    在  ZLLRC - EndDevice  配置中、设置了这些值。 但是、未为配置  EB - EndDevice 设置它们。 在 IAR 中、请确保您构建的示例是针对 SampleRemote 的、并且您将配置设置为生成的是 ZLLRC - EndDevice 、如下图所示:(如果您希望在调试后没有轮询)

    编辑:您的最终目标是在试运行后轮询还是不轮询? 以上编译标志可让您获得所需的效果。 从上面的帖子中、由于您使用了 EB 配置、因此由于编译标志、预计会在调试后看到轮询。

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

    您好 Sean、

    我的最终目标是终端设备在调试后不应轮询。 在我之前的帖子中、由于我不想干扰 ZLL-RC 固件、我已经使用 SmartRF05EB 和 CC2530EM 转到了 EB 设置。 但是、请使用 Zigbee 智能灯泡和 ZLL-RC 查找随附的捕获。 调试后、您可以观察到远程设备不断轮询数据。 此外、我还传输了一些开/关命令。

    ZLL-RC 在试运行后轮询数据的标准是什么? 是否有任何条件或参数未正确配置或发送? 由于代码采用库形式、因此我请求您进一步支持、以阐明这一条件。

    e2e.ti.com/.../TouchLink_5F00_Captures.zip

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

    您好 Sean、

    更新:

    为 EB 终端器件编译时、我启用了标志 power_saving、POLL_rate = 0和 ISR_KEYINTERRUPT。

    案例1:尝试使用配置为 EB-EndDevice-Remote 的 SmartRF05EB + CC2530EM 配对 Z-Light
    成功调试后未观察到轮询请求。

    案例2:尝试使用配置为 EB-EndDevice-Remote 的 SmartRF05EB + CC2530EM 配对标准 Zigbee Light
    成功调试后观察到持续轮询请求。

    请查找随附的监听器捕获。 您能不能帮助我解决两个捕获之间的差异(我找不到任何)、以便终端设备也停止案例2的轮询?

    e2e.ti.com/.../SmartRF05EB_5F00_Power_5F00_Saving.zip

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

    感谢您提供这些信息、它们非常有帮助。 您说得对、我看不到您提供的两个捕获之间会导致器件停止轮询一个捕获与另一个捕获之间的任何差异、除非情况2器件使用不同的 Z-Stack。

    您是否知道标准 Zigbee Light 在案例2中使用的 Zigbee 堆栈?

    我仍在研究您看到的问题、但最好了解您的案例2正在使用哪种器件、以防我需要重现此问题。

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

    您好 Sean、

    标准 Zigbee 灯泡是使用 Z-Stack 照明(CC2530)构建的。 我不确定该模型。 当我使用 ZLL-Remote Control 启动另一个 TouchLink 扫描时、我可以观察到终端设备停止轮询。 嗯、有时会发生这种情况、有时它会继续轮询。 请查找随附的监听器捕获。

    e2e.ti.com/.../ED_5F00_Polling_5F00_Stops.zip

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

    您好 Sean、

    我正在附加另一个监听器捕获。 终端设备(ZLL 远程设备)持续轮询、直到监听器中观察到大约~600个数据包。 当我发出另一个扫描请求(多次)时,轮询将停止。 为了停止轮询、可能触发了哪个条件?

    e2e.ti.com/.../Keeps_5F00_On_5F00_Polling_5F00_Then_5F00_Stops.zip

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

    您好 Sean、

    您遇到此问题的任何可能原因是什么?

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

    抱歉、两次回复之间的延迟太长!

    我一直在与我们的 Zigbee 开发团队讨论这个问题、我们目前正在研究这个问题、以了解事态发展。 我将在我们发现问题后立即更新您、了解为什么在发出第二个扫描请求后轮询停止。 在我们等待开发团队的过程中、我将继续研究可能导致轮询停止的情况。

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

    您好、Abhay Joshi、

     从 SmartRF05EB_Power_Saving.zip 中提供的数据中、没有任何轮询停止的迹象。 您能否提供一个捕获、以便在使用遥控器发送命令时不进行轮询。

    此致、

    Jose Alvarez

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

    您好 Jose、

    请查找随附的捕获。 线程中还有其他几个具有恒定轮询的捕获、也没有恒定轮询(仅当远程轮询发出命令时才进行轮询-可能是默认响应)。

    在连接的捕获中、我连接了3个 Zigbee 灯泡(2个 Z-Light + 1个标准 Zigbee 灯泡)。 您可以在捕获结束时看到、远程设备在发送命令后甚至不轮询(禁用默认响应设置为0)。  请也说明导致此行为的原因。

    e2e.ti.com/.../Multiple_5F00_Bulbs.zip

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

    您好、Abhay Joshi、

      当 ZLL_W4_NWK_JOIN_RSP_EVT 事件调用 初始化程序 SetNWKToInitState()时,使用调试器查看 savedPollRate 的值。 可能在某个时候 savedPollRate 设置为0x00。 我建议将您的应用程序更新为 ZStack 3.0并控制应用程序的轮询率。

    此致、