5. MQTT 插件

MQTT 插件(plugins/mqtt/)与 §4 gRPC 并行:机载 MqttBridgelibmosquitto 客户端,经 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 组件

路径

职责

plugins/mqtt/mqtt_bridge.*

MqttBridge 生命周期、SUB/PUB(规划中)

bridge_server.*

use_mqtt 构造 / 启动插件(待接线)

proto/bridge_options.proto

MqttOptionshostport

维度

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

cmd/navigationcmd/map

Send*Command

1

cmd/emergency_stop

EmergencyStop

1

state/robot

ReceiveBotStates

0

event

ReceiveBotEvents

1

ack/{cmd_id}

Command Stream 响应

1

5.4 配置与状态

mqtt = { host = "127.0.0.1", port = 1883 }  -- Broker 地址,非 gRPC 5005

组件

状态

MqttBridge / BridgeServer 调度

❌ 空壳 / 未接线

专题文档

mqtt/

实现明细:grpc/07 §7.1 · 路线图:mqtt/05 §5.7

5.5 Mosquitto 专题

文件

内容

mqtt/01

MQTT 协议、Mosquitto 组件、Bridge 角色

mqtt/02

Broker 安装、配置、ACL、TLS

mqtt/03

libmosquitto API、MqttBridge 封装

mqtt/04

Topic 命名、MQTT↔RPC、JSON 载荷

mqtt/05

BridgeServer 集成、双栈共存

mqtt/06

Mosquitto 官方资源

rpcs/05 §5.3

RobotState / RobotEvent 字段

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 综述 →