Python连接MQTT服务器订阅和发布主题-Python物联网开发

发布时间:2024年01月23日

一、前言

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

二、实现代码

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

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

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

? ? ? ? 具体程序实现代码:

import paho.mqtt.client as mqtt
import time

# 定义MQTT服务器的地址和端口
mqtt_broker_address = "broker.emqx.io" #此处我们使用免费服务器
mqtt_broker_port = 1883

# 定义订阅和发布的主题
subscribe_topic = "westbeginer/sub"
publish_topic = "westbeginer/pub"


# 定义回调函数,处理收到的消息
def on_message(client, userdata, message):
    print(f"Received message '{message.payload.decode()}'")


# 创建MQTT客户端实例
client = mqtt.Client()

# 设置消息接收的回调函数
client.on_message = on_message

# 连接到MQTT服务器
client.connect(mqtt_broker_address, mqtt_broker_port, keepalive=60)

# 订阅主题
client.subscribe(subscribe_topic)

# 启动MQTT客户端的循环,等待接收消息
client.loop_start()

#发送Hello字符串
message_payload="hello"
client.publish(publish_topic, message_payload)

while True:
    time.sleep(1)


# 断开MQTT连接 不执行
client.loop_stop()
client.disconnect()

? ? ? ? 三、功能演示

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

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

文章来源:https://blog.csdn.net/qq_39724355/article/details/135777593
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。