paho MQTT on_message返回一条有趣的消息 – python

一些帮助请:)

我刚开始在
python中使用MQTT.

当我运行以下程序时:

import paho.mqtt.client as mqtt 

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("watchdog/#")

def on_message(client, userdata, msg):
    message = str(msg.payload)
    print(msg.topic+" "+message)

client = mqtt.Client()
client.username_pw_set('XXXX', password='XXXXXXX')
client.on_connect = on_connect
client.on_message = on_message

client.connect("XXXX", XXXXX, 60)

client.loop_forever()

有效负载始终具有以下文本:

b’XXX”

XXX是消息,但b”部分总是出现.
一旦我在现成的客户端打开相同的消息,消息是好的…所以我认为问题是在代码中,但我找不到在哪里.

任何帮助或指示?

谢谢!

最佳答案 正如Moses Koledoye所说,b是字节 – 这意味着你要打印的是一组字节的字符串版本.如果您将str(msg.payload)更改为简单的msg.payload,您将获得不同的输出.

但是你还没有谈到消息有效负载是什么,所以你可能仍然会因为打印msg.payload而感到胡言乱语.例如,如果发送的消息实际上是一串字节…

点赞