传感器数据收集C守护进程困境

时间:2012-05-10 18:34:08

标签: c++ mysql c udp sensor

这是问题所在。传感器板以各种UDP数据包大小每秒发送31个字节的数据3次。例如:

1st packet 6 bytes
2nd packet 8 bytes
3rd packet 1 byte
4th packet 5 bytes
5th packet 5 bytes
6th packet 6 bytes

1st packet 4 bytes
2nd packet 5 bytes
3rd packet 1 byte
4th packet 7 bytes
5th packet 3 bytes
6th packet 6 bytes
7th packet 5 bytes

有多个传感器板可以从不同位置发送数据。

我的问题是如何在收到多个传感器板数据时对其进行排序检测。我可以按顺序检测一块电路板。但不知道如何对每个传感器板数据进行排序检测,然后为每个传感器板存储每100组数据的平均值。如果没有收集每个唯一发送方数据的结构,直到收到31个字节的缓冲区形成整个数据包,那么将其存储在另一个结构中,直到每个发送方收到100个集合,我不知道如何执行此操作。

正如我所说,使用一个设备,我可以通过序列检测来接收整组31个字节。数据存储在mysql数据库中。

程序在C。

非常感谢任何想法。

谢谢,

杰森

1 个答案:

答案 0 :(得分:0)

这是UDP,源端口号不应该是数据包的一部分吗?您可以根据数据包的来源,依次为每个数据分别建立一个31字节的数据集。

但是,由于它是UDP,因此无法保证数据包按顺序排列。路由问题可能导致数据包丢失,延迟和各种问题。如果它实际上没有通过互联网,那么这些问题将是最小的,而只有一跳。

如果你没有修改这些传感器的输出的方法,那么我认为你将不得不拥有多个接收器,这样你就可以顺序建立一个31字节的数据包,然后将它传递给结合的东西。来自所有传感器的数据。