物联网之MQTT协议详解基础篇(一)—— MQTT介绍

article/2025/9/29 12:11:57

mqtt

MQTT: The Standard for IoT Messaging

开场白

大概是这么个背景

比如小米智能家居目前是这么个流程:

  • 物联网设备通过家里的wifi连接到外网服务器

  • 在外网通过米家app控制就可以家里的物联网设备

其中服务器,app,物联网设备是通过MQTT协议进行消息传递的:

设备MQTT角色
外网服务器MQTT Broker
物联网设备MQTT Client/Publisher
米家appMQTT Client/Subscriber

MQTT协议基础篇 将介绍MQTT 的基本概念(发布/订阅、客户端/代理)和基本功能(连接、发布、订阅),然后介绍MQTT协议的一些特征,包括:Quality of Service, Retained Messages, Persistent Session, Last Will and Testament, Keep Alive

安全性是 MQTT协议中的比较重要的部分,内容也比较多,将在后续的MQTT协议安全篇中介绍。

MQTT介绍

MQTT协议的官方介绍如下:

“MQTT is a Client Server publish/subscribe messaging transport protocol. It is light weight, open, simple, and designed so as to be easy to implement. These characteristics make it ideal for use in many situations, including constrained environments such as for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts where a small code footprint is required and/or network bandwidth is at a premium.“

Citation from the official MQTT 3.1.1 specification

MQTT 是客户端服务器发布/订阅消息传输协议。 具有轻量、开放、简单、易于实现等特性。这些特性使其非常适合在许多情况下使用,包括受限环境,例如在机器对机器 (M2M) 和物联网 (IoT) 环境中需要少量代码占用空间或网络带宽非常宝贵的环境中的通信。

值得一提的是,与 HTTP 等协议相比,MQTT是一种二进制协议,因此它在传输数据方面表现得更加出色。

历史

MQTT 协议由 Andy Stanford-Clark (IBM) 和 Arlen Nipper (Arcom/Cirrus Link) 于1999 年发明。他们需要一种通过卫星连接石油管道的协议,以最大限度地减少电池损耗带宽。两位发明者为未来的协议规定了以下几个要求:

  • 实现简单 - Simple implementation
  • 保证数据的服务质量 - Quality of Service data delivery
  • 轻量级/高效利用带宽 - Lightweight and bandwidth efficient
  • 数据未知 - Data agnostic
  • 持续的会话意识 - Continuous session awareness

目前这些目标仍然是 MQTT 的核心。 但是,该协议的主要重点已从专有嵌入式系统转变为开放物联网 (IoT) 应用。这种关注点的转变对首字母缩略词 MQTT 所代表的含义造成了很多混淆。简单讲 MQTT 不再被视为首字母缩略词,MQTT 只是作为协议的名称。

MQTT的全称是 MQ Telemetry Transport (MQ 遥测传输)

MQ是指 MQ 系列,IBM 为支持 MQ 遥测传输而开发的产品。当AndyArlen在 1999 年创建他们的协议时,他们以 IBM 产品命名。许多文章错误地将 MQTT 认为是一种消息队列(Message Queue)协议。显然,并不是。MQTT 不是传统的消息排队解决方案(尽管在某些情况下可以对消息进行排队)。

在接下来的十年里,IBM 在内部使用了该协议,直到 2010 年他们发布了 MQTT 3.1 作为免版税版本。从那时起,所有人可以实现并使用该协议。

OASIS 标准和当前版本

OASIS 是一个旨在推进标准的开放组织。在MQTT协议发布大约 3 年后, OASIS 宣布将对其进行标准化。标准化过程耗时约1年。2014 年 10 月 29 日,MQTT 成为正式批准的 OASIS 标准。 从 3.1 到 3.1.1 的次要版本更改表明对以前的版本所做的更改很少。

2019 年 3 月,OASIS 批准了新的 MQTT 5 规范。这个新的 MQTT 版本为 MQTT 引入了新功能,这些功能是部署在云平台上的 IoT 应用程序所需的。(部署在云平台上的 IoT 应用程序需要更高的可靠性和错误处理,以实现关键任务消息传递功能。)

TaQini’s Blog

欢迎关注我的博客,第一时间发布后续文章
TaQini’s Blog

参考链接

Introducing MQTT


http://chatgpt.dhexx.cn/article/AO3vnqjQ.shtml

相关文章

物联网数据传输协议MQTT介绍与应用开发详解

本文首发微信公众号:码上观世界 Part 1 物联网概述 1. 物联网概念 物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、…

MQTT协议详解及开发教程(一)MQTT协议概述

推荐一款稳定的基于C编写的MQTT Client开源库《cMQTT》 一 概述 MQTT协议目前在物联网技术中应用非常广泛,各种公有云的IOT平台通信基本上都是按照该协议来实现的,这里先简单的做个总结: (1)MQTT协议框架及内容比…

1.MQTT协议介绍

所写博客来自网课视频、本网站或其他网站,只属于资料整理、用于个人学习,如有侵权行为可联系删除。 1.MQTT协议介绍 1.1 MQTT简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一…

MQTT协议通俗讲解

参考 Reference 协议文档 Offical Docs v3.1.1 英文原版 中文翻译版 其他资源 网站 MQTT官方主页 Eclipse Paho 项目主页 测试工具 MQTT Spy(基于JDK) Chrome插件 MQTTLens(需翻墙) 基本概念 Basic Conception Session 会话 定义 …

Mqtt通信协议详解

文章目录 1. 简介mqtt2.mqtt协议实现3.Mqtt数据包4. QoS等级5. mqtt传输安全保证5.1 应用层5.2 传输层5.2.1 TLS安全协议 5.3 网络层 1. 简介mqtt MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发…

物联网消息传输协议——mqtt详解

什么是Mqtt mqtt是为物联网场景设计的基于tcp的pub/sub协议, 是基于发布/订阅模式的物联网通信协议 具有简单易用、支持QoS、报文小、轻量、节省带宽、不关心数据具体格式、可以时刻感知设备是否在线等特点 出生背景 本名: Message Queue Telemetry(遥…

MQTT物联网协议详解

MQTT物联网协议详解 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上&#xff…

MQTT协议,终于有人讲清楚了

6步!教你写一个mqtt调试助手_GREYWALL-CSDN博客点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦,之前写过一篇MQTT的文章,里面用来测试的mqtt client程序是自己编译的。…

MQTT协议简介及协议原理

文章目录 MQTT协议MQTT协议简介MQTT通信模型MQTT客户端的功能:MQTT客户服务器功能: 消息主题与服务质量MQTT控制报文固定报头可变报头CONNECT报文CONNACK报文 有效载荷 MQTT协议 MQTT协议简介 MQTT协议全称是Message Queuing Telemetry Transport&…

MQTT协议详解,非常易懂

MQTT协议详解一 协议地址:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html 当然也有PDF版的,百度一下,不过个人感觉不是官网上的字体和排版最舒服。 那么这个协议是用做什么或有什么特色呢?下面是mqtt…

看见协议,浅析TCP、HTTP、MQTT

如果对tcp还不了解的,可以看看计算机网络基础简单了解一下; 如果对tcp的深入感兴趣,看了上一篇还不过瘾的可以看吊打面试官!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题 好了,如果看回来了我们来进入正题…

MQTT协议简介

一、mqtt协议简介1.1 MQTT协议特点1.2 发布和订阅1.3 QoS(Quality of Service levels)QoS 0QoS 1QoS 2 二、MQTT 数据包结构2.1 MQTT固定头 ( FixedHeader )2.2 MQTT可变头 ( Variable header )2.3 消息体 ( Payload ) 三、环境搭建3.1 MQTT服务器搭建3.…

MQTT 协议是什么

MQTT 协议是什么 随着 5G 时代的来临,万物互联的伟大构想正在成为现实。联网的 物联网设备 在 2018 年已经达到了 70 亿,在未来两年,仅智能水电气表就将超过10亿。 海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很…

简述MQTT协议

目录 简介MQTT协议组成MQTT三种QOS 1.简介 1.1 MQTT介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输): 是IBM推出的一种针对移动终端设备基于TCP/IP的发布/订阅协议;可以连接大量的远程传感器和…

MQTT协议详解(完整版)

1 MQTT协议概念: 1.1 MQTT特点: 基于Publish/Subscribe(发布订阅)模式的物联网通信协议简单易实现支持Qos(服务质量)报文精简基于TCP/IP 发布订阅模式: 客户端只需要订阅这个主题,当有其他客户端向这个服务端发布消息时,这个客户端就可以收到这个消息…

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

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布…

MQTT协议详解及v5.0实践——实践类

本文主要包含了以下内容: 1)MQTT协议演进历史及协议特点,总结和分析MQTT协议族的优缺点,分析和总结了为什么相比于其他协议,MQTT适合IoT,业内支持现状等。 2)阿里云IoT MQTT3和5协议在实践中的…

MQTT与TCP通信协议的对比

一、背景 在物联网场景开发中,大多数通信模组都支持TCP、UDP、MQTT、CoAP、HTTP、LwM2M等网络通信协议,其中既有负责传输层协议,也有应用层协议,不同协议适用的场景也不尽相同。 二、协议分层 上图中举例了网络分层中最常见的几…

MQTT协议介绍

MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码…

MQTT协议超全面总结来啦

一、概念 MQTT 是基于 Publish/Subscribe 模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)&#xff0c…