上面的示意图也是这篇推文的主题:使用三个客户端EC20、ESP8266、MQTTX通过MQTT协议连接上我们搭建的EMQ X服务器最后完成消息的发布和订阅。
概述
其中ESP826大家都有认识,那么相对陌生的EC20是一个4G模块,MQTTX是MQTT客户端工具,EMQ X是MQTT服务器,我们通过MQTT协议将这些进行链接。
在这个链接过程中最重要的是MQTT协议,那么MQTT协议让客户端和服务器实现最简单的消息发布与订阅至少要使用三种报文:
①CONNECT – 连接服务端 (客户端和服务端连接的报文)
②PUBLISH – 发布消息 (从客户端向服务端或者服务端向客户端传输一个应用消息。)
③ SUBSCRIBE - 订阅主题 (客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。
个人理解
上面的说辞专业术语居多,谈我个人的理解:EMQ X是一家杂志社(服务器),接受客户端得投稿和发布期刊。EC20、ESP8266、MQTTX是三个喜欢阅读和编写报纸的群众(客户端),每个群众编辑的报纸都有唯一期刊名(主题)。如此一来EMQ X(杂志社)就拥有3份不同期刊名(主题)的杂志,它们3个可以任意订阅杂志社的这3份期刊(订阅主题),比如EC20可以通过MQTT协议订阅ESP8266期刊名(主