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.

[参考译文] LP-CC2652R7:ZigBee 协调器和路由器选择

Guru**** 2465890 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1158572/lp-cc2652r7-zigbee-coordinator-and-router-selection

器件型号:LP-CC2652R7
Thread 中讨论的其他器件:SysConfig

您好!

是否可以在运行时或启动时在 Zigbee 协调器和 Zigbee 路由器之间切换?

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

    您好、Krishna、

    ZNP 可以在调试前切换角色、但在启动和加入网络后、节点必须保持其当前角色、直到其恢复出厂设置(即清除 NV 存储器)。

    此致、
    Ryan

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

    大家好、感谢您的回答。 在 Z-Tool 中 、我需要使用哪个命令将网络角色从路由器切换到协调器、反之亦然?

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

    SYS_OSAL_NV_WRITE 至 ID 0x87、其中值0为协调器、1为路由器、2为终端设备。  YK 在 博客文章中介绍了此功能

    此致、
    Ryan

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

    通过上面的博文尝试了一系列命令、Zigbee 协调器工作、返回 ZC 设备类型并形成网络。 但 Zigbee 路由器返回的设备类型为 ZR、但不启动信标。 由于路由器角色而卡住。

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

    我相信这些步骤是有效的。 请确保您完全按照步骤操作。

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

    调试开始后、必须保持当前角色、直到执行出厂复位。  这也可以应用于存储在 NV 中的其他网络信息、因此对于器件未按预期开始的情况、建议将 SYS_OSAL_NV_WRITE ID 0x03应用于值0x03并使用 SYS_RESET。

    此致、
    Ryan

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

     我尝试了步骤。 协调器工作(它形成网络、UTIL_GET_DEVICE_INFO 命令以 协调器的身份响应 DeviceState。 但是、在这之后更改为路由器对我来说是不可行的。 Util_get_device_info 命令将 DeviceState 作为 DEV_HOLD (0x0)进行响应。

    已通过跳过协调器命令再次尝试。 刷写软件后、直接执行 SYS_OSAL_NV_WRITE (ID 0x03和值0x03)-> SYS_RESET (HARD_RESET、0x0)、后跟 SYS_OSAL_NV_WRITE (ID 0x87和值0x01)。 即使在该 UTI_GET_DEVICE_INFO 命令将 DeviceState 作为 DEV_HOLD (0x0)进行响应后、也是如此。 请查看随附的日志以了解相同的日志并提供反馈。

    e2e.ti.com/.../COM46_5F00_ZNP_5F00_Commands.rtf

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

    在路由器上启动 BDB 试运转时,是否启用允许在协调器上加入?

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

    否我未启用允许在协调器上加入。 我希望连续看到通道13上的信标请求。

    您是说、UTI_GET_DEVICE_INFO 仅在加入 Zigbee 协调器后才会作为 DEV_router 响应 DeviceState 吗?

    它不会连续发送信标请求?

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

    否、启动 BDB 试运转应使路由器发送信标请求。

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

    在路由器中发送 BDB 试运转之前、我遵循了给出的确切步骤(命令序列)并启用了允许加入协调器。 然后、路由器加入网络、DeviceState 更改为 DEV_router。

    但是、如果在协调器中未启用允许加入、则我可以看到路由器仅发送一帧信标请求(在向路由器发送 BDB 试运转命令后)。 请参阅下面随附的监听器屏幕截图。 我希望至少在特定持续时间(可能是30秒或60秒或任何其他值)内从路由器看到连续信标请求。 如何实现这一点?

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

    您必须创建一个周期性计时器事件、以每30秒或60秒或任何其他值调用一次 bdb 启动佣金

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

    好的、明白了。

    这意味着、只有加入 Zigbee 协调器网络后、UTI_GET_DEVICE_INFO 才会以 DEV_router 的形式响应 DeviceStatus。

    此外、它还需要自定义以连续发送信标请求。

    请确认。

    哪些模块与 ZNP 示例应用中的网络角色切换相对应?

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

    使用 ZNP 时、器件仅在加入 Zigbee 网络后才会打开 DEV_router。

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

    好的。

    "DMM_LNT"开关的用途是什么? 从何处获取有关开关的详细信息?

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

    您在哪里可以看到此开关"DMM_LNT"?

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

    在"DMM_zc_switch_remote_display_app"示例的 main.c 中。

    我需要在"DMM_zc_switch_remote_display_app"(BLE 外设+ Zigbee)中使用 ZNP 应用程序(在协调器和路由器之间切换网络角色)。 是否可以轻松包含它? 是直行的吗? 请提供建议。

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

    DMM_LNT 是一种内部"大型网络测试"、尚未 向客户提供任何说明。  您可以按照 添加 MT 接口 说明进行操作、但请记住、必须删除现有的 UART UI、或者必须为 NPI 建立额外的 UART 外设。

    此致、
    Ryan

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

    好的。 感谢您的建议。

    可以通过禁用开关"CUI_DISABLE"来删除现有 UART UI、对吧? 如果我错了、请纠正我的问题。

    是否有关于为 NPI 添加额外 UART 外设的参考? 添加 MT 接口本身中是否给出了该信息?

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

    我能够将 ZNP 应用程序与"DMM_zc_switch_remote_display_app"配合使用

    由于"DMM_zc_switch_remote_display_app"是 Zigbee 协调器应用程序、 因此 UTIL_GET_DEVICE_INFO 命令仅以协调器的形式响应 DeviceType、如下图所示。 我还想使用路由器。 我如何实现它?

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

    定义了 CUI_DISABLE 后禁用 UART UI。  UART 外设可添加到 SysConfig 中、并由 NPITLUT_initializeTransport 进一步配置。  请记住、所有现有的 DMM 项目都定义了其 Zigbee 角色、即"DMM_[zc/zzed]_switch..."、并且不包含 ZNP 功能、因此无法更改这些项目的 Zigbee 角色。  不能 通过 MT API 将 DMM_zc_switch_remote_display_app 更改为路由器角色。  您需要使用第二 个 DMM_zc_switch_remote_display_app 项目来实现 ZR 功能。

    此致、
    Ryan

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

    我的要求是具有 BLE 外设+ Zigbee 协调器/路由器(ZigBee 角色交换)。 我可以通过哪种示例应用实现此目的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="534452" URL"~/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1158572/lp-cc2652r7-zigbee-coordinator-and-router-selection/4364374 #4364374">我的要求是使用 BLE 外设+ Zigbee 协调器/路由器(ZigBee 角色交换)。 我可以使用哪种示例应用实现此目的?

    不确定您的问题是什么。 您能详细说明吗?

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

    我需要在单个应用中使用 BLE 外设和 Zigbee。

    在 Zigbee 中、我需要路由器和协调器(如在 ZNP 应用中进行切换)。

    我们是否可以在单个应用中实现所有这3个功能? 2应该一次正常工作(BLE 外设+ Zigbee 协调器和/或 BLE 外设+ Zigbee 路由器)。

    可用的 SDK 示例是否可以实现这一点?

    我想、我可以拥有 BLE 外设+ Zigbee 协调器(DMM_zc_switch_remote_display_app)和 BLE 外设+ Zigbee 路由器(DMM_ZR_switch_remote_display_app)和 ZNP (Zigbee 协调器和路由器、一次切换)。

    我需要将所有这3项都整合到单个应用中。 这是可行的吗?

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

    我不会说这是不可能的,但 TI 不提供这类示例。 Ryan  会为您提供一些建议。

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

    好的、谢谢。 然后等待 Ryan Brown1的建议。

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

    我的回答与 YK 相似。  可能可以创建 ZNP + BLE DMM 应用、但 TI 尚未对此进行全面调查。  您可以参阅 DMM 集成 SimpleLink Academy 实验 、进一步考虑创建您自己的 DMM 应用。

    此致、
    Ryan

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

    好的、谢谢。

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

    您好、我们如何创建周期性计时器事件? 使用调度程序?

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

    请尝试参阅 https://sunmaysky.blogspot.com/2019/12/how-to-create-periodic-event-to-toggle.html?m=1 。 在 Zigbee 堆栈中也是如此。

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

    好的。

    我尝试使用"OsalPortTimers_startTimer"在100ms 后创建超时、但对我来说不起作用。 是否存在使用条件?

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

    您可以查看 osal_port_timers.h 以了解使用条件。

    /*********************************************************************
     * @fn      OsalPortTimers_startTimer
     *
     * @brief
     *
     *    This function is used to create and start a TIRTOS timer.
     *
     *
     * @param   uint8_t    taskId - task ID to post event to when timer expires
     * @param   uint32_t   eventId - event to post
     * @param   uint32_t   timeout - timeout in ms
     *
     * @return  OsalPort status code
     */
    extern uint8_t OsalPortTimers_startTimer(uint8_t taskId, uint32_t eventId, uint32_t timeout);

    在 zcl_samples*.c、ZD_app.c 和 bdb.c 中也有使用该方法的示例、可供参考。

    此致、
    Ryan

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

    好的。 谢谢你。 我可以使用它。

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

    您好!

    我已将自定义事件"SerialComProcessEvents"添加到"zstackTasksArr"数组中、并在"stackServiceFxnsInit"中添加了注册任务、如下图所示:

    要添加我的自定义事件、这些事件可以正常工作、但它执行任何 Zigbee 操作、例如形成网络、那么由于添加了此自定义事件、SW 将会挂起。 这样做的原因可能是什么?

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

    您是否主动调试项目 以确定代码挂起时调用堆栈的位置、并使用 ROV 检查所有 TI-RTOS 指标?  更改列表中序列事件的顺序是否会改变行为?  您是否参考 了 SerialComProcessEvents/SerialComInit 的 NPI 用法,是否可以考虑 修改 NPI 以实现您的应用程序?

    此致、
    Ryan

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

    感谢您的回答。

    它将继续等待响应(函数定义 sendReqDefaultRsp)。 pCmdStatus 永远不会变为 true、也不会从 while 循环中退出。

    更改列表中的顺序不会更改行为。

    否、未参考 NPI 使用情况、不考虑修改 NPI。

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

    这种行为让我相信您的串行端口和 ZStack 任务是重叠的。  我建议您密切关注任务创建和消息处理的 NPI 示例。

    此致、
    Ryan

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

    大家好、感谢您的宝贵建议。 我将按照您的建议尝试使用 NPI 示例。