当我使用本地broker,即localhost时,程序可以运行,但是当我使用公共broker(例如Eclipse Project)时,程序无法运行并出现错误
TimeoutError: timed out
有人可以帮助修复错误吗? 这是代码:
import paho.mqtt.client as mqtt
import time
import datetime
def on_message(client, userdata, message):
print("Message received: ", message.payload.decode("utf-8"))
broker_address = "mqtt.eclipse.org"
client = mqtt.Client("P1")
client.on_message = on_message
client.connect(broker_address, port=1883) # The default MQTT port is 1883
client.loop_start()
while True:
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
client.publish("house/bulbs/bulb1", current_time)
print(f"Published: {current_time}")
time.sleep(1)
client.loop_stop()
另一个强烈推荐的免费公共 MQTT 经纪人是
broker.emqx.io
!!!
我经常对其进行一些测试,效果非常好。