使用 Paho MQTT 订阅不接收消息
Not receiving messages with subscribe using Paho MQTT
我在使用 paho mqtt 库订阅 MQTT 代理(使用 test.mosquitto.org 和端口 1883)时遇到问题。当我使用 mosquitto_sub 客户端时,我可以正常接收消息,但是当我在我的 Python 脚本中订阅相同主题时,回调永远不会执行。
import paho.mqtt.client as mqtt
client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)
client_get.loop_start()
def callback(client, userdata, message):
print(str(message.payload.decode("utf-8")))
client_get.on_message = callback
client_get.subscribe(topic, qos=1)
尝试以下操作:
import paho.mqtt.client as mqtt
client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)
def callback(client, userdata, message):
print(str(message.payload.decode("utf-8")))
client_get.on_message = callback
client_get.subscribe(topic, qos=1)
client_get.loop_forever()
我已将 start_loop()
移至末尾并将其更改为 loop_forever()
,这将阻止并保留脚本 运行。
我在使用 paho mqtt 库订阅 MQTT 代理(使用 test.mosquitto.org 和端口 1883)时遇到问题。当我使用 mosquitto_sub 客户端时,我可以正常接收消息,但是当我在我的 Python 脚本中订阅相同主题时,回调永远不会执行。
import paho.mqtt.client as mqtt
client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)
client_get.loop_start()
def callback(client, userdata, message):
print(str(message.payload.decode("utf-8")))
client_get.on_message = callback
client_get.subscribe(topic, qos=1)
尝试以下操作:
import paho.mqtt.client as mqtt
client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)
def callback(client, userdata, message):
print(str(message.payload.decode("utf-8")))
client_get.on_message = callback
client_get.subscribe(topic, qos=1)
client_get.loop_forever()
我已将 start_loop()
移至末尾并将其更改为 loop_forever()
,这将阻止并保留脚本 运行。