receive_emqx.py 985 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import paho.mqtt.client as mqtt
  2. import time
  3. # MQTT 服务器地址
  4. MQTT_SERVER = "127.0.0.1"
  5. MQTT_PORT = 1883
  6. MQTT_TOPIC = "test/topic"
  7. # 当客户端从服务器成功接收 CONNACK 响应时调用的回调函数
  8. def on_connect(client, userdata, flags, rc):
  9. print(f"Connected with result code {rc}")
  10. # 订阅主题
  11. client.subscribe(MQTT_TOPIC)
  12. # 当接收到订阅主题的消息时调用的回调函数
  13. def on_message(client, userdata, msg):
  14. print(f"Received message: {msg.payload.decode()} on topic {msg.topic}")
  15. # 创建 MQTT 客户端实例
  16. client = mqtt.Client()
  17. # 绑定回调函数
  18. client.on_connect = on_connect
  19. client.on_message = on_message
  20. # 连接到 MQTT 服务器
  21. client.connect(MQTT_SERVER, MQTT_PORT, 60)
  22. # 开始循环处理网络事件
  23. client.loop_start()
  24. # 让客户端运行一段时间,以便接收消息
  25. try:
  26. while True:
  27. time.sleep(1)
  28. except KeyboardInterrupt:
  29. pass
  30. # 停止循环
  31. client.loop_stop()
  32. client.disconnect()