【问题标题】:How can I send a list using MQTT如何使用 MQTT 发送列表
【发布时间】:2016-11-28 16:44:52
【问题描述】:
   d = random,randint(1,30)
   data = [d, strftime("%Y%m%d %H%M%S", gmtime())] #random num , system time
   client.publish("gas", str(data)]

这是我的python代码的一部分,它是ver2。 我正在尝试使用 MQTT 发送列表。 但是,如果我写 bytearray 而不是 str 是第三行 它说“ValueError:字符串的大小必须为 1”。 所以我写了 str 然后让它成为刺痛类型 我可以发送一个不是字符串类型的公正列表吗?

【问题讨论】:

    标签: python-2.7 mqtt raspberry-pi2


    【解决方案1】:

    MQTT 消息负载只是字节数组,它们没有固有的格式。只要事务的两端都使用相同的字符编码,字符串就可以正常工作。

    如果您想发送结构化数据(例如 ost),那么您需要确定一种对该结构进行编码的方法,以便接收消息的代码知道如何重构它。

    目前解决这个问题的常用解决方案是将结构编码为 JSON,但 XML 或类似 protobuffers 的东西也是不错的候选者。

    以下问题有一些将 Python 列表转换为 JSON 对象的示例

    Serializing list to JSON

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多