当前位置:   article > 正文

Python连接MQTT服务器订阅和发布主题-Python物联网开发_python应该先连接mqtt服务器还是可以先订阅主题

python应该先连接mqtt服务器还是可以先订阅主题

一、前言

        在物联网开发中,掌握MQTT可以说是一项必备的技能,要使用Python连接MQTT服务器、订阅和发布主题,我们需要导入paho-mqtt库。

二、实现代码

        在之前的文章中,我们也介绍了JAVA是如何连接MQTT服务器实现发布和订阅主题的功能的,因此此处不再赘述。

        文章链接:JAVA&Android实现MQTT上位机软件功能-订阅主题与发布主题

        首先,我们需要安装paho-mqtt库,安装方法可以参考:Python使用pip命令安装外部库

        具体程序实现代码:

  1. import paho.mqtt.client as mqtt
  2. import time
  3. # 定义MQTT服务器的地址和端口
  4. mqtt_broker_address = "broker.emqx.io" #此处我们使用免费服务器
  5. mqtt_broker_port = 1883
  6. # 定义订阅和发布的主题
  7. subscribe_topic = "westbeginer/sub"
  8. publish_topic = "westbeginer/pub"
  9. # 定义回调函数,处理收到的消息
  10. def on_message(client, userdata, message):
  11. print(f"Received message '{message.payload.decode()}'")
  12. # 创建MQTT客户端实例
  13. client = mqtt.Client()
  14. # 设置消息接收的回调函数
  15. client.on_message = on_message
  16. # 连接到MQTT服务器
  17. client.connect(mqtt_broker_address, mqtt_broker_port, keepalive=60)
  18. # 订阅主题
  19. client.subscribe(subscribe_topic)
  20. # 启动MQTT客户端的循环,等待接收消息
  21. client.loop_start()
  22. #发送Hello字符串
  23. message_payload="hello"
  24. client.publish(publish_topic, message_payload)
  25. while True:
  26. time.sleep(1)
  27. # 断开MQTT连接 不执行
  28. client.loop_stop()
  29. client.disconnect()

        三、功能演示

        我们使用MQTTBox工具,连接免费MQTT服务器后,订阅和发布报文测试功能。

        可以看到,功能完美实现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/188542
推荐阅读
相关标签
  

闽ICP备14008679号