mqtt协议视频教程
MQTT协议是一种广泛用于物联网的机器对机器(M2M)协议。 这是基于消息的协议。 它非常轻巧,因此在物联网生态系统中被采用。 几乎所有的 物联网云平台都支持MQTT协议,以从智能对象发送和接收数据。 对于不同的物联网板(例如Arduino,Raspberry等),有多种实现。
还有其他用于执行IoT项目的IoT协议,但MQTT是效率最高的协议之一。
MQTT协议概述
MQTT是在1999年左右开发的。该协议的主要目标是从带宽的角度创建一种非常有效的协议。 而且,这是非常省电的协议。 由于所有这些原因,它适用于物联网。
与基于请求/响应范例的HTTP相比,此协议使用了发布-订阅范例。 它使用二进制消息以低开销交换信息。 它非常容易实现并且是开放的。 所有这些方面都有助于其在物联网中的广泛采用。 另一个有趣的方面是MQTT使用TCP堆栈作为传输基板。
MQTT消息模式
如前所述,MQTT协议实现了发布-订阅者范例。 该范例将发布消息的客户端(“发布者”)与接收消息的其他客户端(“订户”)分离。 而且,MQTT是异步协议,这意味着它在等待消息时不会阻塞客户端。 与HTTP协议相反,它主要是同步协议。 MQTT协议的另一个有趣的特性是,它不需要客户端(“订户”)和发布者同时连接。
MQTT发布者-订阅者模式
如上所述,MQTT是使用发布者-订阅者模式的基于消息的协议。 MQTT中的关键组件是MQTT代理。 MQTT代理的主要任务是向客户端(“订户”)发送消息。 换句话说,它接收来自发布者的消息并将这些消息分发给订阅者。 在调度消息时,MQTT代理使用该主题过滤将接收消息的客户端。 主题是一个字符串,可以组合主题以创建主题级别。
主题就像将发布者连接到其订阅者的虚拟渠道。 本主题由MQTT代理管理。 通过此虚拟通道,发布者与订阅者分离,客户端(发布者或订阅者)不必彼此了解。 这使得该协议具有高度可伸缩性,而无需消息产生者(“发布者”)和消息使用者(“订户”)直接依赖。