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

标签 python mqtt

请帮忙:) 我刚开始在 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 时遇到乱码。例如,如果发送的消息实际上是一串字节......

关于python - paho MQTT on_message 返回一条有趣的消息 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39300102/

相关文章:

python - 解析 HTML 并保留原始内容

python - 我如何告诉 pyparsing 丢弃部分已解析的字符串?

mqtt - 在一条消息 MQTT 中发布多个主题

javascript - 如何通过 IoT 提高 AWS Lambda 和 Web 应用程序之间 MQTT 消息的可靠性

Python - 如何加速 for 循环从另一个 numpy 数组计算创建一个 numpy 数组

内存管理

c# - 带有消息队列的发布订阅者模型库

spring - Eclipse Paho Mqtt - Spring Java 配置

python - 将html5页面录制成视频

android - 通过电话本身将 MQTT 数据发送到服务器,即不使用 setOnClickListener() 或任何其他事件