umqtt.simple
— MQTT客户端¶
MQTT是一种基于发布 - 订阅的“轻量级”消息传递协议,用于在TCP / IP协议之上使用。 提供订阅/发布模式,更为简约、轻量,易于使用,针对受限环境(带宽低、网络延迟高、网络通信不稳定),可以简单概括为物联网打造。
提示
该模块来源于 MicroPython-lib
: https://github.com/micropython/micropython-lib/tree/master/umqtt.simple
构建对象¶
-
class
umqtt.simple.
MQTTClient
(client_id, server, port=0, user=None, password=None, keepalive=0, ssl=False, ssl_params={})¶ client_id
server
port
user
password
keepalive
ssl
ssl_params
方法¶
-
MQTTClient.
set_callback
(f)¶ f
- f(topic, msg) 为回调函数,第1参数为topic
接收到的主题,第2参数为msg
为该主题消息
为收到的订阅消息设置回调
-
MQTTClient.
set_last_will
(topic, msg, retain=False, qos=0)¶ topic
和msg
为字节类型
设置MQTT“last will”消息。应该在 connect()之前调用。
-
MQTTClient.
connect
(clean_session=True)¶
连接到服务器。如果此连接使用存储在服务器上的持久会话,则返回True(如果使用clean_session = True参数,则返回False(默认值))。
-
MQTTClient.
disconnect
()¶
断开与服务器的连接,释放资源。
-
MQTTClient.
ping
()¶
Ping服务器(响应由wait_msg()自动处理)
-
MQTTClient.
publish
(topic, msg, retain=False, qos=0)¶ topic
和msg
为字节类型
发布消息
-
MQTTClient.
subscribe
(topic, qos=0)¶ topic
为字节类型
订阅主题
-
MQTTClient.
wait_msg
()¶
等待服务器消息。订阅消息将通过set_callback()传递给回调集,任何其他消息都将在内部处理。
-
MQTTClient.
check_msg
()¶
检查服务器是否有待处理的消息。如果是,则以与wait_msg()相同的方式处理,如果不是,则立即返回。
注意
wait_msg()并且check_msg()是“主循环迭代”方法,阻塞和非阻塞版本。wait_msg()如果您没有任何其他前台任务要执行(即您的应用只响应订阅的MQTT消息),check_msg() 如果您也处理其他前台任务,则应定期在循环中调用它们 。
请注意,如果您只发布消息,则不需要调用wait_msg()/ check_msg(),也不要订阅消息。
发布和订阅都支持QoS 0和1。不支持QoS2以保持较小的代码大小。除ClientID外,目前只支持“clean session”参数进行连接。
与MQTT消息相关的所有数据均编码为字节。这包括消息内容和主题名称(即使MQTT规范指出主题名称是UTF-8编码的)。原因很简单:通过网络套接字接收的是二进制数据(字节)