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:如何修改 z-stack 示例光源代码以与多个器件配合使用?

Guru**** 2616675 points

Other Parts Discussed in Thread: Z-STACK, CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/833014/cc2530-how-to-modify-z-stack-sample-light-code-to-work-with-multiple-devices

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

大家好、
我使用的是 CC2530 Zigbee 模块和 z-stack 家庭自动化1.2.2a 示例光源代码。
此代码已为一个 Gang 开关编写、我正在尝试修改此代码以与两个 Gang 开关(或灯)配合使用、我应该怎么做?
我是说只能在该代码中读取一个器件、我尝试读取两个不同的器件并将数据发送到我的集线器。

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

    尊敬的 Armin:

    我建议您阅读 Z-Stack 开发人员指南和 API 文档、以便更好地了解 Zigbee 组、集群和端点。  光源可以绑定或绑定到多个开关、这些开关会向光源的端点发送开/关命令或报告属性。  您还可以创建多个光端点、所有这些光端点都报告属性/数据。  请更加具体地说明您正尝试实现的目标。

    此致、
    Ryan

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

    器件型号:CC2530

    大家好、
    我使用的是 CC2530 Zigbee 模块和 z-stack 家庭自动化1.2.2a 示例光源代码。
    我正在尝试将其中一个属性发送到集线器 、我正在寻找一种合适的方法或功能来帮助我实现这一目的。

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

    如果光绑定到集线器的一个端点、则可以通过自动属性报告来完成此操作、否则可以使用 zcl_SendReportCmd。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的回复、

    1 -实际上我使用了 zcl_SendReportCmd、但它不起作用的是、有任何帮助或文档告诉我如何使用它。

    以及如何自动发送该属性

    这是我的代码:

    静态空 zclSampleTemperatureSensor_SendTemp(空)

    #ifdef ZCL_report
     zclReportCmd_t *pReportCmd;

     pReportCmd = osal_mem_alloc (sizeof (zclReportCmd_t)+ sizeof (zclReport_t));
     if (pReportCmd!= NULL)
     {
       pReportCmd->numAttr = 1;
       pReportCmd->attrList[0].attrID = ATTRID_MS_TEMP_TEMPERATED_measored_value;
       pReportCmd->atList[0].datatype = ZCL_datatype_Int16;
       pReportCmd->attrList[0].attrData =(void *)(&zclSampleTemperatureSensor_MeasuredValue);

       zcl_SendReportCmd (SAMPLETEMPERATURESENSOR_终结 点、&zclSampleTemperatureSensor_DstAddr、
                          ZCL_CLUSTER_ID_MS_TEMP_TEMP_measurement、
                          pReportCmd、ZCL_FRAME_SERVER_CLIENT_DIR、TRUE、zclSampleTemperatureSensorSeqNum++);
     }

     OSAL_mem_free( pReportCmd );
    #endif // ZCL_REPORT

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

    您好 Armin、

    您将需要调试 zcl_SendReportCmd 的返回状态、并检查与监听器的 OTA 通信。  您还可以参阅 ZCL API 以获取文档、并参阅 TemperatureSensor & Thermostat 示例以获取属性报告示例。  您尝试实现的所有方法(假设采用间接地址模式)都取决于绑定的端点、不清楚这是否实际上是在您的应用中完成的。

    此致、
    Ryan