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.

[参考译文] LP-CC1352P7:然后、我尝试将 SimpleLink ZR 委托给现有网络(Sonoff Bridge Pro)、但要求路由器离开。

Guru**** 662690 points
Other Parts Discussed in Thread: CC2652P7, CC1352P7, Z-STACK, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1308140/lp-cc1352p7-i-then-attempt-to-commission-the-simplelink-zr-into-an-existing-network-sonoff-bridge-pro-but-the-router-is-asked-to-leave

器件型号:LP-CC1352P7
主题中讨论的其他器件:CC1352P7、CC2652P7 Z-STACKSysConfig

我从 LP 上的示例 simplelink 示例(ZigBee 路由器节点)加载了 zr_sw_lp_CC1352P7_4_tirtos7_ticlang.out。  e2e.ti.com/.../trace_5F00_ti_5F00_router_5F00_sonoff_5F00_coordinator.zip

我不确定以下因素是否会导致器件离开、但我注意到以下情况:  

协调器请求读取基本|(ZCL_cluster_ID_GENERAL_BASIC集群中的三个属性。

从随附的跟踪 信息中、ZC 读取群集(一般基本群集)属性后、ZR 将以"读取属性"响应消息进行响应、消息如下:

attr 分布:制造商名称(0x0004)

状态:软件故障(0xc1)

我不知道为什么我发送的结构如下所示:

{
ZCL_CLUSTER_ID_GENERAL_BASIC、
{//属性记录
ATTRID_BASIC MANUFACTURER_NAME、
ZCL_datatype_char_STR、
ACCESS_CONTROL_READ、
(void *)zclcramb Sw_Manufacturer

}、

{
ZCL_CLUSTER_ID_GENERAL_BASIC、
{//属性记录
ATTRID_BASIC 模型标识符、
ZCL_datatype_char_STR、
ACCESS_CONTROL_READ、
(void *)zclcramb Sw_Model

}、
{
ZCL_CLUSTER_ID_GENERAL_BASIC、
{//属性记录
ATTRID_BASIC SW_BUILD_ID、
ZCL_datatype_char_STR、
ACCESS_CONTROL_READ、
(void *) Sw_Sw 30dId

其中:

const uint8_t zclSamb Sw_Manufacturer []={6,'s,'O','N','O','F','F'};
const uint8_t zclSam44b Sw_Model []={6,'Z','B','-','V','I','N'};//添加了 vh
const uint8_t zcl"SamSami Sw_Sw odId[]={5、'1'、'.'、'0'、'.'、'5'};//添加了 VH

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

    您好、Vincent:

    感谢您提供监听器日志。  我已经查看了该文档、也注意到读取属性响应失败、这肯定不是预期的行为、并且可能表明对示例工程所做的更改不正确。   当 zclReadAttrDataUsingCB -> zclGetReadWriteCB -> zclFindAttrRecsList  返回 NULL pfnReadWriteCB 时、Z-Stack 返回 ZCL_STATUS_SOFTWARE_FAILURE。  请确保在重新编程前擦除所有 CC2652P7闪存、并确保对 zcl_samplesw_data.c 进行了少量更改、仅添加提到的属性记录、而不删除任何其他内容。  您是否曾尝试将默认 ZR switch 项目加入此协调器或 ZC 照明示例?结果如何?  如果可能、请比较监听器日志。

    此致、
    瑞安

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

    您好、Ryan、

    感谢您的响应、我加载了一个新的路由器示例、但仍然看到 状态:软件故障(0xc1)。  我将 使用 ZC 照明示例进一步实施您的建议(进行一些比较检查)、但目前我坚持使用路由器示例。

    也许只是关于我如何更改 ZCL 属性的一些背景:

    在"ZR_SampleApp_LP_CC... "我使用直接在 CCS (CCS 12)中打开的"zr_SampleApp.syscfg"实用程序。   然后、在"Z-Stack ->可选属性->基本服务器属性"下、选择"ManufacturerName"、"ModelIdentifier"和"SWBuildId"

    然后、这将正确生成以下代码(在 zcl_config.c 中):

    //基本群集(服务器端)
    Weak uint8 sampli App_Basic_ bzil CLVersion;
    Weak uint8 samang App_Basic_Manufacturer [];
    Weak uint8 samang App_Basic_Model [];
    Weak enum8 sam4519200; App_Basic_Power
    Weak uint8 samang App_Basic_ BuildID[];
    Weak uint16 samsam45i App_Basic_Cluster;

    以下属性已正确添加到"const zclAttrRec_t App_Attrs []"

    {
    ZCL_CLUSTER_ID_GENERAL_BASIC、
    {
    ATTRID_BASICE_MANUFACTURER_NAME、
    ZCL_datatype_char_STR、
    ACCESS_CONTROL_READ、
    (void *)&sam3892 App_Basic_Manufacturer

    }、
    {
    ZCL_CLUSTER_ID_GENERAL_BASIC、
    {
    ATTRID_BASIC 模型标识符,
    ZCL_datatype_char_STR、
    ACCESS_CONTROL_READ、
    (void *)&sam3892 App_Basic_Model

    }、

    和  

    {
    ZCL_CLUSTER_ID_GENERAL_BASIC、
    {
    ATTRID_BASIC SW_BUILD_ID,
    ZCL_datatype_char_STR、
    ACCESS_CONTROL_READ、
    (void *)&sam402 App_Basic_ BuildID

    }、

    但是、在(同一文件)中、新属性不存在默认值:

    /
    * ZCL 属性默认值(常量)
    * /
    弱 const uint8 DEFAULT_SampleApp_BASIC_ZCL_VERSION = 3;
    Weak const enum8 default_SampleApp_basic_power_source = 0;
    weak const uint16 DEFAULT_SampleApp_basic_cluster_revision = 1;
    弱 const uint16 DEFAULT_SampleApp_Identify_Time = 0;
    weak const uint16 DEFAULT_SampleApp_Identify_cluster_revision = 1;

    /
    * ZCL 属性重置功能
    * /
    void App_Reset sames452-DefaultValues(void)
    {
    App_Basic_ samplesbit 版本= DEFAULT_SampleApp_BASIC_ZCL_VERSION ;
    sam平定 App_Basic_Power =452/default_SampleApp_basic_power_source;
    sam平定 App_Basic_Cluster =45DEFAULT_SampleApp_basic_cluster_revision;
    sam平定 App_Identify_Identify = 452/default_SampleApp_identified_time;
    sam平定 App_Identify_Cluster = 45DEFAULT_SampleApp_identified_cluster_revision;

    我假设弱定义可以被覆盖、因此我在应用程序(SampleApp.c)中定义了文件夹:

    Uint8 App_Basic_Manufacturer []={6,','O','N','O','F','F'};
    Uint8 sam382-VH ={6,'Z','B','-','V','I','N'};//添加了 App_Basic_Model
    Uint8 App_Basic_ BuildID[]={5,'1','.','0','5'};//添加了 VH

    是否可以使用 syscfg 工具从一开始添加属性默认值?  

    我还不能调试、因此我怀疑实际值可能在链接器阶段没有成功拉入。

    编译器警告、所有三种定义都存在"假定有一个元素的暂定数组定义"。

    此致

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

    您好、Ryan、

    我设法进行了调试。  简而言之,我认为我可能在倒错了树。  请参阅所附的屏幕截图。 属性似乎确实从"SampleApp.c"中的定义中获得了正确的值。  请看屏幕截图。 我不确定属性列表中的类型是否仍有模糊之处...

    此致。

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

    您好、Ryan、

    看看上面执行的解引用- 我认为问题是 Config Tool (转换为(void *)期间)使用指针的引用。 因此, 提及 sampori App_Basic_Model 和不是  sampori App_Basic_Model 指针本身。  

    {
    ZCL_CLUSTER_ID_GENERAL_BASIC、
    {
    ATTRID_BASIC 模型标识符,
    ZCL_datatype_char_STR、
    ACCESS_CONTROL_READ、
    (void *)&sam3892 App_Basic_Model

    应更改为:  

    {
    ZCL_CLUSTER_ID_GENERAL_BASIC、
    {
    ATTRID_BASIC 模型标识符,
    ZCL_datatype_char_STR、
    ACCESS_CONTROL_READ、
    (void *)sam402 App_Basic_Model

    }、

    但必须以某种方式在 SYSCFG 工具中实现它。   您是否知道如何在 SYSCFG 工具中对其进行更改?

    此致。

     

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

    我发现了两个与您的查询相关的 E2E 主题:

    https://e2e.ti.com/f/1/t/1166669 
    https://e2e.ti.com/f/1/t/1213159 

    1.  无法从 SysConfig Application Builder 添加 ACCESS_CONTROL_AUTH_READ、因此、您需要使用"Generated Files"视图将 zcl_config.c 排除在构建之外、将现有的 default/syscfg/zcl_config.c 复制到 Application 文件夹中、并进行相应的必要更改。  如果使用开关示例、您只需 相应地修改 zcl_samplesw_data.c、而无需更改 SysConfig。  我执行了该操作并观察了样例项目的预期结果: e2e.ti.com/.../read_5F00_attribute_5F00_test.pcapng
    2. 添加 zclSamesam45g App_Read eCollaAttrCB 也为我的样本项目工作,产生了与上述相同的结果。  这是推荐的解决方案。

    此致、
    瑞安

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

    谢谢! 我将实施该解决方法、并在几个小时内提供反馈。

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

    您好、Ryan、

    对于 ZR_SampleApp、我执行了以下操作:

    我实施了建议的更改(从 cnf 工具中排除后将 zcl_config.c 移动到 app; 添加了 zclesameglibc  App_Read 函数、但在成功读取其属性后、仍要求示例 app 离开。

    我附上了最新的迹线。  非常感谢您访问 it.e2e.ti.com/.../Trace_5F00_with_5F00_proposed_5F00_changes.zip

    然后、我尝试仅更改器件 ID (在 zcl_config.c 中)。  当我仅更改器件 ID 时、以下所有内容会在使用简单的描述符进行响应后导致离开请求。

    ZCL_DEVICEID_GENERAL、

    ZCL_DEVICEID_ON_OFF_SWITCH 和  

    ZCL_DEVICEID_TEST_DEVICE、

    不过、  

    ZCL_DEVICEID_ON_OFF_LIGHT 会导致成功绑定。  我想知道这是否代表对协调器(sonoff 网关 pro)的限制?

    请参阅以下迹线:

    e2e.ti.com/.../test_5F00_deviceId_5F00_work.zip

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

    在查看监听器日志时、读取属性命令现在似乎已成功执行。  我还注意到、如您所说、"简单描述符"响应是不同的。  在 TEST_deviceId_work 数据包42中、应用设备处于开/关状态(0x0100/ZCL_DEVICEID_ON_OFF_LIGHT)、而在 Trace_with_proposed_Changes 数据包326上、此状态为"未知"(0xFFFE/ZCL_DEVICEID_GENERA普通)。  您应确保使用网关主机识别并支持的设备 ID、我建议与 Sonoff 联系以获取其他信息。

    此致、
    瑞安