2016-07-25 65 views
0
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发送一个列表。 但是,如果我写字节数组而不是str,它是第三行 它说“ValueError:string必须是大小1”。 所以我写了str然后让它刺痛类型 我可以发送一个不是字符串类型的正义列表吗?如何使用MQTT发送列表

回答

0

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

如果你想发送的结构化数据(如OST),那么你需要在一个方式决定编码结构,使代码接收消息会知道如何重建它。

目前常见的解决方案是编码结构是JSON,但XML或类似protobuffers也是很好的候选者。

以下问题具有对象

Serializing list to JSON

转换Python列表到JSON的一些例子