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:关于 ZNP 配置中的自定义群集和属性开发。

Guru**** 2794745 points

Other Parts Discussed in Thread: Z-STACK, CC2530, CC2592

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/765190/cc2530-regarding-custom-cluster-and-attribute-development-in-znp-configuration

器件型号:CC2530
Thread 中讨论的其他部件:Z-stack、CC2592

大家好、

根据用例要求,我们必须发送自己的数据包 ,其中包括来自[Linux GATE Way]-->[ZNP device]->[终端设备]->[通过 UART 连接的终端设备主机(如 IMX)]的字符串"hello world"。

我们了解到、这需要一些自定义集群和属性。 所需的步骤是什么 、您还能简要解释一下我只是 ZigBee 开发的初学者吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请帮帮我。 有人以前也有过同样的要求?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    有关发送原始数据包(如文本)的信息、请参阅 dev.ti.com/.../的第2部分

    要在网关应用中实现、我建议查看以下内容:
    - Z-Stack Linux 开发人员指南的第6节(网关应用和服务器之间的 PROTOBUF 接口)
    - gateway_config.tlg (群集定义)



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

    尊敬的 Toby:

    感谢您的回复。

    我们使用以下版本在定制板中测试 ZNP 配置。

    GW: Z-Stack_Linux_Gateway-1.0.1
    ZNP:ZNP FW,来自 Z-Stack_Home_1.2.2
    终端设备:从 Z-Stack_Home_1.2.2中获取光终端设备样片

    我刚刚浏览了您提供的链接。 但"zstackapi.h" 和"iCall.h"不在该堆栈中、我们会遇到相同的错误。

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

    请帮我解决这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    第2部分旨在显示 AF 数据请求可用于发送原始数据包、需要 ZCL 未定义的专用群集 ID 以及其他相关参数。

    ZNP 处理的 MT 命令记录在"Z-Stack Monitor and Test API.pdf"中(位于中) /Documents/API/Z-Stack 监视和测试 API.pdf)。 在这里、您可以看到包括 AF_DATA_REQUEST。 这是应发送到 ZNP 以发送原始数据包的 MT 命令。

    当前提供的 Linux 网关 API 记录在"Documents/Z-Stack Linux Gateway - API document v1.1.pdf"中。 这些不包括 AF 的 API。
    要添加此功能,您需要修改 gateway.proto (例如 gwCmdId_t 中的新命令 ID,新邮件的相应定义)。 您可以按照"Z-Stack Linux Gateway Developer's Guide.pdf"(位于中)第6节中有关 protobuf 工作原理的示例进行操作 /文档)。
    然后,您需要在 gwHandlePbCb 中添加一个案例以处理新的命令 ID。

    您也许可以尝试使用 Z-Tool (位于中 /Tools/Z-Tool)来验证 AF_DATA_request 是否足以满足您的需求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Toby:

    感谢您的回复。
    我们发现 MT_APP_MSG 可用于在 ZNP 中发送原始数据。 但是、我们如何在 ZNP 配置中整合 MT_UARTInit 和 MT_APPMsg 函数?...在定义的符号下添加 MT_TASK 时、我们会遇到编译错误(显示重新定义错误)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您不需要 ZCL、我建议您可以使用自己的 MT 通信设置与主机 MCU 和 ZNP 的协调器。 然后、您可以使用 AF_DataRequest 在协调器和设备之间直接发送原始数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们希望从 IMX->ZNP-enddevice.我认为在这种情况下不需要 ZCL,我是否正确?...我们如何在 ZNP 中包括 MT 命令实用程序?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、在您的案例中不需要 ZCL、您可以参阅 Z-Stack 文档文件夹下的 Z-Stack ZNP Interface Specification.pdf 和 Z-Stack Monitor and Test API.pdf 来实现它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是否可以使用相同的堆栈、
    GW:Z-Stack_Linux_Gateway-1.0.1
    ZNP:ZNP FW,来自 Z-Stack_Home_1.2.2
    终端设备:从 Z-Stack_Home_1.2.2中获取光终端设备样片
    对于 MT 命令?
    在定义的符号下添加 MT_TASK 时、会出现编译错误(显示重新定义错误)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果使用 Z-Stack Linux Home GW 编码架构、则必须遵循该架构。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据我之前提到的要求、我可以使用哪种最合适、最简单的堆栈? 您能否为本用例(协调器和终端器件)共享更好的 ZStack 和配置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 Z-Stack MESH 1.0.0中使用 GenericApp
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >>兼作协调器和终端设备?
    >>如果是这样,我是否可以从协调器向所有终端设备发送"helloworld"?
    >>我们没有任何用于绑定的开关、因为我们正在使用定制板? 我们可以使用输出开关发送广播消息吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.是的。 您可以将 GenericApp 同时用于协调设备和终端设备。

    2.是的。

    3.不建议使用广播,因为睡眠的终端设备可能会错过广播消息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在没有任何开关的情况下绑定定制板(不会出现故障)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用主机发送给协调器的 MT 命令。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 ztool?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ZTool 是一种 PC 工具、我想您必须在 iMX 上编写自己的 MT 命令主机。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有可用于 Linux 程序的示例或文档(含 MT 命令)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这些文档是 CC2530ZNP Interface Specification.pdf 和 Z-Stack Monitor and Test API.pdf、它们在 Linux 上没有什么区别。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能提供 ztool 的链接吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安装任何对 Z-Stack 的版本后,您可以在 Z-Stack 安装文件夹\Tools\Z-Tool 下找到它
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    网格1.0.0中的工具下未显示该图

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它位于 C:\Texas Instruments\Z-Stack Mesh 1.0.0\Tools\Z-Tool 下
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    能否通过 ZStack mesh1.0.0通用应用程序中的 ztool 发送 mT 命令?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何使用 ztool?
    2.只需要使用 CC 调试器或我们应该使用的任何其他接口?
    3.我们连接了 cc 调试器、ztool 未检测到任何设备。我们在芯片中下载了通用应用协调器映像
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请尝试参考以下链接
    sunmaysky.blogspot.com/.../setup-zigbee-ha-coordinator-with-ti.html
    sunmaysky.blogspot.com/.../how-to-do-device-binding-from-ti-ztool.html
    sunmaysky.blogspot.com/.../use-ztool-z-stack-30-znp-to-set-up.html
    2&3 Ztool 通过 UART 与 CC2530进行通信、因此您需要通过串行转 USB 电缆将 CC2530连接到 PC、以便 ZTool 识别 CC2530。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从何处获取串行的 TX、Rx、GND 引脚?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您应该将 UART TX/RX/GND 连接到串行转 USB 转换器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我在两个定制 CC2530芯片中刷写了图像通用应用协调器和通用应用终端器件(来自 ZStack mesh1.0.0)、并使用额外的标志 MT_TASK、MT_APP_FUNC、MT_SYS_FUNC、MT_UTIL_FUNC 和 HAL_PA_LNA_CC2592 (因为我们有范围扩展器)进行编译。

    我可以看到协调器和设备正在发送数据请求和确认请求。但是、我看不到终端设备中出现任何"helloworld"。

    我们的目标是使用 MT 命令绑定两个器件并发送原始数据。协调器/dev/ttymxc1的串行端口从 imx6端向上。我使用 stty Linux 命令将端口配置为默认波特率38400。 我们根据 imx6端的 MT API 文档、通过以下命令发送了 SYS_ping 命令0xFE 0x00 0x21 0x01 0x20。


    echo -ne '\xfe\x00\x21\x01\x00\x20'>/dev/ttymxc0

    我们打印了 MT_UartProcessZToolData 中的"ch"、并在协调器映像中获得了与字符相同的字符(使用调试器在终端控制台中打印了"ch")、但未获得 SYS_ping 响应。 附加调试器控制台的监听器日志和屏幕截图。您能帮助解决此问题吗? e2e.ti.com/.../log_5F00_genericapp.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您使用 ZTool 发送 ping 命令、同一个 ZNP 是否会响应该命令?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们不使用网格1.0.0中的 ZNP...通用应用作为协调器和终端设备。 此方法是否正确?..在哪个名称中、响应将出现在监听器数据包下?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它基本上是相同的。 确保使用正确的波特率、并首先使用 ZTool 对其进行测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们已从 协调器芯片串行连接到 USB 连接器、ztool 中显示"未连接任何设备"。 在设备管理器中检测到 COM 端口,并将 ztool->settings>serial port 配置为38400、8N1、RTS/CTS 握手。我们已使用以下标志进行编译。将会出现什么问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您将哪些引脚用作 UART? 我使用默认 UART 设置 ZTOOL_P1而不是"ZTOOL_P2和 ZAPP_P1"来使用 ZTool 和我的 CC2530DK 进行测试、一切都正常。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们尝试删除 ZAPP_P1、并再次将 ZTOOL_P2更改为 ZTOO_P1.Same 问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将端口0引脚2-->RX 和端口0引脚3-->TX 用于串行端口。(CC2530和 imx6)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否在 ZTool 上使用波特率38400?

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

    是的

       。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尝试更改"#define MT_UART_DEFAULT_OVERLOAD" true"更改为"#define MT_UART_DEFAULT_OVERLOAD" false "来重建 ZNP 并将"Handshake"设置为 none 以再次进行测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已尝试相同的操作。 此时将显示"Nno devices found"(未找到设备)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否给我一张图片、展示如何将 CC2530 ZNP 连接到您的 PC?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用串行转 USB 转换器来实现相同的目的。 三个连接来自 CC2530芯片、并按如下方式连接到转换器。

    RX (端口0引脚2)  蓝色线        -->  转换器的 Tx

    TX (端口0引脚3)  白色线       -->   转换器的 Rx

    GND            黑色导线       -->    转换器的 GND

    最后、转换器的 USB 端连接到 Windows PC

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您使用示波器来检查 UART TX/RX 引脚信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您希望我检查数据是否通过串行端口?...它正在获取...我们获得了从 imx6发送到该串行端口的数据。在使用调试器时、我们可以在终端控制台上打印相同的数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否意味着您可以从 I.MX 执行 SYS ping 并从 CC2530获取反馈、但 ZTool 无法识别相同的 CC2530 ZNP?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已将端口配置为38400波特率、并根据 imx6端的 MT API 文档、通过以下命令发送 SYS_ping 命令0xFE 0x00 0x21 0x01 0x20。

    echo -ne '\xfe\x00\x21\x01\x00\x20'>/dev/ttymxc0

    我们从 MT_UartProcessZToolData 打印了"ch"并在协调器映像中获得了与字符相同的字符(使用调试器在终端控制台中打印了"ch")。

    我们在 ubiqua 的监听器日志中没有看到 CC2530的任何响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从 ttymxc0发送“0xFE 0x00 0x21 0x01 0x20”后,是否看到 CC2530 ZNP 响应“0xFE 0x02 0x61 0x01 0x11 0x00 0x73”?