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.

[参考译文] CC2538:ZNP 主机框架

Guru**** 2540720 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/682281/cc2538-znp-host-framework

器件型号:CC2538

您好!

我们启动了一个 ZigBee 协调器项目、将 CC2538作为 ZNP。 我们正在运行 ZNP-Host-Framework 示例、并尝试与 ZigBee 交换机交换一些消息。

我们使用命令行培训师示例、但无法从器件获取有关集群0x0006的任何信息。

该示例是否适合我们尝试执行的操作?

我们应该使用什么命令将数据发送到器件?

您能否给我们指出一些文档、以了解与 ZNP 协调的基本步骤?

以下是日志提取:

是否要启动/加入新网络? (y/n)
y
Resetting ZNP
ZNP 版本:2.6.1
输入设备类型 c:Coordinator、r:router、e:End Device:
C
Enter Channel 11-26:
13
EndPoint:1
Network Starting
Network
Started
Network Up

mtGetExtAddrSrSspCb
ExtAddr:0x063A4D1D00124B00
Enter

CMD mDeviceDmGroupStartedr 0x65Dr SrSrSrSrSpb ExtAddr ExtAddr 0x63A4Dr ExtAddr 0x65C000C






地址:0x65C65DCMDCMDCC26B 地址:0x000C 地址:0x65DCMDCMDCMDCC65B 地址:0x000C 地址:0x65DCC65DCC26B 地址:0x000C


0x0000
群集 ID:0x0003
SrcAddr:0x665C
SrcEndpoint:0x01
DstEndpoint:0x01
WasVroadcast:0x01
LinkQuality:0x4C
SecurityUse:0x00
TIMESSAQ:0x0002B297
TransSeqReq:0x00
Len:0x03
Data[0]:0x01
Data[1]:0x00 LinkQuality:0x00 SecurityUse:0x0002b TransSeqReq:0x0002b









(0x65DCMDr) Simple DADDR_DCMDr:0x65B:0x65DCMDr DCMDr:0x65B (0x65B)






0x665C
Len:0x12
端点:0x01
ProfileID:0x0104
DeviceID:0x0001
DeviceVersion:0x00
NumInClusters:0x03
InClusterList[0]:0x0000
InClusterList[1]:0x0003
InClusterList[2]:0x0006
NumOutClusters:0x02
OutClusterList[0]:0x0003 InClusterList[0]
:0x0006 OutClusterList[0]:0x0006 OutClusterList:0x0006


OutClusterList:0x0006 OutEnter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以尝试参考 sunmaysky.blogspot。tw/.../setup-zigbee-ha-coordinator-with-ti.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢!
    我们成功连接和控制灯和开关终端设备。

    休眠终端设备存在问题。 当器件被唤醒并且可以接收命令时、我们如何获得回调? 当器件处于睡眠状态并且我们尝试发送命令时、会发生这种情况、并且不会执行命令:

    03:58:37.08 COM15 AF_DATA_REQUEST (0x2401)
    DstAddr:0xBEB0
    DestEndpoint:0x01
    SrcEndpoint:0x07
    clusterid:0x0006
    TransID:0x06
    选项:0x00
    半径:0x00
    Len:0x03
    数据:... (0x01、0x00、0x02)

    03:58:37.09 COM15 AF_DATA_Request_SRSP (0x6401)
    状态:afStatus_Success (0x0)

    03:58:43.25 COM15 AF_DATA_CONFIRM (0x4480)
    状态:240 (0xF0)
    端点:0x07
    TransID:0x06

    我们有一个监听器、可以看到"数据请求"消息、但 ZNP 不会通知我们这些消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    “当设备被唤醒并且可以接收命令时,我们如何才能获得回叫?”

    不、您不能。 休眠终端设备的消息将保留在休眠终端设备的父节点上、直到休眠终端设备唤醒以轮询消息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们如何在父模式下建立一个坐标器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    协调器本质上可以是终端设备的父设备。 您不必进行任何设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们遇到以下情况:重新启动终端装置一段时间后、我们可以成功发送切换命令、器件将执行该操作。

    09:13:55.96 COM15 AF_DATA_Request (0x2401)
    DstAddr:0xBEB0
    DestEndpoint:0x01
    SrcEndpoint:0x07
    clusterid:0x0006
    TransID:0x06
    选项:0x00
    Radius:0x05
    Len:0x03
    数据:... (0x01、0x00、0x02)
    
    09:13:55.96 COM15 AF_DATA_Request_SRSP (0x6401)
    状态:afStatus_Success (0x0)
    
    09:13:56.17 COM15 AF_DATA_CONFIRM (0x4480)
    状态:afStatus_Success (0x0)
    端点:0x07
    TransID:0x06
    09:13:56.19 COM15 AF_INGING_MSG (0x4481)
    组 ID:0x0000
    群集 ID:0x0006
    SrcAddr:0xBEB0
    SrcEndpoint:0x01
    DstEndpoint:0x07
    WasBroadcast:0x00
    LinkQuality:0x86
    SecurityUse:0x00
    TimestNumber:0x00CB8B4D Transseqlamp
    :0x00
    
    数据长度:0x05 (0x08、0x00、0x0B、0x02、0x00) 

    但是、当一段时间过去时、会发生这种情况、器件不会执行该操作:

    09:17:18.06 COM15 AF_DATA_REQUEST (0x2401)
    DstAddr:0xBEB0
    DestEndpoint:0x01
    SrcEndpoint:0x07
    clusterid:0x0006
    TransID:0x06
    选项:0x00
    Radius:0x05
    Len:0x03
    数据:... (0x01、0x00、0x02)
    
    09:17:18.06 COM15 AF_DATA_Request_SRSP (0x6401)
    状态:afStatus_Success (0x0)
    
    09:17:24.65 COM15 AF_DATA_CONFIRM (0x4480)
    状态:240 (0xF0)
    端点:0x07
    TransID:0x06 

    如果我们一个接一个地重复非常快地发送命令、器件会在某个时候接收并执行命令。

    我们的问题是:

    "状态:240 (0xF0)"是什么意思、我们可以在哪里阅读 ZNP API。

    -我们可以做些什么来使 toggle 命令在唤醒后成功地传输到睡眠终端设备?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 ZComDef.h 中找到错误代码
    #define ZMacTransactionExpired 0xf0

    我们的睡眠终端设备的睡眠时间似乎超过了命令的到期时间。 我们如何控制消息的到期时间?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "状态:240 (0xF0)"是什么意思、我们可以从何处读取 ZNP API。 

    没有文档可指定此状态代码。 您只能从源代码中找到线索。

    我们该怎么做才能在切换命令唤醒时成功地传输到睡眠终端设备? 

    您只能降低轮询速率。