一些帮助请:)
我刚开始在
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而感到胡言乱语.例如,如果发送的消息实际上是一串字节…