簡體   English   中英

如何使用MQTT發送列表

[英]How can I send a list using MQTT

   d = random,randint(1,30)
   data = [d, strftime("%Y%m%d %H%M%S", gmtime())] #random num , system time
   client.publish("gas", str(data)]

這是我的ver2 python代碼的一部分。 我正在嘗試使用MQTT發送列表。 但是,如果我寫字節數組而不是第三行的str,它會說“ ValueError:字符串的大小必須為1”。 所以我寫了str然后將其設置為字符串類型。我可以發送一個不是字符串類型的公正列表。

MQTT消息有效負載只是字節數組,沒有固有格式。 只要事務的兩端都使用相同的字符編碼,字符串就可以正常工作。

如果要發送結構化數據(例如ost),則需要確定一種編碼該結構的方法,以便接收消息的代碼將知道如何對其進行重構。

當前解決此問題的常用方法是將結構編碼為JSON,但是XML或類似protobuffers的東西也是不錯的選擇。

以下問題有一些將Python列表轉換為JSON對象的示例

將列表序列化為JSON

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM