Python_MQTT发布 订阅封装_python mqtt通讯封装成类

本文介绍了如何使用paho.mqtt库封装Python MQTT客户端,包括MQTTPublisher类用于发布消息和MQTTSubscriber类用于订阅消息。详细展示了类的构造函数、连接与断开方法以及消息发布和订阅的实现。同时,文章还提供了作者的背景信息及一份嵌入式开发的学习资源分享。
摘要由CSDN通过智能技术生成

import paho.mqtt.client as mqtt
import json

class MQTTPublisher:
“”“MQTT发布消息的类”“”

def \_\_init\_\_(self, host, port=1883, client_id="", username=None, password=None):
    """

构造函数,用于初始化 MQTT 客户端的连接信息

:param host: str,MQTT 服务器地址
:param port: int,MQTT 服务器端口,默认为1883
:param client_id: str,MQTT 客户端 ID,默认为空
:param username: str,MQTT 服务器用户名(可选)
:param password: str,MQTT 服务器密码(可选)
“”"
self.host = host
self.port = port
self.client = mqtt.Client(client_id=client_id)

    # 如果提供了用户名和密码,就设置 MQTT 客户端的认证信息
    if username and password:
        self.client.username_pw_set(username, password)

def on\_connect(self, client, userdata, flags, rc):
    """

连接成功回调函数,会在 MQTT 客户端连接成功时被调用

:param client: MQTT 客户端实例
:param userdata: 用户数据
:param flags: 标志位
:param rc: 返回码

  • 返回码说明:
    * 0:连接成功
    * 1:协议版本不正确
    * 2:客户端标识符无效
    * 3:服务器不可用
    * 4:用户名或密码不正确
    * 5:未经授权
    “”"
    rc_status = [
    “连接成功”, “协议版本不正确”, “客户端标识符无效”, “服务器不可用”, “用户名或密码不正确”, “未经授权”]
    print(“connect:”, rc_status[rc], rc)

    def connect(self):
    “”"
    连接 MQTT 服务器
    “”"
    # 设置连接成功回调函数
    self.client.on_connect = self.on_connect

     # 连接MQTT服务器,keepalive为60秒
     self.client.connect(self.host, sel
  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值