MQTT 简介

MQTT(详解) MQTT(Message Queuing Telemetry Transport)是一种轻量级的通信协议,用于在设备之间传输消息。它通常用于物联网(IoT)和传感器网络中,可以在不同设备之间进行可靠的通信,而且资源消耗相对较低。MQTT基于发布/订阅模型,允许设备发布消息到特定主题(topic),并让订阅了相同主题的设备接收这些消息。这使得MQTT成为了在资源受限或需要实时通信的环境中非常有用的协议,比如监控系统、传感器网络、智能家居等领域。 阅读详情

什么是MQTT

MQTT 是 Message Queuing Telemetry Transport(消息队列遥测传输)的缩写,是 IBM 开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。

  • 基于发布 / 订阅范式的 “轻量级” 消息协议(头部 2 字节)
  • 专为资源受限的设备、低带宽占用高延时或者不可靠的网络设计,适用于 IoT 与 M2M
  • 基于 TCP/IP 协议栈
  • 事实的 IoT 通讯的标准协议

该协议于 1999 年由 IBM 的 Dr Andy Stanford-Clark 和 Arcom(现为 Eurotech)的 Arlen Nipper 提出,协议版本经历了多次升级和改进,于 2013 年成立 OASIS MQTT 技术规范委员会,并持续发布协议的新版本,

  • 2015 年,MQTT3.1.1 协议发布
  • 2018 年,MQTT5.0 协议发布

目前主流的支持协议版本为 3.1.1,但是比较活跃的 MQTT 服务器推出了支持 MQTT 5.0 协议的版本,EMQ X 今年 9 月份推出了 3.0 版本,是开源社区中最早支持 MQTT 5.0 协议的服务器。

MQTT 协议的主要特性

  • MQTT 协议使用发布 / 订阅消息范式来做到一对多的消息分发以及应用程序的解耦
  • MQTT 协议提供了 3 种(QoS)服务质量用于消息传输,适应不同的物联网数据传输场景
    • QoS 0:最多一次传送 (只负责传送,发送过后就不管数据的传送情况)
    • QoS 1:至少一次传送 (确认数据交付)
    • QoS 2:正好一次传送 (保证数据交付成功)
  • 通过很小的传输开销,以及最小化的协议交换来减少网络流量
  • 发生异常断线时通知各方的机制

MQTT发布/订阅

 

如上图所示,

  • 发布者:温度传感器,通过主题 "sensor/1/temperature" 发布一条温度为 37.5 度的消息
  • 3 个自上而下的订阅者分别通过订阅不同的主题得到发布者发出的消息
    • 移动设备:通过订阅主题 "sensor/1/#"
    • 电脑:通过订阅主题 "sensor/+/temperature"
    • 服务器:通过订阅主题 "sensor/1/temperature"

MQTT 服务器

MQTT 服务器是发布者和订阅者之间通信的代理(因此中文也有将 MQTT 服务器翻译为 MQTT 代理),主要提供了以下的功能,

  • 基于主题的 Pub/Sub 模式,将发布者和订阅着解耦
  • 对于服务器来说,发布者和订阅者都是“客户端”
  • 客户端与服务器连接都通过 TCP、TLS 或者 WebSocket
  • 客户端(发布者)发送一条消息到服务器
  • 一个或者多个客户端(订阅者)从服务器接收消息

按照 MQTT 协议标准,服务器提供三种连接方式,

  • TCP:默认端口为 1883
  • TLS:默认端口为 8883
  • WebSocket:默认端口为 8083
var code = "f07e5048-2246-4e35-83a8-5dbeec94102b"
MQTT简介及安装使用 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,专为在低带宽、不可靠网络或设备资源有限的情况下进行通信而设计。它非常适合用于物联网(IoT)设备之间的消息传递,因为它能够以最小的开销提供可靠的信息传输服务。--【基于AI】 阅读详情

相关推荐

MQTT简介及实现原理

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设...

浅浅的博客 2万+

什么是MQTT

万物互联场景下,首先要解决的就是连接的问题,本文旨在介绍最基本的MQTT协议,当前对于mqtt协议的解读不具备系统性,力图通过本文的解读,将该协议详细且完整地呈现出来。

linus_ben的博客 7714

mqtt简介和bifromq使用

Mosquitto:适合资源受限的物联网设备和轻量级应用场景,具有低资源占用、简单易用和跨平台的特点。:适合对吞吐量要求较高的物联网场景,支持高吞吐量和顺序消息。BifroMQ:适合大规模物联网设备连接和高吞吐量场景,具有高性能、低时延和多租户支持的特点。

幽静净土的技术分享 1429

什么是MQTT?一文快速了解MQTT基础知识

MQTT,全称为Message Queuing Telemetry Transport(消息队列遥测传输),是一种轻量级的发布-订阅式消息传输协议。它被设计用于在低带宽、不稳定网络环境下进行高效可靠的通信。MQTT适用于各种设备之间的实时数据传输,特别是在物联网(IoT)应用中非常常见。MQTT是一种基于发布/订阅模式的轻量级消息传输协议,适用于物联网等低带宽、高延迟的场景。而RabbitMQ是一个开源。

AlbenXie的博客 2631

MQTT协议知识梳理,看完你就懂了

MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布/订阅信息传输协议。MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展。适用于设备硬件存储空间有限或网络带宽有限的场景。物联网平台支持设备使用MQTT协议接入MQTT的特点是可以保持长连接,具有一定的实时性,云端向设备端发送消息,设备端可以在最短的时间内接收到并作出响应,所以MQTT更适合需要实时控制的场合,更适合执行器。要保持长连接,那么就要时不时地发送心跳包,这就不会省电了。

IT技术分享社区 3104

Java物联网开发:MQTT与智能家居

1. 背景介绍 1.1 物联网的崛起 随着科技的发展,物联网(Internet of Things,IoT)已经成为了一个热门领域。物联网是指通过互联网将各种物体相互连接,实现信息的交换和通信的一种网络。在这个网络中,智能家居作为物联网的一个重要应用场景,越来越受到人们的关注。

AI天才研究院 375

MQTT 基本知识简介

此篇博客介绍 MQTT 的基本知识。 1 MQTT 介绍 MQTT (Message Queue Telemetry Transport):消息队列遥测传输协议​ 其主要提供了订阅/发布两种消息模式,更为简约、轻量,易于使用,特别适合于受限环境(带宽低、网络延迟高、网络通信不稳定)的消息分发,属于物联网(Internet of Thing)的一个标准传输协议。 ​ 优点:​ 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;​ 使用 TCP/IP 提供网络连接,支持 TLS 指定服务质量(Q

ESP 技术分享,推动万物互联 3693

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 483

【MQTT】MQTT简介+安装+使用

MQTT 协议简介 MQTT(Message Queuing Telemetry Transport),是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。 MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。 ...

我的笔记本 6万+

MATLAB 设置legend加标题

x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')%水平 legend添加标题 lgd = legend; lgd.Fon

早起CaiCai的学习空间 4713

STM32踩坑--NoST-LINK detected

这里出现的NoST-LINK detected是没有扫描到端口 在我使用一段Fly-MCU后,有一天突然发现出现如上错误,再检查的过程中检查以下几点 1.STM32 魔术棒的设置 1.1Debug设置 1.2 utilities 设置没有问题,与原来一样又看了下端口——在设备管理器中;也没有问题 ...

qq_53002477的博客 2万+

MQTT-Dashboard-简介、访问控制

MQTT-Dashboard-简介、访问控制

JAVA程序猿成长 279

时空数据建模的跨节点联邦图神经网络:KDD21 Cross-Node Federated Graph Neural Network for Spatio-Temporal Data Modeling

前言 联邦学习(FL)虽然已经被广泛研究,但是对复杂的时空依赖关系进行建模以提高预测能力仍然是一个开放的问题。此外目前最优的时空预测模型假定对数据的访问不受限制,忽略了对数据共享的限制。基于此,本文提了一个基于图联邦学习的时空数据模型 Cross-Node Federated Graph Neural Network (CNFGNN),该模型在跨节点联邦学习的约束下,使用基于图神经网络(GNN)的架构对底层图结构进行编码,属于结构化联邦的一种,每个本地模型利用私有数据进行学习,并保持分散性。CNFGNN

qq_56027260的博客 1810

MQTT 协议简介

MQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

Java+GO+JS全栈工程师-鹤冲天的博客:编程辅导~商务合作~技术交流 1万+

AMBA VIP基础使用方式(AXI)

AXI环境配置 1)基础配置 作为master或者slave使用时,对应的is_active = 1 只作为i监测(monitor)使用时,对应slave_cfg的is_active = 0(对应端口连接也有所区别) class smu_axi_cfg extends svt_axi_system_configuration; `uvm_object_utils(smu_aix_cfg) function new(string name="smu_axi_cfg); super.new(n..

qq_37573794的博客 7984

自然二进制数与格雷码的相互转换

自然二进制数与格雷码两者优势: 自然二进制数的编码方式简单明了,容易理解,在加减运算中能够直接进行,同时十分方便进行一些位运算操作(如移位、取反等)。 格雷码计数时只有一位变化,可有效减少计数器状态的冗余转换,同时在传输数据时能够减小传输错误的概率,此外带权重编码处理更加方便。 在一定程度上自然二进制数与格雷码优缺点基本相反,综上所述,自然二进制数和格雷码各有优劣之处,需要根据具体应用场景选择合适的编码方式。简单来说,在计数器和编码器中,倾向于使用格雷码;而在进行加减运算时,则倾向于使用自然二进制数。

Loudrs的博客 7490

MQTT简介

MQTT全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 IBM 发布。 MQTT 可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用极少的代码和带宽的为连接远程设备提供实时可靠的消息服务,它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下,因此 MQTT 协议在 IoT(Internet of things,物联网),小型设备应用,移动应用等方面有较广泛的应用。 IoT 设备要运作,就必须连接到互

wzbwzt的博客 1346

YOLOv11改进缝合注意力 | 深度优化的BiFormer模型-结合BiLevel Routing Attention与深度可分离卷积的创新应用(附代码)

YOLO(You Only Look Once)系列目标检测算法一直以来都是计算机视觉领域的热门选择。随着YOLOv11的发布,它在许多实际应用场景中取得了显著的性能提升。然而,面对日益复杂的目标检测任务,单纯依赖卷积神经网络(CNN)在某些情况下已经显得力不从心,特别是在处理小尺度、密集目标以及遮挡目标时,卷积操作的局部性限制了模型的表达能力。

一键难忘的博客 715

MQTT协议简介

从阿里云网页文档中了解物联网模拟工具,操作方式参考如下链接。

qq_39776661的博客 877

出现 Error:Unable to access jarfile xxxx\target\nacos-server.jar 解决方法

Nacos中的 2.x执行步骤如上,如果需要安装下载1.x版本,执行该步骤之后 自动更新下载的是2.x版本 对此如果需要下载安装1.x的版本,可通过如下连接(windows版本)

码农研究僧的博客 5697

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

MQTT协议-MQTT协议简介及协议原理

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设

JIESA的专栏 10万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

一、MQTT简介

MQTT(Message Queuing Telemetry Transport),即消息队列遥测传输协议,由 IBM 在 1999 年开发。最初,MQTT 是用于将石油管道上的传感器与卫星相链接,旨在为受限设备和低带宽、高延迟或不可靠的网络而设计。其起源可以追溯到 IBM 的 MQ 系列产品,虽然名字中有“Message Queue”,但实际上 MQTT 并不使用传统的消息队列,而是采用了发布和订阅的消息传递模式。随着物联网的快速发展,MQTT 逐渐成为热门的通信协议。

m0_43405302的博客 1844

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MQTT简介之二 MQTT协议

1、什么是MQTT •MQTT协议(Message Queuing Telemetry Transport),翻译过来就是消息队列遥测传输,是IBM公司于1999年提出的。 • •MQTT是一个基于TCP的发布订阅协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。 • •2014年发布最新版本是3.

caofengtao1314的专栏 1315

【MQTT】MQTT知识简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),是一种即时通信协议。适用范围:机器与机器间通信,即M2M,或物料网之间。设计思想:轻巧,开放、简单、规范且易于实现。定义:客户端/服务端架构的发布/订阅模式的消息传输协议。MQTT服务器种类结构拓扑图客户端:常规完成的工作内容包括(1)发布其他客户端可能会订阅的信息;(2)订阅其它客户端发布的消息;(3)退订或删除应用程序的消息;(4)断开与服务器连接。服务端常规完成的工作内容包括。...

Jessica1213zhang的博客 822
上一篇: Qt5.9.2在Windows下通过ODBC连接postgresql
下一篇: QMQTT + EMQ环境搭建
书灯
博客等级 码龄11年 29粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值