222 lines
8.1 KiB
Markdown
222 lines
8.1 KiB
Markdown
# 机场和无人车数据接口对接要求
|
||
|
||
## 第1章 位置数据接口
|
||
|
||
### 1.1 登录认证
|
||
|
||
1. 登录接口:<http://IP:端口/login>
|
||
2. 请求方式:post
|
||
3. 参数:username、password
|
||
4. 示例:<http://127.0.0.1:8080/login?username=XXXX&password=XXXX>
|
||
5、返回值 data 为返回的鉴权token,后续接口需要再header中携带,data所有的数据是一个token,不要截断
|
||
示例:{
|
||
"status": 200,
|
||
"msg": "登入成功",
|
||
"data": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MzI3ODMwOTAsInVzZXJuYW1lIjoiYWRtaW4ifQ.y9feEL_9NT8UzED9NNkb0Ln6C-PBoufiSHWobWe5vWY"
|
||
}
|
||
|
||
### 1.2 航空器位置数据接入
|
||
|
||
数据来源:接入并转发从空管接收到的融合数据
|
||
|
||
1. 接口地址:<http://IP:端口/openApi/getCurrentFlightPositions>
|
||
|
||
2. 请求方式:get,需要在 Header 中携带认证信息,字段名为 Authorization,值为认证接口返回的token
|
||
|
||
3. 返回格式:以 JSON 格式返回数据,一次请求返回List集合对象
|
||
|
||
4. 数据结构:
|
||
|
||
| 序号 | 字段 | 描述 | 字段类型 | 是否必填 |
|
||
|-----|------|------|----------|----------|
|
||
| 1 | flightNo | 航班号 | String | 是 |
|
||
| 2 | longitude | 经度 | double | 是 |
|
||
| 3 | latitude | 纬度 | double | 是 |
|
||
| 4 | time | 时间戳(UTC 时间) | long | 是 |
|
||
|
||
### 1.3 车辆位置数据接入
|
||
|
||
数据来源:仅传递目前机场已接入的车辆位置数据
|
||
|
||
1. 接口地址:<http://IP:端口/openApi/getCurrentVehiclePositions>
|
||
|
||
2. 请求方式:get,需要在 Header 中携带认证信息,字段名为 Authorization,值为认证接口返回的token
|
||
|
||
3. 返回格式:以 JSON 格式返回数据,一次请求返回List集合对象
|
||
|
||
4. 数据结构:
|
||
|
||
| 序号 | 字段 | 描述 | 字段类型 | 是否必填 |
|
||
|-----|------|------|----------|----------|
|
||
| 1 | vehicleNo | 车牌号 | String | 是 |
|
||
| 2 | longitude | 经度 | double | 是 |
|
||
| 3 | latitude | 纬度 | double | 是 |
|
||
| 4 | time | 时间戳 | long | 是 |
|
||
|
||
## 第2章 无人车控制接口
|
||
|
||
### 2.1 无人车控制指令
|
||
|
||
2.1.1 接口地址: <http://127.0.0.1:31140/api/VehicleCommandInfo>
|
||
|
||
2.1.2 请求方法:POST
|
||
|
||
2.1.3 请求参数:
|
||
|
||
| 字段名称 | 类型 | 是否必填 | 说明 |
|
||
|---------|------|----------|------|
|
||
| transId | string | 是 | 消息唯一 id,消息的唯一标识符 |
|
||
| timestamp | long | 是 | 时间戳 |
|
||
| vehicleID | string | 是 | 车辆 ID |
|
||
| commandType | string | 是 | 指令类型:ALERT:告警指令,SIGNAL:信号灯指令,WARNING:预警指令,RESUME:恢复指令 |
|
||
| commandReason | string | 是 | 指令原因:TRAFFIC_LIGHT:红绿灯控制,AIRCRAFT_CROSSING:航空器交叉,SPECIAL_VEHICLE:特勤车辆,AIRCRAFT_PUSH:航空器推出,RESUME_TRAFFIC:恢复通行 |
|
||
| signalState | string | 否 | 信号灯状态(仅当 commandType 为 SIGNAL 时有效)RED:红灯,GREEN:绿灯,YELLOW:黄灯 |
|
||
| intersectionId | string | 否 | 路口 ID(仅当 commandType 为 SIGNAL 时有效) |
|
||
| latitude | double | 是 | 目标位置纬度(路口/航空器/特勤车) |
|
||
| longitude | double | 是 | 目标位置经度(路口/航空器/特勤车) |
|
||
| relativeSpeed | double | 否 | 相对速度(仅当 commandType 为 ALERT/WARNING 时有效) |
|
||
| relativeMotionX | double | 否 | 相对运动 X 分量(仅当 commandType 为 ALERT/WARNING 时有效) |
|
||
| relativeMotionY | double | 否 | 相对运动 Y 分量(仅当 commandType 为 ALERT/WARNING 时有效) |
|
||
| minDistance | double | 否 | 最小距离(仅当 commandType 为 ALERT/WARNING 时有效) |
|
||
|
||
示例:
|
||
|
||
requestData:
|
||
{
|
||
"messageUniqueId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
|
||
"timestamp": 1736175610000,
|
||
"vehicleID": "A001",
|
||
"commandType": "SIGNAL",
|
||
"commandReason": "TRAFFIC_LIGHT",
|
||
"signalState":"RED",
|
||
"intersectionId":"002",
|
||
"latitude": 343.23,
|
||
"longitude": 343.23,
|
||
"relativeSpeed": 3,
|
||
"relativeMotionX": 2002.12,
|
||
"relativeMotionY":100.12,
|
||
"minDistance":10.5
|
||
}
|
||
|
||
返回值:
|
||
|
||
| 字段名 | 类型 | 是否必须 | 描述 |
|
||
|---------|------|----------|------|
|
||
| transId | string | 是 | 消息唯一id,消息的唯一标识符与请求id一致 |
|
||
| timestamp | long | 是 | 时间戳 |
|
||
| code | int | 是 | 接口返回的状态码:200 请求成功:400 请求失败,并在msg内返回原因 |
|
||
| msg | string | 是 | 接口成功/失败的原因或者附加提示信息 |
|
||
|
||
示例:
|
||
|
||
responseData:
|
||
{
|
||
"code": 200,
|
||
"msg": "success",
|
||
"transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
|
||
"timestamp": 1736175610
|
||
}
|
||
|
||
### 2.2 无人车位置上报
|
||
|
||
1. 接口地址: <http://127.0.0.1:31140/api/VehicleLocationInfo>
|
||
|
||
2. 请求方法:GET
|
||
|
||
3. 返回值(以 List 数据返回,一次请求返回集合对象):
|
||
|
||
| 字段名称 | 类型 | 是否必填 | 说明 |
|
||
|---------|------|----------|------|
|
||
| transId | string | 是 | 消息唯一 id,消息的唯一标识符 |
|
||
| timestamp | long | 是 | 时间戳(UTC 时间,单位:毫秒) |
|
||
| vehicleID | string | 是 | 车辆 ID |
|
||
| latitude | double | 是 | 纬度 |
|
||
| longitude | double | 是 | 经度 |
|
||
| speed | double | 是 | 速度(单位:m/s) |
|
||
| direction | double | 是 | 车头航向角,正东为 0 度(弧度) |
|
||
|
||
示例:
|
||
|
||
requestData:
|
||
[
|
||
{
|
||
"transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
|
||
"timestamp": 1736175610000,
|
||
"vehicleID": "AT001",
|
||
"latitude": 123.112,
|
||
"longitude": 78.331,
|
||
"speed": 3.2,
|
||
"direction": 1.57
|
||
}
|
||
]
|
||
|
||
### 2.3 无人车状态上报
|
||
|
||
1. 接口地址: <http://127.0.0.1:31140/api/VehicleStateInfo>
|
||
|
||
2. 请求方法:POST
|
||
|
||
3. 请求参数:
|
||
|
||
| 字段名称 | 类型 | 是否必填 | 说明 |
|
||
|---------|------|----------|------|
|
||
| transId | string | 是 | 消息唯一 id,消息的唯一标识符 |
|
||
| timestamp | long | 是 | 时间戳(UTC 时间,单位:毫秒) |
|
||
| vehicleID | string | 是 | 车辆 ID |
|
||
| isSingle | boolean | 是 | True:单个车辆,False:所有车辆 |
|
||
|
||
示例:
|
||
|
||
requestData:
|
||
{
|
||
"transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
|
||
"timestamp": 1736175610000,
|
||
"vehicleID": "AT001",
|
||
"isSingle": true
|
||
}
|
||
|
||
4. 返回值(以 List 数据返回,一次请求返回集合对象):
|
||
|
||
| 字段名称 | 类型 | 是否必填 | 说明 |
|
||
|---------|------|----------|------|
|
||
| transId | string | 是 | 消息唯一 id,消息的唯一标识符 |
|
||
| timestamp | long | 是 | 时间戳(UTC 时间,单位:毫秒) |
|
||
| vehicleID | string | 是 | 车辆 ID |
|
||
| loginState | boolean | 是 | 登录状态:True:登录,False:未登录 |
|
||
| faultInfo | list | 是 | 故障信息,以列表返回,可能存在多个 |
|
||
| activeSafety | boolean | 是 | 车辆最小风险策略触发(主动安全):True:触发,False:未触发 |
|
||
| RC | boolean | 是 | 被接管或干预相关信息,是否被远控RemoteControl,True:车辆在遥控器远控模式,False:车辆处于自动驾驶模式 |
|
||
| Command | int | 是 | 接收的远程指令信息,0:恢复,1:急停,2:缓停 |
|
||
| airportInfo | list | 否 | 机场特殊要求的其他信息 |
|
||
| vehicleMode | int | 是 | 无人设备控制模式(底盘控制模式),1:手动(司机驾驶),2:自动,3:遥控器,4:远程,5:故障等待 |
|
||
| gearState | int | 是 | 车辆当前档位,1:N,2:D,3:P,4:R, 5: 未知 |
|
||
| chassisReady | boolean | 是 | 底盘是否准备就绪,True:车辆发控制指令就可以走,false: 其他 |
|
||
| collisionStatus | boolean | 否 | 防撞梁是否触发,true:触发,false:未触发 |
|
||
| clearance | int | 是 | 0:关闭,1:开启(示廓灯) |
|
||
| turnSignalStstus | int | 是 | 转向灯状态,0:off , 1 : trun left , 2 : trun right, 3: 双闪 |
|
||
| pointCloud | list | 否 | 点云数据字节流,每个点的长度,现在是12,每个坐标为float,长度4|
|
||
|
||
示例:
|
||
|
||
responseData:
|
||
[
|
||
{
|
||
"transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
|
||
"timestamp": 1736175610000,
|
||
"vehicleID": "AT001",
|
||
"loginStatus":true,
|
||
"faultInfo":[],
|
||
"activeSafety":false,
|
||
"RC":false,
|
||
"Command":0,
|
||
"airportInfo":[],
|
||
"vehicleMode": 2,
|
||
"gearState": 2,
|
||
"chassisRaedy":true,
|
||
"collisionStatus":false,
|
||
"clearance":0,
|
||
"turnSignalStstus":0,
|
||
"pointCloud":[]
|
||
}
|
||
]
|