2016-07-25 69 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的一些例子