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.

[参考译文] CC1350:将阵列从传感器节点发送到收集器

Guru**** 2540720 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/732799/cc1350-send-an-array-from-sensor-node-to-collector

器件型号:CC1350

您好!

´m 将阵列(类型 INT 大小64)传感器节点发送到网关时出现问题。 我n´t 在收集器中接收任何数据

我的硬件是:

  • MSP432E4用作主机偏差;
  • CC1350作为 MAC 协处理器;
  • CC1350作为传感器节点。

我在 MSP432E4和´m 15.4堆栈传感器示例中 TI 15.4 -堆栈网关到 IBM 示例。

我关注这个 wiki http://processors.wiki.ti.com/index.php/Adding_New_Sensor_Support_To_Sub1GHz_Sensor_To_Cloud_Linux_Gateway

如果我创建一个类似这样的结构:

/*!
generic_Sensor Field
*/
typedef struct _smsgs_genericsensorfield_t
{
/*! 原始传感器数据1从通用传感器读取*/
int16_t genericRawData1;
/*! 原始传感器数据2从通用传感器读取*/
uint16_t genericRawData2;
/*! 原始传感器数据3从通用传感器读取*/
uint16_t genericRawData3;
}Smsgs_genericSensorField_t; 

 一切正常、但如果我创建这样的结构:

/*!
generic_Sensor Field
*/
typedef struct _smsgs_genericsensorfield_t
{
/*! 原始传感器数据1从通用传感器读取*/
int16_t genericRawData1[64];

}Smsgs_genericSensorField_t; 

它n´t 工作(我也更改了其他文件 sensor.c、ssf.c、ssf.h、smsgs.h 和收集器中的数据长度)

我认为问题出在收集器中、因为当传感器以调试模式加入网络时、我能够检查数据"Sensor_msgStats"、并且我收到了成功发送的消息 。

如果有人之前遇到过这个问题、请告诉我如何解决、如果需要一些源文件、请告诉我。

谢谢、

H é lio Pereira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否已在收集器侧检查函数"dataIndCB"是否在接收到数据后被调用? 您是否已使用监听器检查数据是否实际通过无线方式发送?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否已在收集器侧检查函数"dataIndCB"是否在接收到数据后被调用?
    传感器加入网络后、调用该函数、但只调用一次。

    您是否已使用监听器检查数据是否实际通过无线方式发送?
    我n´t 另一个 LaunchPad、我认为传感器仅在加入网络后发送数据。

    如果我发送大小为32的数组(int16_t genericRawData1[32])、则可以正常工作。 如果找不到解决方案、我可以以32个块的形式发送数据。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    采用 MSP432E4的15.4 Stack 解决方案不支持传输大型数据包、我相信[64] int16_t 的块可能刚好超过了您可以尝试发送50个块的数据包限制、或者只需将块大小从32个增加到您之前的数据包大小 找到最大值。