1. 首页
  2. 编程语言
  3. Python
  4. Python实现MQTT消息收发

Python实现MQTT消息收发

上传者: 2024-07-01 15:57:54上传 RAR文件 979B 热度 8次

Python实现MQTT消息收发

介绍使用Python语言实现MQTT消息的接收和发送功能。

1. 环境准备

确保已安装paho.mqtt.client库,可以使用pip安装:

pip install paho-mqtt

2. 连接MQTT代理服务器

import paho.mqtt.client as mqtt

# 创建MQTT客户端对象
client = mqtt.Client()

# 设置连接参数
client.username_pw_set("username", "password")  # 可选,如果代理服务器需要身份验证
client.connect("mqtt.example.com", 1883, 60)  # 修改为实际的代理服务器地址、端口号和保持连接时间

3. 订阅主题并接收消息

def on_message(client, userdata, msg):
    """
    消息回调函数,当订阅的主题有消息到达时触发

    :param client: MQTT客户端对象
    :param userdata: 用户自定义数据
    :param msg: 接收到的消息,包含主题、负载等信息
    """
    print(f"Received message on topic '{msg.topic}': {msg.payload.decode()}")

# 订阅主题
client.subscribe("test/topic")

# 注册消息回调函数
client.on_message = on_message

4. 发布消息

# 发布消息到指定主题
client.publish("test/topic", "Hello from Python!")

5. 处理连接和消息循环

# 启动消息循环
client.loop_start()

# 其他业务逻辑

# 断开连接
client.loop_stop()
client.disconnect()

示例

以下是一个完整的示例代码,演示了连接MQTT代理服务器、订阅主题、接收消息和发布消息的过程:

import paho.mqtt.client as mqtt

def on_message(client, userdata, msg):
    print(f"Received message on topic '{msg.topic}': {msg.payload.decode()}")

client = mqtt.Client()
client.connect("mqtt.example.com", 1883, 60)
client.subscribe("test/topic")
client.on_message = on_message

client.loop_start()

client.publish("test/topic", "Hello from Python!")

# 其他业务逻辑

client.loop_stop()
client.disconnect()

请根据实际情况修改MQTT代理服务器地址、端口号、主题和消息内容等参数。

下载地址
用户评论