【MQTT】1、初识MQTT——物联网通信的“世界语”
你好欢迎来到 MQTT 系列博客的第一篇。在开始搭建服务、编写代码之前我们先用一篇文章的时间好好认识一下 MQTT 这位主角。它既不是什么新技术也不是什么大厂专有的闭源协议而是一个已经默默服务了二十多年的“轻量级”通信协议。1、它从哪里来一段关于“管道”的故事要理解一个技术最好的方式之一是回到它诞生的那个时刻看看它要解决什么问题。MQTT 的全称是 Message Queuing Telemetry Transport消息队列遥测传输协议 。它诞生于 1999 年由 IBM 的 Andy Stanford-Clark 和 Arcom现为 Cirrus Link的 Arlen Nipper 共同发明。当时他们面临一个非常具体且棘手的挑战如何通过卫星以极低的带宽和不可靠的网络将数千公里外的石油管道数据传回控制中心要知道那是 1999 年网络带宽昂贵且不稳定远程设备传感器的电池电量和计算能力都极其有限。HTTP 协议对他们来说太重了头信息庞大一来一回的请求/响应模式在这种场景下显得笨拙而低效。于是他们设计了一个极简、轻量、带宽友好的协议。这个协议从诞生之初就刻下了这样的基因实现简单提供服务质量QoS数据传输轻巧且带宽高效数据格式无关支持持续的会话意识你看这些要求恰恰就是今天物联网IoT、M2M 通信领域最核心的痛点。所以MQTT 天生就是为物联网而生的“世界语”。2、它解决了什么——理解“发布/订阅”模式MQTT 与传统 HTTP 最核心的区别在于它的通信模型。不是我们在浏览器里常用的“请求-响应”而是 “发布/订阅”Publish/Subscribe 。我们用一个类比来理解“发布/订阅”模式——电台广播系统。在传统的 HTTP “请求/响应”模式里就好比你给朋友打电话你拨号发起请求。朋友接听建立连接。你问一个问题他给你一个回答响应。通话结束连接断开。如果你想再次询问必须重新拨号。这种方式是同步的、点对点的并且高度依赖双方都在线。如果朋友没开机你就联系不上他。而MQTT的“发布/订阅”模式则更像一个广播电台Broker即服务端/代理订阅者Subscriber你打开收音机调到北京交通广播主题/Topic。发布者Publisher电台发布者不断通过广播信号发送节目消息。只要你的收音机调在这个频率上你就能收到节目。这个模式带来了巨大的好处——解耦。发布者和订阅者完全不需要知道彼此的存在空间解耦发布者不需要知道订阅者的 IP 地址和端口它只需要把消息发给“代理Broker”就行了。时间解耦发布者发消息时订阅者不需要在线。消息可以被 Broker 暂存等订阅者上线后再发送给它。这就是“持续的会话意识”。简单来说在 MQTT 的世界里有三个核心角色Broker代理/服务端就是那个“广播塔”负责接收所有消息并根据“主题”分发给订阅者。它是整个通信的中枢。Publisher发布者发送消息的客户端它只负责把消息发到 Broker 上某个指定的“主题”不管谁会来收。Subscriber订阅者接收消息的客户端它向 Broker 表达自己对哪些“主题”感兴趣然后静静地等消息到来就行。3、它厉害在哪——轻量、QoS与更多特性MQTT能在物联网领域占据主导地位靠的可不只是模式新颖。它有几个硬核的特性是专为“艰难”环境设计的极致轻量开销极小这是MQTT最引以为傲的特点。它的固定报文头Fixed Header只有 2 个字节这意味着哪怕是最小的一条消息也能被高效地传输。相比之下一个普通的 HTTP 请求头动辄几百字节在按流量计费的卫星网络或低频窄带网络里成本天差地别。三种消息服务质量QoS网络不可靠是常态。MQTT 为此定义了三种服务质量等级Quality of Service让你能根据业务需求在可靠性和网络开销之间做权衡等级名称含义适用场景0至多一次消息只发送一次不等待确认。可能会丢也可能收到重复。环境传感器数据上报丢一两个读数影响不大。1至少一次确保消息到达但可能会收到重复的消息。需要确保对方收到但允许偶尔重复的场景。2恰好一次通过四次握手确保消息既不丢失也不重复精确到达一次。计费系统、关键的指令下发不能出任何差错。需要注意的是消息的发布 QoS 和订阅 QoS 是独立的。最终客户端收到的消息服务质量是发布 QoS 和订阅 QoS 中较低的那个。主题Topic与通配符MQTT 通过“主题”来对消息进行分类。主题是一个用斜杠 / 分隔的字符串比如myhome/livingroom/temperature可以像文件系统一样组织成层级结构。它最强大的地方在于支持通配符订阅让你可以一次性订阅一大批相关的主题单层通配符匹配它所在的那一层任意字符。比如订阅 myhome//temperature可以匹配 myhome/livingroom/temperature 和 myhome/bedroom/temperature但不会匹配 myhome/kitchen/oven/temperature。#多层通配符匹配它之后的所有层级必须放在最后。比如订阅 myhome/#就能收到 myhome/ 下所有子主题的消息。保留消息Retained Message——解决“新设备上线”的问题如果某个主题的最新消息被标记为“保留”那么当新的订阅者连接并订阅这个主题时Broker 会立刻把这条“保留消息”推送过去。这样一个新接入的温控器能立刻知道当前的温度而不是傻等到下一次温度更新。遗嘱消息Last Will——解决“设备异常下线”的问题客户端在连接 Broker 时可以预设一条“遗嘱消息”和一个主题。如果这个客户端异常断开比如断电、网络中断Broker 会主动向那个主题发布这条遗嘱。其他订阅了该主题的设备就能知道“某个设备掉线了”从而做出相应的处理。4、它能用在哪儿MQTT 的应用范围已经远远超出了最初的石油管道监测成为物联网、移动互联网的事实标准物联网IoT与 M2M 通信智能家居灯具、插座、传感器、智慧农业、工业自动化数据采集。即时消息推送早期的 Facebook Messenger 等 App就大量使用了 MQTT 作为消息推送协议。车联网车辆与云端、车辆与车辆之间的低延迟通信。医疗健康可穿戴设备与医疗平台的数据同步。通过第一篇文章我们已经认识了 MQTT它的历史使命、核心的“发布/订阅”模式以及那些为物联网而生的精巧特性。如您在阅读中发现不足欢迎留言

相关新闻

从语音识别到运动控制:构建“铁甲钢拳”式语音控制器的完整指南

从语音识别到运动控制:构建“铁甲钢拳”式语音控制器的完整指南

1. 从科幻到现实:为什么我们需要一个“铁甲钢拳”式的语音控制器? 几年前,一部名为《铁甲钢拳》的电影让很多人热血沸腾。电影里,人类通过体感控制器,远程操控巨大的机器人进行拳击格斗,那种人机合一的沉浸…

2026/7/29 12:44:25阅读更多 →
2026年知识工作者的新刚需:不是记录,是能被理解的大纲笔记管理工具

2026年知识工作者的新刚需:不是记录,是能被理解的大纲笔记管理工具

2026年上半年,产品运营助理小林发现自己陷入了一个循环。每次打开笔记软件,都得先做选择题:这段会议记录放哪个文件夹?项目A讨论里提到的项目B方案,该归谁?开会拍的白板在相册里,录音在手机里&a…

2026/7/29 12:44:25阅读更多 →
基于红外传感与Teensy的交互式触摸竖琴制作全解析

基于红外传感与Teensy的交互式触摸竖琴制作全解析

1. 项目概述:当指尖触碰琴弦,音乐如何流淌? “触摸竖琴”,这个名字听起来就充满了诗意与科技感。它不是一个传统的乐器,而是一个融合了传感器技术、微控制器编程与音乐创作的交互式艺术装置。简单来说,你可…

2026/7/29 12:44:25阅读更多 →
如何3分钟搭建本地语音AI系统:开源语音智能体终极指南

如何3分钟搭建本地语音AI系统:开源语音智能体终极指南

如何3分钟搭建本地语音AI系统:开源语音智能体终极指南 【免费下载链接】speech-to-speech Build local voice agents with open-source models 项目地址: https://gitcode.com/gh_mirrors/sp/speech-to-speech 想要在本地环境快速部署一个功能完整的语音智能…

2026/7/29 19:18:32阅读更多 →
TLR4/MD2信号通路详解:MD2蛋白结构、LPS识别机制与天然免疫功能解析

TLR4/MD2信号通路详解:MD2蛋白结构、LPS识别机制与天然免疫功能解析

天然免疫系统是机体抵御外源性病原体的重要防御体系,其主要通过模式识别受体(Pattern Recognition Receptors,PRRs)识别病原体相关分子模式(Pathogen-Associated Molecular Patterns,PAMPs)&…

2026/7/29 19:18:31阅读更多 →
5分钟上手Pokio:PHP开发者必学的异步编程技巧

5分钟上手Pokio:PHP开发者必学的异步编程技巧

5分钟上手Pokio:PHP开发者必学的异步编程技巧 【免费下载链接】pokio Pokio is a dead simple Asynchronous API for PHP that just works. 项目地址: https://gitcode.com/gh_mirrors/po/pokio Pokio是一个极其简单的PHP异步编程API,让开发者能够…

2026/7/29 19:16:19阅读更多 →
3步掌握OpenArk:从系统安全分析到逆向工程实战指南

3步掌握OpenArk:从系统安全分析到逆向工程实战指南

3步掌握OpenArk:从系统安全分析到逆向工程实战指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 想象一下,你正在分析一个可疑的Windows进程…

2026/7/29 19:16:19阅读更多 →
终极指南:如何安全禁用Windows Defender防火墙保护

终极指南:如何安全禁用Windows Defender防火墙保护

终极指南:如何安全禁用Windows Defender防火墙保护 【免费下载链接】no-defender A slightly more fun way to disable windows defender firewall. (through the WSC api) 项目地址: https://gitcode.com/GitHub_Trending/no/no-defender 想要摆脱Windows …

2026/7/29 19:16:19阅读更多 →
gh_mirrors/angul/angular性能优化指南:让JSON表单加载速度提升3倍

gh_mirrors/angul/angular性能优化指南:让JSON表单加载速度提升3倍

gh_mirrors/angul/angular性能优化指南:让JSON表单加载速度提升3倍 【免费下载链接】angular JSON powered forms for Angular 项目地址: https://gitcode.com/gh_mirrors/angul/angular angul/angular是一个基于JSON驱动的Angular表单库,能够帮助…

2026/7/29 19:16:19阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/29 14:26:42阅读更多 →