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.

[参考译文] 使用 cc2630 HA 1.2将报告从终端设备发送到网关

Guru**** 2933270 points

Other Parts Discussed in Thread: CC2630, CC2531

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/713513/send-report-from-end-device-to-a-gateway-with-cc2630-ha-1-2

主题中讨论的其他器件:CC2630CC2531

我将 cc2630的 SampleSwitch 示例转换为 SampleSwitch、方法是将其 ID 和支流更改为 SampleLight:

//简单描述符
静态 uint16_t inputClusters[switch_MAX_INCLUSTERS]的群集列表=
{
ZCL_CLUSTER_ID_GEN_BASIC、
ZCL_CLUSTER_ID_GEN_ON_OFF、
ZCL_CLUSTER_ID_GEN_Identify
};
静态 uint16_t outputClusters[SWITCH_MAX_OUTCLUSTERS]=
{
ZCL_CLUSTER_ID_GEN_BASIC
}; 

afSimpleDesc.AppDeviceId = ZCL_HA_DEVICEID_ON_OFF_LIGHT;//ZCL_HA_DEVICEID_ON_OFF_SWITCH; 

我可以使用 CC2531从 Linux 网关控制它的开/关、但当我从终端设备打开/关闭并向网关发送报告时、它不发送、我有监听器、但看不到任何数据包。

我使用这些代码根据样本温度进行调整以发送报告:

zclReportCmd_t *pReportCmd;

//生成并发送开/关状态到网关
pReportCmd = iCall_malloc (sizeof (zclReportCmd_t)+ sizeof (zclReport_t));
if (pReportCmd!= NULL)
{
afAddrType_t dstAddr;

//填写目的地址
dstAddr.addrMode =(afAddrMode_t) Zstack_AFAddrMode_broadcast;//(afAddrMode_t) Addr16Bit with CC2530;
dstAddr.addr.shortAddr = 0;
dstAddr.endpoint = switch_EP;

//填写温度读数的单个属性信息
pReportCmd->numAttr = 1;
pReportCmd->attrList[0].attrID = ATTRID_ON_OFF;
pReportCmd->atList[0].datatype = ZCL_datatype_Boolean;
pReportCmd->attrList[0].attrData =(void *)(&zswOnOff);

//调用 ZCL 函数发送报告
zcl_SendReportCmd (switch_ep、&dstAddr、
ZCL_CLUSTER_ID_GEN_ON_OFF、
pReportCmd、
ZCL_FRAME_SERVER_CLIENT_DIR、
对、
zswTransI

iCall_free (pReportCmd);
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    dstAddr.endpoint 应该是协调器端点、而 dstAddr.addrMode 应该是16位短地址模式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你。 它现在可以工作了。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想在终端设备连接到网关/集线器时发送报告更新、我该怎么做?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我现在可以这么做、这可以关闭
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当终端设备连接到网关/集线器时、您希望发送报告更新是什么意思?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是灯的开/关状态、我将其添加到中
    案例 zstackmsg_CmdIDs_dev_State_change_IND:
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它现在是否起作用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在可以了。 但我还有其他问题需要您的帮助。 如何使用 cc2630进行 OTA 更新、我四处搜索但未找到任何问题。 我很快就会开始切换到 CC2652、但用于 CC2630的 ZigBee HA 1.2固件是否适用于 CC2652?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有用于公共下载的 CC2630 OTA 示例。 ZigBee HA 1.2 FW 无法在 CC2652上工作。 您必须使用 SIMPLELINK-ZigBee-SDK-PLUGIN、该插件可从 www.ti.com/.../SIMPLELINK-CC26X2-SDK 下载 、用于 CC2652。