在on_message函数中重组和存储来自mqtt代理的数据

时间:2019-11-29 14:08:51

标签: python mqtt paho

我是一名初学者,致力于IoT应用程序,我从作为消息主题订阅的mqtt代理获取以下连续数据流。我提供每个位置的信息以供参考。

IDA/IDB/type/timestamp/valueoftype

 A1/B1/a/1575033906/4
 A1/B1/b/1575033906/5
 A1/B1/c/1575033906/3
 A1/B2/a/1575033906/5
 A2/B3/a/1575033906/6
 A1/B2/b/1575033906/7
 A1/B2/c/1575033906/85
 A2/B3/b/1575033906/6
 A2/B3/c/1575033906/4
 .
 .
 .

我想创建一个数据帧,在其中可以构造IDA和IDB的这些组合中的每一个,以便能够将所有它们的数据保留在一行中,然后可以将其导出到一个csv文件中。例如这样的

data = {'IDA': [], 'IDB': [], 'timestamp': [], 'value of a': [], 'value of b': [], 'value of c': []}

如果我知道IDA和IDB的所有组合,我想到了在on_message函数中拆分数据。然后,我想到了使用一个最多为3的计数器,并检查每对IDA和IDB是否都将所有三个值存储在一个元组中。然后,我可以将此元组附加到pd数据帧中。这里的问题是我为每一对获取的数据都是异步的。例如,在上面的示例中检查第4行和第5行。 A1 / B2的信息被A2 / B3中断了一行,直到我再次获得A1 / B2的值。

我的另一个问题是,如果我事先不知道设备的类型,该怎么办?例如,在路上,我可能会收到从未见过的A3 / B1或A4 / B3等信息流。

有没有一种有效的方法来执行类似我要求使用python和paho模块的操作?

0 个答案:

没有答案