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(恰好一次) |
标准 |
与 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 |
|
场外 / 边缘消息中枢;Bridge 不内嵌 Broker |
C 客户端库 |
|
|
CLI 工具 |
|
联调、CI 冒烟 |
配置 |
|
Listener、认证、TLS、持久化 |
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 |
|
消息路由、QoS、会话、ACL |
场外客户端 |
App / 云平台 |
发布导航指令、订阅机器人状态 |
|
Autonomy 机载 |
订阅指令 Topic → FSM → Navigator;发布状态 Topic |
MQTT 层只负责传输;业务语义与 §3 RPC 共享同一 FSM(见 mqtt/05 Bridge 集成)。实现状态见 grpc/07 §7.1。
导航:← §5 总览 · 02 Broker 部署 →