目前 PubSubClient
库版本为 v2.8
,主要基于 MQTT 3.1.1
,不支持 MQTT 5.0
的新增特性,订阅主题只支持 Qos 0 和 1
。
This library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT.
基础说明
MQTT的一些基础内容可以参考下面文章:
《MQTT基础入门与资料收集》
因为测试需要有 MQTT Broker(服务器)
,可以参考上面文章进行启动,或者也可以申请一个免费的在线的云服务使用。
PubSubClient
库使用很简单,主要就是分为下面几步:
- 声明
PubSubClient
对象; - 因为MQTT需要在TCP之上工作,所以需要给
PubSubClient
对象一个TCP对象; - 使用
setServer
方法设置MQTT服务器的地址和端口号; - 使用
setCallback
方法设置通讯消息回调函数void callback(char *topic, byte *payload, unsigned int length)
(如果不需要订阅消息则无需此步骤); - 使用
connect
方法启动连接; - 使用
subscribe
方法订阅主题或使用publish
方法向某个主题发布消息;
上面步骤中 2、3、4 步顺序并无要求,并且可以在第一步声明对象的构造函数中直接传入。
在使用 connect
方法进行连接时可以选择填入 Will Qos
Will Retain
Will Message
cleanSes