【问题标题】:Send metadata in mqtt message在 mqtt 消息中发送元数据
【发布时间】:2018-05-02 09:15:48
【问题描述】:

我是第一次使用 mqtt 传输一些二进制文件,到目前为止我使用如下代码传输它没有问题

import paho.mqtt.client as paho
f=open("./file_name.csv.gz","rb")
filename= f.read()
f.close()
byteArray = bytearray(filename)
mqttc = paho.Client()
mqttc.will_set("/event/dropped", "Sorry, I seem to have died.")
mqttc.connect(*connection definition here*)
mqttc.publish("hello/world", byteArray )

但是,除了文件本身,还有一些我想发送的额外信息(原始文件名、创建日期等...),我找不到任何合适的方法来使用 mqtt 传输它,有没有这样做的方法还是我需要将该信息添加到消息 byteArray 本身?我该怎么做?

【问题讨论】:

    标签: python mqtt mosquitto


    【解决方案1】:

    您需要构建自己的数据结构来保存文件及其元数据。

    如何构建该结构取决于您。几个选项是:

    • base64/uuencode 对文件进行编码并将其作为字段添加到 JSON 对象中,并将元数据保存为其他字段,然后发布 JSON 对象。

    • 构建一个 Python 地图,其中文件作为字段,其他元数据作为其他字段。然后使用pickle 序列化地图。

    【讨论】:

    • 谢谢,会尝试腌制的
    猜你喜欢
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多