5. MQTT 插件
MQTT 插件(plugins/mqtt/)与 §4 gRPC 并行:机载 MqttBridge 为 libmosquitto 客户端,经 Eclipse Mosquitto Broker 与场外 Pub/Sub 通信,语义对齐 §3 RPC。当前为空壳。
编号约定:本页 §5.1–§5.6 为插件总览;
mqtt/01_*–06_*为 Mosquitto 专题(子页 H2 为{文件前缀}.x,如02→## 2.1)。文档地图见 00_guide §0.1。
5.1 组件
路径 |
职责 |
|---|---|
|
|
|
按 |
|
|
维度 |
gRPC |
MQTT |
|---|---|---|
Autonomy 角色 |
Server |
Client(连 Broker) |
模式 |
RPC + Stream |
Pub/Sub |
防火墙 |
开放 Bridge 端口 |
机载出站连 Broker |
5.2 架构
App ──PUBLISH cmd──► Mosquitto Broker ◄──SUB cmd/#── MqttBridge ──► Navigator
App ◄──SUB state──── Broker ◄──PUB state──── MqttBridge
Broker 独立部署(Bridge 不内嵌);角色划分见 mqtt/01 §1.3。
5.3 Topic
Topic 摘要(完整见 mqtt/04):
Topic |
对应 gRPC |
QoS |
|---|---|---|
|
|
1 |
|
|
1 |
|
|
0 |
|
|
1 |
|
Command Stream 响应 |
1 |
5.4 配置与状态
mqtt = { host = "127.0.0.1", port = 1883 } -- Broker 地址,非 gRPC 5005
组件 |
状态 |
|---|---|
|
❌ 空壳 / 未接线 |
专题文档 |
✅ mqtt/ |
实现明细:grpc/07 §7.1 · 路线图:mqtt/05 §5.7。
5.5 Mosquitto 专题
文件 |
内容 |
|---|---|
MQTT 协议、Mosquitto 组件、Bridge 角色 |
|
Broker 安装、配置、ACL、TLS |
|
libmosquitto API、 |
|
Topic 命名、MQTT↔RPC、JSON 载荷 |
|
|
|
Mosquitto 官方资源 |
|
|
5.6 快速联调
mosquitto_sub -h 127.0.0.1 -p 1883 -t 'autonomy/robot_01/state/robot' -v
mosquitto_pub -h 127.0.0.1 -p 1883 -t 'autonomy/robot_01/cmd/navigation' -q 1 \
-m '{"header":{"cmd_id":"t1"},"command":"NAV_CMD_STOP"}'
Broker 与 ACL:mqtt/02 · 载荷示例:mqtt/04 §4.3。
导航:← §4 gRPC · mqtt/ 专题 → · §6 综述 →