目的
MQTT是比较常用在物联网设备中的通讯协议,这篇文章将使用 Arudino ESP32
作为MQTT客户端进行通讯使用演示。目前Arduino的MQTT客户端库中最常使用的是 PubSubClient
,所以本文也将以此进行说明。
主页:https://pubsubclient.knolleary.net/
项目地址:https://github.com/knolleary/pubsubclient
目前 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对象