留言排队遥测运输 - 通常称为MQTT- 是一种机器到机器(M2M)消息传递协议,非常适合具有低或不可靠的网络带宽的设备。虽然它最初是在20世纪90年代后期开发的石油和天然气行业,以解决远程地点的设备,但MQTT一直是用于互联网(物联网)和工业互联网(IIT)的崛起的能力技术。
尽管这个名字留言队列遥测运输,MQTT的通信方法不涉及消息排队。
建筑学
MQTT通常被描述为“轻量级”协议,这意味着它使用较少的带宽来发送消息而不是其他协议。这种低带宽使用率感谢MQTT的发布 - 订阅或“PUB-SUB,”通信方法 - 在TCP / IP之上运行 - 最小化网络上的有效载荷。这是它的工作原理:
MQTT协议指定两种类型的系统:客户端和经纪人(服务器)。客户端可以是发布者,订阅者或两者。经纪人管理出版商和订阅者之间的流量。

图像信用:Kamara系统
发布者发送的消息被分类为类似于文件结构的层次结构或主题。当—且仅当—有新的或更新的信息时,发布者向代理发送消息,代理将消息转发给订阅该主题的所有客户端—这种通信方法称为“通过异常报告”。因为消息是通过代理(也称为一对多通信)路由和管理的,所以MQTT使用的带宽比依赖于一对一通信模型的其他协议要少得多。
客户端可以在层次结构的任何级别订阅消息 - 例如,在层次结构“Axis3 / Gripper1 / status”中,客户端可以订阅主题,“AXIS3”或副主题“状态”或“格拉普尔1。”例如,如果客户端订阅主题“Axis3”,它将收到落在“Axis3”主题和其所有子主题下的所有消息。因此,如果有一个“Axis3 / Gripper2”的疑要,则客户端将收到这些消息以及落在副主题“Axis3 / Gripper1下方的消息。

通过MQTT,代理管理发布者和订阅者之间的通信。只有当有新信息时,消息才会发送给该特定主题的订阅者。
国家意识
MQTT还提供了州的意识,因此订阅者始终知道发布者是否在线。如果客户端(订阅者或发布者)向代理发送断开的消息,则该客户端可以使用相同的标识在稍后重新连接到代理。这有时被称为“优雅关机”。
但是,如果发布者在没有向代理发送断开消息的情况下断开连接,代理将向该发布者的订阅者发送“最后遗嘱”消息,标识断开连接的发布者并通知订阅者该做什么。尽管消息通常不保留,但MQTT允许代理(如果在发布者的配置中指定)保留发布者发送的最后一条消息,以便新的或返回的订阅者可以确保他们的订阅是活动的,并接收到最新的信息。
安全
MQTT允许在与经纪人建立连接时为客户端实现用户名和密码 - 但这些用户名和密码在清除文本中传递。因为mqtt是一个应用级别协议在物联网和工业物联网应用中,确保数据加密和安全的常见解决方案是使用TLS / SSL.
用途
MQTT协议是所有主要云平台的标准,包括Microsoft Azure、IBM cloud和Amazon Web Services。Facebook甚至在其Facebook Messenger和Instagram应用程序中使用了MQTT。对于工业应用,MQTT特别适合于远程监控,它的轻量级特性使MQTT成为物联网和工业物联网应用中使用最广泛的协议之一。
值得注意的是,对于许多工业自动化应用,MQTT是用的Sparkplug B.软件规范,它定义了主题名称空间和有效负载定义,并描述了状态管理如何工作以及如何在SCADA系统中使用它。
了下:运动控制提示




