QDAirPortBackend0122/VehicleCommandInfo接口文档.md
shan c66b290677 重构红绿灯数据采集方式从TCP改为MQTT并优化WebSocket车辆控制指令
- 禁用TCP红绿灯服务器,改用MQTT订阅获取信号状态
- 新增MqttConfig配置类和TrafficLightMqttSubscriber订阅器
- 重构VehicleCommandInfoWebSocketHandler,根据红绿灯信号实时发送车辆控制指令
- 添加Eclipse Paho MQTT客户端依赖
- 新增接口文档和MQTT核心代码总结文档
- 添加WebSocket测试页面
2026-01-27 17:01:22 +08:00

55 lines
1.6 KiB
Markdown

# 车辆控制指令 WebSocket 接口文档
## 接口概述
- **接口名称**: VehicleCommandInfo
- **协议**: WebSocket
- **连接地址**: `ws://ip:8080/VehicleCommandInfo`
- **说明**: 客户端连接后,服务端会根据红绿灯信号状态自动向所有连接的客户端推送车辆控制指令
## 消息格式
### 服务端 → 客户端(推送车辆控制指令)
**JSON 格式**:
```json
{
"messageUniqueId": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": 1737979200000,
"vehicleID": "AET01",
"commandType": "SIGNAL",
"commandReason": "TRAFFIC_LIGHT",
"signalState": "GREEN",
"intersectionId": "002",
"latitude": 343.23,
"longitude": 343.23,
"relativeSpeed": 3,
"relativeMotionX": 2002.12,
"relativeMotionY": 100.12,
"minDistance": 10.5
}
```
### 字段说明
| 字段名 | 类型 | 说明 | 示例值 |
|--------|------|------|--------|
| `messageUniqueId` | String | 消息唯一标识符 | "550e8400-e29b-41d4-a716-446655440000" |
| `timestamp` | Long | 时间戳(毫秒) | 1737979200000 |
| `vehicleID` | String | 车辆ID | "AET01" |
| `commandType` | String | 指令类型 | "SIGNAL" |
| `commandReason` | String | 指令原因 | "TRAFFIC_LIGHT" |
| `signalState` | String | 信号状态 | "GREEN" 或 "RED" |
| `intersectionId` | String | 交叉口ID | "002" |
| `latitude` | Double | 纬度 | 343.23 |
| `longitude` | Double | 经度 | 343.23 |
| `relativeSpeed` | Integer | 相对速度 | 3 |
| `relativeMotionX` | Double | 相对运动X方向 | 2002.12 |
| `relativeMotionY` | Double | 相对运动Y方向 | 100.12 |
| `minDistance` | Double | 最小距离 | 10.5 |