如何在不打印的情况下在on_message回调中返回 PUBLISH 消息 (python)



这是我在 MQTT 类中编写的on_message回调,我试图返回收到的 PUBLISH 消息:

def message(self):
def on_message(client, userdata, msg):
Message = str(msg.payload)
print("[Receiving msg] Topic:" +msg.topic+" / Message: "+Message)
return Message
return on_message

但是,一旦调用messageprint(occupancy_sensor.message())这是输出:

<function Mqtt.message.<locals>.on_message at 0x0000006BE71CAEA0>

消息不会以字符串形式返回

MQTT 客户端回调不返回任何内容,它们是从客户端的网络线程调用的,而不是从您的代码调用的,因此即使它们确实返回了一些东西,也不会发送到任何您可以获得它的地方。

在这种情况下,您可以向message对象添加一个变量,您可以在回调中从中更新该变量。

最新更新