我是一名初学者,致力于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模块的操作?