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.

LAUNCHXL-CC1310: 修改meter 的 gs_addr中“ident number” 和 “type” 字段后,collector无法接受到数据

Part Number: LAUNCHXL-CC1310
Other Parts Discussed in Thread: WMBUS,

1、我将例程 APL_CC13XX_Collertor_C2 中的 wmbus_apl_col_indication_rx 中加入了一条log, 并烧录进了 开发板A(LAUNCHXL-CC1310:)中,这样开发板B(LAUNCHXL-CC1310) 运行APL_CC13XX_Meter_T1_C1 后 每次发送数据都可以在,A板子的console中看到。

2、但是当我将B板子中的gs_addr中“ident number” 和 “type” 自动重新修改后(如下图),A板子就无法接受到消息了; 此时我用抓包工具仍然可以获取到B板子发出的数据 

3、下图抓包工具获取到的数据

  • 你好,

    通常情况下如果collector无法接收到数据,可能是因为地址不匹配、数据包格式更改导致无法解析、或者其他通信协议上的问题

    数据包格式的问题可能较大,你需要把更改字段前后的数据包格式贴上来对比一下,还有前后的抓包数据

    你的代码中 ident number自动更改?version和制造商ID是未更改的,对吗

    file:///C:/ti/wmbus_cc13x0_rtos_2_0_0/Documentation/Serial-APL-Interface-Doc-v4.0.1/Serial-APL-Interface-Doc-v4.0.1/index.html

    在你下载的wmbus-SDK中,这个路径下有数据格式可以查看一下

  • 我只是修改了ident number 或 type 字段 。version和制造商ID以及其它的都没有修改,所所以应该不是通讯协议问题;下面是我不同情况的抓包数据

    原例程 A板子可以接收

    TIS Water 80000001 MODE5 
    314433D10100008023078C20B67ABE002025CD6359023EE8DF70D1ED2A4DA98F4F80B19DFEBD9DAC099F2B0C6A0ADADBE75D 314433D10100008023078C20B67ABE0000252F2F066D8F00000101000C13270485020B3B2701002F2F2F2F2F2F2F2F2F2F2F

    修改 ident number  A板子无法接收:

    TIS Water 20240212 MODE5
    314433D11202242023078C20B77ABF00202580E805B1459C134DD2AE044F2372AA09E4E30FCF62C5894CBCA303BC8370BAEB
    314433D11202242023078C20B77ABF0000252F2F066D9700000101000C13270485020B3B2701002F2F2F2F2F2F2F2F2F2F2F

    修改 “type”  A板子无法接收:

    TIS Smoke_detector 80000001 MODE5
    314433D101000080231A8C20B57ABD0020257B78A1F9622BAA2D4CD93FB6B2AACC4DA15D74F46F0E4DCA79647E948B6D72EE
    314433D101000080231A8C20B57ABD0000252F2F066D8700000101000C13270485020B3B2701002F2F2F2F2F2F2F2F2F2F2F

  • s_wmbus_addr_t 结构体中,ident对应的pc——ident 这个是设备的吧,你是要实现什么?

    file:///C:/ti/wmbus_cc13x0_rtos_2_0_0/Documentation/Serial-APL-Interface-Doc-v4.0.1/Serial-APL-Interface-Doc-v4.0.1/structs__wmbus__addr__t.html

  • 是的,ident对应的pc——ident  是设备的; 我需要实现的是在Collertor 模式下接受  Meter_C1 发过来的数据, 其中s_wmbus_addr_t 都需要根据我们设备进行修改,但是修改后Collertor就接收不到了

  • 感觉更像是collector的问题,但是数据格式方面没办法排除,这个问题我已经升级到英文论坛,有消息会立即通知您的,请等候一段时间,谢谢。

  • 要接收专用仪表设备,您需要将其添加到收集器接收列表中。
    由于我们的 Meter 和 Collector 示例应用程序是协调的,因此默认情况下配置不需要任何调整。
    更改 Meters 地址后,您还需要更新 Collector 示例应用程序中的 Meter 条目。

    最简单的方法是更新 gs_meterEntry 中的 Meter 条目。 该变量可以在 app_aplCollectorRtos.c 中找到。
    或者,您也可以使用函数 wmbus_apl_col_addMeter() 将 “new” Meter address添加到收集器列表中。

  • 我并不想在collector中仅接收指定类型和地址的meter设备。如下图,我再collector中给gs_meterList赋值为空(0);

    实际证明这样也可以接收原示例的meter消息,并且在接收后会触发wmbus_apl_col_indication_rx 打印log信息;但是修改类型或地址后,就不会触发wmbus_apl_col_indication_rx 函数



    因为目前我还不需要解密和处理SND_NR消息,只是想要先接收并打印出来;

  • 好的,继续为您跟进

  • 我是否正确理解你正在寻求从范围内所有可能的仪表接收电报(因此,不想与专用仪表直接通信)?

    对于收集器上的仪表列表来说这是不可能的。 此功能允许保持与专用仪表的双向连接。
    一种可能性是将多个仪表添加到该列表中。 这样就可以接收并通讯with several meters.