0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是MQTT?它如何工作?

倍加福 来源:倍加福 2024-10-27 13:58 次阅读

工业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 客户端。这种拓扑结构的显著优势在于发布者和订阅者的解耦。代理只负责将数据从一端传输到另一端,无需在它们之间建立大量连接。

25d3315e-92bc-11ef-a511-92fbcf53809c.jpg

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 的挑战铺平了道路。

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

    关注

    28

    文章

    855

    浏览量

    40250
  • 物联网
    +关注

    关注

    2903

    文章

    44243

    浏览量

    371042
  • MQTT
    +关注

    关注

    5

    文章

    649

    浏览量

    22422

原文标题:解锁IIoT潜力,详解MQTT通信协议

文章出处:【微信号:gh_c9a84232a0b5,微信公众号:倍加福】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎样使用micropython去实现mqtt的协议测试呢

    1、MQTT协议介绍MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。工作在 TCP/IP协议族上。MQTT协议是轻量、简单、开放
    发表于 03-24 14:58

    将ESP8266与OTA和MQTT一起使用,为什么无法正常工作的原因?

    我正在尝试将 ESP8266 与 OTA 和 MQTT 一起使用,但无法正常工作。如果我只尝试 MQTT,我可以让工作。如果我只尝试 OT
    发表于 02-23 08:23

    如何使用Nodemcu的Mqtt开关?

    我是此类编程的初学者,也是一名试图熟悉物联网系统的机械工程师。首先,我想为我的 nodemcu V2 编写代码,以在打开和关闭开关时发布 mqtt 有效载荷连接在 GPIO 引脚 2 和地之间。我
    发表于 02-24 08:58

    浅谈MQTT与Modbus协议的区别

    MQTT协议(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。 工作在TCP/IP协议上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下
    发表于 04-07 11:09 1.7w次阅读
    浅谈<b class='flag-5'>MQTT</b>与Modbus协议的区别

    OpenHarmony开发之MQTT讲解

    MQTT这个名称大家都不陌生,物联网的开发必然会遇到MQTT相关知识的应用。那么什么是MQTT?它有什么特点?它能解决什么问题?它是如何工作的?OpenAtom OpenHarmony
    的头像 发表于 11-15 22:50 1029次阅读

    基于OpenHarmony的本地MQTT服务实现

    一、MQTT协议简介MQTT(消息队列遥测传输)是一个基于客户端-服务器的消息发布/订阅传输协议,是ISO标准(ISO/IECPRF20922)下基于发布/订阅范式的消息协议。MQTT工作
    的头像 发表于 05-30 12:12 708次阅读
    基于OpenHarmony的本地<b class='flag-5'>MQTT</b>服务实现

    Node搭建本地MQTT服务器

    搭建MQTT一、MQTT介绍MQTT是一种基于发布/订阅模式的轻量级物联网消息传输协议,可以用极少的代码和带宽为联网设备提供实时可靠的消息服务,广泛应用于物联网
    的头像 发表于 05-26 14:11 1520次阅读
    Node搭建本地<b class='flag-5'>MQTT</b>服务器

    强大的MQTT! 关于你应该知道什么

    MQTT指消息队列遥测传输,是物联网的机器对机器(M2M,machine-to-machine)连接协议。MQTT是一个轻量级的发布和订阅协议,通过它可以在低带宽环境中发送和接收机器对机器的遥测消息。
    的头像 发表于 08-03 11:15 1260次阅读
    强大的<b class='flag-5'>MQTT</b>! 关于<b class='flag-5'>它</b>你应该知道什么

    MQTT的主要特性有哪些

    MQTT 的主要特性 MQTT 协议是为工作在低带宽、不可靠网络的远程传感器和控制设备之间的通讯而设计的协议,具 有以下主要的几项特性: ①、使用发布/订阅消息模式,提供一对多的消息
    的头像 发表于 07-30 14:42 1841次阅读

    MQTT发布特性有哪些

    MQTT 发布/订阅特性 从以上实例我们可以看到,MQTT 通信的核心枢纽是 MQTT 服务端,负责将 MQTT 客户端发送来的信息传递给
    的头像 发表于 07-30 15:16 669次阅读

    MQTT是什么 MQTT特点

    MQTT 是 Message Queuing Telemetry Transport 的缩写,是一种轻量级的、基于发布/订阅模式的物联网通信协议。 具有以下特点: •简单易用:MQTT 的协议规范
    的头像 发表于 11-09 15:20 2388次阅读

    什么是MQTTMQTT协议中的方法

    MQTT是一种轻量级消息传递协议,由IBM开发,于1999年首次发布。使用发布/订阅模式并在设备、服务器和应用程序之间转换消息。
    的头像 发表于 02-25 17:04 1269次阅读
    什么是<b class='flag-5'>MQTT</b>?<b class='flag-5'>MQTT</b>协议中的方法

    MQTT网关是什么?MQTT网关的功能

    MQTT网关是支持MQTT协议的物联网网关,是一种用于连接不同设备和云端平台之间的中间件。充当了设备和云端服务之间的数据传输桥梁。MQTT网关能够接收来自各种设备的数据,并将其发送到
    的头像 发表于 03-18 17:10 744次阅读

    MQTT工业网关的工作原理及其在实际生产中的重要作用解析[天拓四方]

    )协议以其轻量级、开放性和可靠性,在工业物联网领域得到了广泛应用。本文将通过一个实际应用案例,解析MQTT工业网关的工作原理及其在实际生产中的重要作用。 一、MQTT工业网关概述 MQTT
    的头像 发表于 05-24 16:58 443次阅读

    MQTT协议网关的工作原理及功能特性

    的数据传输。本文将详细探讨 MQTT协议网关 的工作原理、功能特性及其在物联网应用中的重要作用。 一、MQTT协议网关的工作原理 1、连接设备 MQ
    的头像 发表于 09-18 17:00 375次阅读
    <b class='flag-5'>MQTT</b>协议网关的<b class='flag-5'>工作</b>原理及功能特性