Mosquitto

§5 MQTT 总览 · 本专题 mqtt/01(H2 1.x)。文档地图见 00_guide §0.1

1.1 MQTT 协议

MQTT(Message Queuing Telemetry Transport)是面向 IoT 的轻量 Pub/Sub 协议,由 Broker 中转消息,客户端无需彼此直连。

维度

说明

模式

发布 / 订阅(Publish-Subscribe)

传输

通常 TCP;TLS 加密为 MQTTS

载荷

二进制或文本(Bridge 规划 JSON / Protobuf)

QoS

0(至多一次)、1(至少一次)、2(恰好一次)

标准

MQTT 3.1.1 · MQTT 5.0

与 gRPC 对比见 §5.1

1.2 Eclipse Mosquitto

Eclipse Mosquitto 是 Eclipse 基金会下的开源 MQTT Broker(EPL/EDL),实现 MQTT 5.0 / 3.1.1 / 3.1。Autonomy 选用其 libmosquitto 客户端库与文档体系作为 Bridge MQTT 插件的参考实现;Broker 本身可替换为 EMQX、HiveMQ、AWS IoT Core 等协议兼容产品。

组件

路径 / 工具

Bridge 用途

Broker

mosquitto 守护进程

场外 / 边缘消息中枢;Bridge 不内嵌 Broker

C 客户端库

libmosquitto

MqttBridge 首选依赖(订阅 cmd、发布 state)

CLI 工具

mosquitto_pub / mosquitto_sub

联调、CI 冒烟

配置

mosquitto.conf

Listener、认证、TLS、持久化

源码:github.com/eclipse-mosquitto/mosquitto

1.3 Bridge 角色

┌─────────────────┐     PUBLISH cmd      ┌──────────────────┐     SUBSCRIBE cmd
│ 移动端 / 调度    │ ──────────────────► │  Mosquitto Broker │ ◄───────────────── MqttBridge
│ (MQTT Client)   │ ◄────────────────── │  (独立进程)        │ ─────────────────► PUBLISH state
└─────────────────┘     SUBSCRIBE state └──────────────────┘
                                              ▲
                                              │ TCP :1883 / :8883
                                              │
                                    autonomy/bridge/plugins/mqtt
                                    (libmosquitto 客户端,规划中)

角色

进程

说明

MQTT Broker

mosquitto

消息路由、QoS、会话、ACL

场外客户端

App / 云平台

发布导航指令、订阅机器人状态

MqttBridge

Autonomy 机载

订阅指令 Topic → FSM → Navigator;发布状态 Topic

MQTT 层只负责传输;业务语义与 §3 RPC 共享同一 FSM(见 mqtt/05 Bridge 集成)。实现状态见 grpc/07 §7.1


导航← §5 总览 · 02 Broker 部署 →