Spiga

2026年4月的文章归档

通信协议:MQTT

2026-04-04 13:00:10

摘要:一、MQTT通信 1. 工业互联数据交换协议 HTTP:短连接 长连接 CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。 MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由 IBM 开发的即时通讯协议。 DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务。 AMQP(Advanced Message Queuing Protocol),先进消息队列协议 RabbitMQ XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议 XML JMS (Java Message Service),即消息服务,这是JAVA平台中著名的消息队列协议 2. MQTT 一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 极少的数据完成远程通信 核心内容: MQTT定义:轻量级发布/订阅消息协议,适用于低带宽、高延迟网络。 核心特点:低开销、异步通信、支持QoS(0/1/2)。 适用场景:物联网设备通信、工业设备监控(如MES中的设备状态上报)。 通信过程 服务端/Broker 客户端(App/Device) 通信概念:登录注册(Client ID)、订阅、主题、负载、发布、消息、服务质量 通信细节: 基于TCP协议的应用层协议 固定报头 可变报头 载荷内容 3. 固定报头 如:0010 0100 消息类型(第一个字节的高4位) 标志位(第一个字节的低4位) 消息长度:长度扩展,最大长度256M数据 4. 可变报头 连接标志 报文标识符(2字节) ,发布、订阅、取消订阅 5. 通信载荷 6. MQTT主题过滤 主题层级分隔符:“/”,用于将结构化引入主题名 A套/客厅/电视、A套/客厅/空调 通配符: “#”、“+”、“$”,作用:订阅的主题过滤器可以包含特殊的通配符,允许你一次订阅多个主题。 种类: # 当前节点下的所有节点,包括父级 例:A/# 包括A、A/B、A/B/C …… 阅读全文