ESP32编写MQTT客户端
使用开源库
转到到下载地址
库函数介绍=
介绍一下库内函数
导入库函数
from simple import MQTTClient
传入参数:
cliend_ID = ''#作为你的客户端标识
server="服务器地址"
port = 端口号
可选参数
USER = "admin"
PWD = "password"
mqtt= MQTTClient(cliend_ID, server, port, USER, PWD)
库中声明如下:
def __init__(client_id, server, port=0, user=None, password=None, keepalive=0, ssl=False, ssl_params={}):
设置消息回调函数,接受到消息时运行相应函数
库中定义如下
def set_callback(f)
设置遗嘱
当连接异常断开时发布的内容
mqtt.set_last_will(topic,message)
库中定义如下
def set_last_will(topic, msg, retain=False, qos=0)
使用初始化的客户端数据与相应服务器进行连接
mqtt.connect()
库中定义如下
def connect(self, clean_session=True)
断开连接
mqtt.disconnect()
库中定义如下
def disconnect(self):
self.sock.write(b"\xe0\0")
self.sock.close()
测试服务器连接情况
mqtt.ping()
库中定义如下
def ping()
发布主题和相应内容
mqtt.publish(topic,message)
库中定义如下
def publish(topic, msg, retain=False, qos=0)
主题、内容、保持、服务等级
向服务器订阅单个主题
mqtt.subscribe(topic)
库中定义如下
def subscribe(topic, qos=0):
#等待单个传入的MQTT消息并对其进行处理。
#已订阅的消息将以前传递到回调
#set by.set_callback()方法设置。其他(内部)MQTT
#内部处理的消息。
def wait_msg():
#检查来自服务器的挂起邮件是否可用。
#如果没有,则立即返回。否则,会
#与wait-msg相同的处理过程。
def check_msg():
目前还不懂的函数:
def _send_str(self, s):
self.sock.write(struct.pack("!H", len(s)))
self.sock.write(s)
def _recv_len(self):