物联网IoT系列之MQTT协议基础知识
创作时间:
作者:
@小白创作中心
物联网IoT系列之MQTT协议基础知识
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2503087
物联网(IoT)是一个由互联网、传统电信网、传感器网络等组成的庞大网络,它通过嵌入式传感器、设备和软件,将物理世界中的物体连接起来,实现物与物、物与人、物与网络之间的智能化交互。简单来说,物联网就是让“万物互联”,让设备能够自主地感知、传输和处理数据,从而为人类生活和工业生产带来更高的效率和便利。
什么是MQTT?
MQTT(Message Quelemetry Transport)是一种轻量级的、基于发布订阅模式的网络传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网环境中应用广泛,能够实现传感器、执行器和其他设备之间的高效通信。
为什么说MQTT是适用于物联网的协议?
- 轻量级设计:MQTT协议头部最小仅2字节,网络传输开销极小,适合在窄带网络(如NB-IoT)中使用。
- 低功耗:使用异步传输机制和较小的数据包传输,使得设备在通信过程中的能耗更低。
- 高可靠性:提供3种QoS级别(0/1/2),确保消息必达。
- 灵活扩展:通过主题(Topic)和通配符机制,设备可以灵活订阅和发布消息,支持大规模设备接入。
- 适应不稳定网络:心跳机制和会话恢复功能,确保设备在断网后能够快速恢复连接并获取未读消息。
MQTT工作原理
核心组件
- 发布者(Publisher):将消息发布到指定的主题(Topic),例如温度传感器、智能开关等。
- 消息代理(Broker):作为中间节点,负责接收发布者的消息并转发给订阅者,例如EMQX、Mosquitto、AWS IoT等。
- 订阅者(Subscriber):订阅特定Topic的消息,例如手机App、云端控制台等。
核心机制
Topic通配符
示例:
home/floor1/#,订阅floor1下所有子主题的消息。QoS机制
QoS是MQTT中用于控制信息传输质量的机制,MQTT定义了三种不同的QoS等级:QoS 0、QoS 1和QoS 2。
QoS等级 | 传输过程 | 适用场景 |
|---|---|---|
0 | 最多发送一次(无需确认) | 实时性高但允许丢失数据的场景 |
1 | 至少一次(Broker确认) | 设备控制指令 |
2 | 精确一次(四次握手确保唯一性) | 支付、安全告警 |
MQTT工作流程
建立连接
客户端向Broker发送CONNECT报文,包含客户端ID、用户名和密码等认证信息。Broker验证后返回CONNACK报文,表示连接成功。发布和订阅
- 发布:发布者将消息通过
PUBLISH报文发送到Broker指定的主题(Topic),Broker根据订阅关系将消息发送给指定的订阅者。 - 订阅:订阅者发送
SUBSCRIBE报文,指定要订阅的主题(Topic)和QoS级别。
- 消息确认
根据QoS级别,消息可能需要确认:
- QoS 0:消息“最多发送一次”,无需确认。
- QoS 1:消息“至少发送一次”,需要确认。
- QoS 2:消息“仅发送一次”,需要复杂的确认流程。
- 断开连接
客户端发送DISCONNECT报文,通知Broker主动断开连接。
MQTT在物联网中的应用
MQTT广泛应用于设备监控、车联网、智能家居等领域。例如:
- 工业设备监控:通过MQTT实现设备状态的实时传输。
- 智慧城市:用于环境传感器实时传输温度、湿度等数据。
- 智能家居:通过MQTT连接智能设备,实现远程控制和自动化管理。
热门推荐
慢性腹泻的治疗方法及食疗原则
医生指出:确诊胆囊炎,这3件事别再做,4个后果你承受不起
在Windows中连接到Wi-Fi网络
起始胰岛素治疗,需要掌握 3 个关键问题
《人工智能》中的机器:是冷漠执行者还是具有情感的存在?
如何提高织物的干燥速度?
科普|海蓝宝石vs蓝色托帕石,应该如何区分?
深空探测计划最新剧透:天问二号、三号、四号都安排上了!
十年密封矿泉水居然还能喝?
聚焦赵无极与法国的大展:跨越50多年的诗画合作
外国人名字里这些后缀都是啥意思?Jr、Sr、II...
阳江旅游攻略:全方位行程规划与必游景点推荐
大型语言模型遇上自然语言处理:综述
益生菌可以止泻吗?科学与实践的结合解析
百老汇的女主角们:当前百老汇剧目中女性角色分析
如何正确储存西红柿——保鲜大法剖析(学会这些技巧,轻松延长西红柿的寿命!)
梁羽生35部作品中,排名前10的经典作品,《萍踪侠影录》难进前5
梁羽生武侠小说全解析:历史厚重感与文人气质的完美融合
社群营销如何成为独立游戏的王牌?
宝宝睡眠环境的选择与调整
避开租房陷阱,教你如何在福州找到满意的房子
影响骨骼发育的抗生素 儿童常服抗生素会影响发育
汽车玻璃质量要求越来越高,光学检测成为必然趋势
保险追偿知识详解
京都站,通往古都的大门!不可错过的当地美食和景点!
心脏神经官能症怎么能检查出来的呀
历史上名字取得最好的30个人,念一下都好美
Dev-C++中C语言程序的逐步调试指南
大连化物所研发“焚烧烟气源头端多污染物协同减排技术”,实现生活垃圾焚烧超低排放
生活垃圾焚烧发电厂废气处理案例|生活垃圾焚烧废气怎么处理方法