如何解决Python Mqtt订阅问题

问题描述 投票:0回答:0

我想将来自 MQTT 订阅的数据写入 excel 页面。问题是我只能一次打印来自 mqtt 主机的共享数据。在第一个数据之后,我的代码被停止并且需要再次运行。我无法理解这个问题

import paho.mqtt.client as mqttclient
import time

def on_connect(client, userdata, flags, rc):
    if rc==0:
        print("client is connected")
        global connected
        connected=True
    else:
        print("connection failed")

def on_message(client, userdata, msg):
    global MessageReceived
    print(msg.topic+" "+str(msg.payload.decode()))
    MessageReceived = True

#mqtt broker codes:
connected=False
MessageReceived = False

mqtt_port = 1883
mqtt_broker = "onurgonullu.cloud.shiftr.io"
mqtt_username = "onurgonullu"
mqtt_password = "12345"

client = mqttclient.Client("MQTT")
client.username_pw_set(mqtt_username,password=mqtt_password)
client.on_connect=on_connect
client.on_message = on_message
client.connect(mqtt_broker,port=mqtt_port)
client.subscribe("ADC1")
client.loop_start()

while connected!=True:
    time.sleep(0.2)

while MessageReceived!=True:
    time.sleep(0.2)

当我运行代码后它第一次工作,它不工作,它停止了

python excel mqtt paho
© www.soinside.com 2019 - 2024. All rights reserved.