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:AF_DATA_Request -没有数据从 ZC 发送/捕获到器件

Guru**** 2466550 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1128168/launchxl-cc26x2r1-af_data_request---no-data-send-captured-from-zc-to-device

器件型号:LAUNCHXL-CC26X2R1

您好!

我想使用 AF_DATA_REQUEST 将数据从协调器发送到一个器件。 但是、在我的信道上进行捕获时看不到任何内容(我看到其他数据、因此信道/捕获正确、而不是我想要发送的时间)。

AF_DATA_REQUEST -在群集0006中发送

fe102401 b358 01 01 0600 00 00 06 18000aababab 67

-长度为16 (在命令之后、没有 FCS)-> 0x10
- dst 地址为58b3 -> b358 (在命令中)
- DST 端点01
- SRC 端点01
-群集 ID:0006
-事务标识:00
选项:00
-半径:00
数据长度:06
-数据:18000aababab
FCS 是67

我收到:fe0164010064 (状态00 ->成功、这意味着命令/FCS 正常)

此外、我还收到:

AF_DATA_CONFIRM:fe034480 CD 01 00 0b

->状态:CD
->端点01
->事务标识:00

这显然不是正确的状态、因为它应该是00。

我知道您必须首先使用 AF_REGTER 寄存端点、如下所述:

e2e.ti.com/.../cc2530-need-help-about-af_data_request-on-z-stack-3-0-znp

我正在使用:

AF_REGISTER

fe112400 01 0401 0001 00 02 00000600 02 00000600 30

-端点01
AppProfID = 0104
- AppDevice ID = 0100
AppDevVer:00
-延迟:00
- AppInClusters:02 (0000和0006)
- AppOutClusters:02 (0000和0006)

-这是我要发送至的设备所使用的基本群集和群集0006。
-命令执行成功:srp - fe01640000 -状态:00

- AppProfId 实际上是什么? 这似乎是 Zigbee 配置文件0104家庭自动化(HA)
- AppDeviceID 是什么? 为什么这是0010 (根据给定的示例)? 我从哪里获得该值?
- AF_DATA_CONFIRM 中的状态 CD 是什么意思?

我缺少什么? 我的 AF_DATA_REQUEST 或 AF_REGISTER 是否有问题? 是否缺少另一条命令? 从我的传感器在 ZC 上接收数据是可以的。 我只有这个 ZC 和终端设备。

谢谢、

Robert

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

    您好、Robert、

    0xCD 定义为 ZNWKNORoute 错误。  因此、协调器不知道器件的短地址。  AF_DATA_request 的 DstAddr 应该是器件的直接短地址、而不交换字节。  长(IEEE)地址将按 LSB 的顺序列出。  另外请注意、如果器  件是休眠 ZED 且轮询频率不够高、则 ZC 消息将由于 NWK_INDIRECT、MSG_TIMEOUT (默认值为7秒)而超时。

    此致、
    Ryan

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

    谢谢 Ryan。 我尝试了以下操作:

    当按钮发送 smth 时、这是我在 ZC 上收到的消息:

    fe1b448100000600 b358 010100c100b2ac09000007184c0a00802002b3581de8 -群集 ID:0006 -短地址(NWkAddr):58b3 -链路质量:193 - ZCL 帧长度:07 - MAC 源地址:58b3


    a)使用:fe0c2401 58b3 010106000102030210ab + FCS

    fe0164010064
    fe034480cd01010a ->错误"CD"缺少路由 ZNWKNORoute

    -> ZC 发送路由请求(见 Wireshark 捕获)

    ZigBee 网络层命令、dst:广播、src:0x0000
    帧控制字段:0x1209、帧类型:命令、发现路由:抑制、安全、扩展源命令
    目标:0x0xfc
    来源:0x0000
    半径:8.
    序号:238
    扩展源:TexasIns_00:25:C5:1c:47 (00:12:4b:00:25:C5:1c:47)
    ZigBee 安全标头
    命令帧:路由请求
    命令标识符:路由请求(0x01)
    命令选项:0x00、多对一发现:不是多对一
    路由 ID:7.
    目标:bbb358
    路径成本:0

    ->这是因为 ZC 没有路由(这是正确的、因为我猜 dst 地址应该是58b3)

    b)使用:fe0c2401 b358 010106000102030210ab + FCS

    fe0164010064
    fe034480f0010137 ->错误"f0"

    ->在这里、我得到 f0作为错误、不再是 CD。 无路由请求、意味着路由正常、但存在另一个问题

    我会说(b)是正确的格式。 但是、我无法通过 ZC 捕获和发送帧。

    "f0"是什么意思? 我在 AF_DATA_REQUEST 命令中尝试了几个选项设置。 不会产生任何影响。

    谢谢、

    Robert

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

    我检查了它: ZMacTransactionExpired

    https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1078566/cc2531emk-af_data_confirm-status-0xf0

    我只是发送一个按钮-它在 ZC 上注册。 这只是假的、因为按钮没有要写入/配置的选项。 我只是使用这个按钮的 dst 地址来查看 ZC 实际上正在发送一条消息。 就这些。 希望检查格式。 我没有要设置选项的器件。

    我是否能够发出此发送? 我知道该按钮不会对此执行任何操作。 或者、我实际上是否需要能够设置选项的器件? 不确定 ZC 是否知道这一点、如果一个器件只能发送、而其他器件可以发送和接收(通过设置其属性)。

    谢谢、

    Robert

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

     ZED 轮询频率不够高、因此由于   NWK_INDIRECT、ZC 消息超时(ZMacTransactionExpired)(默认为7秒)。  您需要查找已连接的非休眠或 ZR 设备、降低 ZED 的轮询速率或增加 ZC 上的超时。

    此致、
    Ryan

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

    谢谢。 嗯、我假设它根本不是轮询、因为它处于睡眠状态、我不应该首先向它发送任何数据。 我将获得一个可通过命令进行控制的器件、并了解这是如何实现的。

    谢谢、

    Robert

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

    我已经使用另一个器件进行了测试、它可以正常工作。 我无法写入开/关属性、因为这显然是只读的。 但我可以使用 toggle 命令切换开关。 工作正常。  

    我想问的另一件事是:

    Util_get_device_info -将相关器件的数量及其短地址列印为列表。 但是、器件计数没有变化。 我仍然有4个传感器(因为我有4个传感器)。 但是、相关器件计数中未列出开关(第5个器件)、相关器件列表中也未列出开关的短地址。

    由于该器件不是无源器件(未由电池供电)、这是否符合预期? 设备正在与协调器通信、只是正常。

    是这样吗?

    谢谢、

    Robert

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

    Util_get_device_info 将从关联的器件列表中返回 RFD/减少功能器件(即 ZED)。  如果开关是 ZR 节点(即 FFD/Full Function Device)、则 它不会显示在 UTIL_GET_DEVICE_INFO 响应中。   Util_Assoc_count 对返回的器件关系提供了更多控制。

    此致、
    Ryan

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

    谢谢。 听起来不错。 感谢您的快速帮助!

    此致、

    Robert