Я хочу спросить, есть ли способ использовать msg.payload
глобально, а не только внутри функции обратного вызова.
Ниже приведена базовая функция обратного вызова:
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
# I usually then specify my steps here, but how can I use the variable outside?
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
Например, я хочу сделать что-то вроде этого:
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
return msg.payload
global_data= on_message
# do whatever I want with the data. I already tried to do this but it didn't work because
# the client loops forever using client.loop_forever()