什么是MQTT?它如何工作?

描述

在工业4.0、物联网(IIoT)、智能工厂和智能设备等前沿概念的推动下,我们正迈向一个全新的自动化未来。设备之间将互联互通,每个节点相互连接,交换数据。为构建智能网络,设备必具备IIoT的关键特性:标准化、可扩展性、与IT和OT系统的兼容性,以及互操作性。同时,确保通信的安全性也是至关重要的。

倍加福支持包括MQTT、OPC UA、AMQP和REST API的四种基于TCP的通信协议。本期内容中,我们将首先探索MQTT通信协议,了解它是如何为智能网络提供强大支持,适用于哪些不同应用场景。

什么是MQTT?

它如何工作?

MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。MQTT协议轻量、简单、开放和易于实现,这些特点使它适用范围非常广泛。

自1999年诞生以来,MQTT作为石油管道带宽和电池能效监控问题的技术解决方案。2013年,IBM将其提交给OASIS规范委员会,随后在2014年成为正式的OASIS标准。

MQTT的普及得益于其在工业领域的广泛应用,特别是在对代码精简、开销减少和网络流量受限的环境中。其基本工作原理如下图所示:MQTT 客户端(包括发布者和订阅者)连接到 MQTT 代理。一些 MQTT 客户端通过订阅一个特定主题,例如下图中的主题为温度值,MQTT 客户端(发布者)向代理发送数据,然后代理将此消息发送到所有订阅的MQTT 客户端。这种拓扑结构的显著优势在于发布者和订阅者的解耦。代理只负责将数据从一端传输到另一端,无需在它们之间建立大量连接。

物联网

MQTT的工作原理——典型的MQTT应用

MQTT 主要特性

1:主题

主题是MQTT协议中的一个基础元素,每条消息都包含一个主题和有效载荷,以及头部信息。主题是代理用来过滤消息和订阅者订阅的依据。

主题可以有多个层级,如“home/sensor1/identification”包含三个层级,“home/sensor1/data/temperature”则包含四个层级。每个层级用斜杠“/”分隔,且主题结构区分大小写。主题还可以包含一个或多个层级的占位符,例如使用“+”表示单个层级的占位符,如“home/+/data/temperature”。此外,使用“#”表示多层级占位符,如“home/sensor1/#”可以将sensor1发布的所有数据传输给订阅的客户端。

2:服务质量

MQTT通过服务质量等级来确保消息的可靠传输。QoS等级包括0(至多一次)、1(至少一次)和2(仅一次),其中QoS 2提供高级别的服务质量,需要更多的通信确认和实施措施。

3:会话感知

MQTT提供了多种机制来确保代理与发布者/订阅者之间的连接稳定。基本的机制是保持连接消息,客户端会定期发送这类消息以确认连接的有效性。此外,客户端在初始连接时会向代理提供“遗嘱消息”(Last Will and Testament, LWT),以便在客户端离线时通知其他客户端。

4:持久会话

当代理与订阅者之间建立了持久会话,代理会存储消息,直到订阅者准备好接收。这一特性对于网络环境不稳定的情况尤其有用,确保了消息的可靠传递。

MQTT的实时性如何?

MQTT以其轻量级和高效性,在物联网通信领域展现出杰出的实时性能。在发布者与代理间无延迟,且订阅者与代理保持活跃连接的情况下,MQTT理论上能够实现近乎实时和无延迟的响应,满足快速数据处理的需求。

MQTT的安全性如何?

在安全性方面,MQTT自连接初始化阶段起就提供了用户名和密码的身份验证机制。自MQTT 5起,密码字段可用于令牌传输,同时引入了如质询响应认证等额外的安全机制,增强了通信的安全性。

MQTT适用于哪些应用场景?

MQTT的应用场景广泛,尤其适合于那些需要简单、紧凑解决方案的场合。无论是从多个传感器收集数据,还是向大量同类型传感器发送信息,或是在低功耗和很低内存需求的环境下,MQTT都能发挥出色。它在车联网、军事、工业设备网络、无人机控制等多个领域都有着广泛的应用,展现了其强大的适应性和实用性。

关于倍加福

倍加福–未来自动化的驱动者和创新者

倍加福以德国曼海姆为公司总部,凭借其持续不断的对创新技术的研发,向全球工厂自动化和过程行业的客户提供丰富而多样的产品,致力于自动化行业的传统应用和面向未来的应用。同时,倍加福不断推动前瞻性技术的开发,为客户迎接即将来临的工业 4.0 的挑战铺平了道路。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分