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.

[参考译文] CC2652R:支持单播的 CC2652R ZCL。

Guru**** 2538950 points
Other Parts Discussed in Thread: CC2652R

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/691367/cc2652r-cc2652r-zcl-with-unicast

器件型号:CC2652R

SDK 版本: C:\TI\simplelink_zigbe_sdk_plugin_1_60_00_14

我将使用 单播测试 CC2652R ZCL。 但 我发现没有响应、灯也不会切换。 随附的文件包括我的代码和监听器文件。

ZC:Light Zed:switche2e.ti.com/.../Desktop.7z

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题是您的目标端点。 监听器日志中的目标端点为0x0。 应将目的端点设置为 SampleLight 的活动端点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的光是坐标,、因此我的开关目标地址是0x0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我看到您从 SW 向光发送切换命令、但目标端点为0x0。 目标短地址没有问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要使用 ZDP_ActiveEPIFREQ ()?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 除非您想对活动端点进行硬编码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我重新编辑我的代码、但没有工作。  ZC:带 ZED:Light。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以指定在代码中为目标短地址和端点分配的位置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    ZC 开关:

    静态空 SetupZStackCallbacks (空)

    Zstack_devZDOCBREQ_t zdoCBREQ ={0};

    //注册回调,打开:
    //器件状态更改、
    // ZDO 匹配描述符响应,


    zdoCBREQ.ha_devStateChange = true;
    zdoCBReq.devStateChange = true;

    zdoCBREQ.has _activeEndpointRsp= true;
    zdoCBREQ.has _deviceAnnoune= true;

    zdoCBReq.deviceAnnounce=true;
    zdoCBREQ.activeEndpointRsp= true;

    (空) Zstackapi_DevZDOCBReq (zclSampleSw_Entity、&zdoCBReq);



    获取目标地址和 ZDP_ActiveEPREQ():
    案例 zstackmsg_CmdIDs_ZDO_DEVICE_INSAFLEVED:



    zstackmsg_zdoDeviceAnnounced_t*Pind;
    pind=(zstackmsg_zdoDeviceAnnouneIndo_t*) pMsg;
    zclSampleSw_DstAddr.addr.shortAddr = Pind->req.devAddr;

    zAddrType_t myaddr;
    myaddr.addr.shortAddr=zclSampleSw_DstAddr.addr.shortAddr;
    myaddr.addrMode=Addr16Bit;
    ZDP_ActiveEPReq (&myaddr、zclSampleSw_DstAddr.addr.shortAddr、0);



    获取端点:
    案例 zstackmsg_CmdIDs_ZDO_ACTIVE_EP_RSP:



    zstackmsg_zdoActiveEndpointRspInd_t *查找;
    pind=(zstackmsg_zdoActiveEndpointRspInd_t*) pMsg;
    zclSampleSw_DstAddr.endpoint =Pind->rsp.pActiveEPList[0];


    ZED 灯:

    静态空 SetupZStackCallbacks (空)

    Zstack_devZDOCBREQ_t zdoCBREQ ={0};

    //注册回调,打开:
    //器件状态更改、
    // ZDO 匹配描述符响应,
    zdoCBREQ.ha_devStateChange = true;
    zdoCBReq.devStateChange = true;
    zdoCBREQ.has _activeEndpointRsp= true;
    zdoCBREQ.activeEndpointRsp= true;
    (空) Zstackapi_DevZDOCBReq (zclSampleLight_Entity、&zdoCBReq);




    ZDP_ActiveEPReq :

    zAddrType_t myaddr;

    myaddr.addr.shortAddr=0x0000;
    myaddr.addrMode=Addr16Bit;
    ZDP_ActiveEPReq (&myaddr、0x00000);

    获取端点:
    案例 zstackmsg_CmdIDs_ZDO_ACTIVE_EP_RSP:

    zstackmsg_zdoActiveEndpointRspInd_t *查找;
    pind=(zstackmsg_zdoActiveEndpointRspInd_t*) pMsg;
    zclSampleLight_DstAddr.endpoint =Pind->rsp.pActiveEPList[0];;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    运行代码后、您是否检查 zclSampleLight_DstAddr.endpoint 和 zclSampleSw_DstAddr.endpoint 内的内容? 在 ADDR16Bit 模式下、您在何处从 SW 向光发送切换命令?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您,YK。 现在、我不是很好。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢!