# integrateMQTT

## 规则（Rules）

# MQTT协议联调 - 规范

## 1. MQTT核心概念
- 通信模式：发布-订阅（异步）
- 寻址方式：Topic（主题）
- 消息质量：QoS 0/1/2
- 适用场景：物联网、实时通信

## 2. Topic设计规范
```
设备上报：   /devices/{device_id}/upload
指令下发：   /devices/{device_id}/command
状态上报：   /devices/{device_id}/status
心跳：       /devices/{device_id}/heartbeat
```

## 3. 联调规范
- 禁止直接修改设备端固件代码来适配服务端格式（必须通过转换层处理）
- 禁止使用不匹配的通配符（`+`匹配单层，`#`匹配多层）
- 禁止忽略QoS等级差异

## 方法（Methods）

# MQTT协议联调 - 方法

## 流程概览
```
阅读MQTT协议文档 → 检查Topic设计 → 检查消息格式 → 编写数据转换 → 逐Topic验证 → 修复问题
```

## 步骤1：阅读MQTT协议文档
提取Broker地址、Topic定义、消息Payload格式、QoS等级。

## 步骤2：检查Topic设计与订阅
检查发布方和订阅方的Topic是否匹配，通配符使用是否正确。

## 步骤3：检查消息格式
检查Payload格式、字段名、数据类型、嵌套结构、QoS等级。

## 步骤4：编写数据转换协议
JSON字段映射转换、二进制数据解析、枚举值映射。

## 步骤5：逐Topic验证
发布验证→订阅验证→数据转换验证→异常验证。

## 步骤6：修复问题
分类处理Topic不匹配、格式错误、QoS不匹配、编码问题。

## 技巧（Tips）

# MQTT协议联调 - 技巧

## 1. 统一消息信封
设计统一的消息格式，包含消息类型、时间戳等元数据，便于路由和追踪。

## 2. 心跳保活
合理设置心跳间隔和超时时间，确保长连接稳定。

## 3. 数据转换层
将数据转换逻辑独立封装，便于维护和测试。
