资料教程链接: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-tuttorial/mqtt-tutorial/2-mqtt-basics/
在MQTT协议通讯中,有两个最为重要的角色。它们分别是服务端和客户端。首先我们来初步了解一下它们。
下面,来看这样一个场景。
有人会问为什么汽车不直接将信息发送给手机或者电脑呢?
1、这是因为 MQTT 协议是通常应用与物联网的,物联网和互联网很大的区别之一就是物联网并不像互联网那样连接的那么稳定,可能物联网是由手机的数据网络所构成的,因此,如果当手机信号不好的时候,这个网络也就不稳定,在网络连接不稳定的情况下,如果让客户端之间互相直接发送信息,那么数据信息就会产生丢失的现象。于是,就增加了 MQTT 服务器。这个 MQTT 也就相当于是一个中转站的地方。
2、通常 MQTT 客户端(上图中的汽车)上所装载的负责发送 MQTT 信息的物联网模块的运算能力并不是很强,此外,在上图中的应用场景中,只有两个客户端接收汽车速度这一信息,但是实际应用中,可能有成千上万甚至更多的客户端会接收这一消息,因此,在这种情况下,如果用该物联网模块,是很难实现这么强的运算能力的。所以也就增加了 MQTT 服务器,其运算能力要远远大于实际客户端的物联网模块。
值得注意的是,MQTT 客户端在通讯时,往往角色不是单一的。它既可以作为信息发布者也可以同时作为信息订阅者。