Appearance
1 前言
当前文档既为任务回放微服务的协议文档,也为任务回放微服务的接口文档。
所有消息体(请求或响应)均采用,统一结构如下,以下所有接口的协议表格内容,均属于data部分:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| msgId | string | 否 | 当前指令的唯一标识 |
| data | json | 否 | 数据 |
| code | int | 是 | 0成功,其它失败 |
| msg | string | 是 | 接口调用失败时的一些错误消息 |
1.1 mqtt
mqtt 请求url为“/joeap/mrp/”,以下所有消息topic前面都要加上。比如配置的请求接口:/joeap/mrp/mrpGetReplayData
1.2 http
http接口的url均为“/joeap/mrp/”,以下所有消息topic前面都要加上。比如配置的请求接口:http://127.0.0.1/joeap/mrp/mrpGetReplayData
1.3 调用示意图

2 接口协议
2.1 设置微服务的配置
接口名称:setConfig
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.2 获取微服务的配置
接口名称:setConfig
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.3 设置任务回放路径
接口名称:mrpSetRPFileDir
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.4 获取任务回放路径
接口名称:mrpGetRPFileDir
请求内容:无参数
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.5 写入操作记录
接口名称:mrpAddRPRecord
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | 任务guid | |
| topic | 是 | 记录数据的topic名字 (/index/api/mrp/mrpOpenReplay) | |
| record | 是 | ||
| type | 是 | 飞行记录数据类型 (无人机控制:“pcservice” 载荷控制:“payloadservice”, 任务规划:“missionservice”, 流媒体:“mediaservice”) | |
| time_stamp | 是 | 时间戳 |
其中jsonObject的主要内容为
| 序号 | 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.6 读取操作记录
接口名称:mrpGetRPRecords
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| data | 否 | 当前指令的唯一标识 |
请求示例:
json
{
"secret": "035c73f7-bb6b-4889-a715-d9eb2d1925ee",
"path": "D:/code/jocpl-rcmsn/jomissionrpservice/bld/src/service/rpfile/23545235445.txt",
"filter": { "time": { "timestamp": 1726295914008, "threshold": 16 } }
}其中表示以时间来查询,可查询某个时间戳多少±ms内的记录。如上表示查询1726295914008时刻,前16ms和后16ms这个时间段的所有记录数据。
返回json示例:
json
{
"code": 0,
"data": {
"records": [
"{\"plan_id\":\"23545235445\",\"record\":{\"data\":{\"timestamp\":1726295914008}},\"time_stamp\":1726295914008,\"topic\":\"/index/pushTelemetry\",\"type\":\"pcservice\"}"
]
},
"msg": "success"
}2.7 打开数据回放
接口名称:mrpOpenReplay
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | 任务guid | |
备注:当有视频流数据时,通过webrtc的视频流通道和datachanel通道;
没有视频时,则通过mqtt协议发送回放数据;
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
接口名称:mrpGetReplayData
请求内容:无
返回内容:
| 字段名称 | 类型 | 必填 | 描述 | ||
|---|---|---|---|---|---|
| plan_id | 是 | 任务guid | |||
| topic | 是 | 记录数据的topic名字 (/index/api/mrp/mrpOpenReplay) | |||
| record | 是 | ||||
| type | 是 | 飞行记录数据类型 (无人机控制:“pcservice” 载荷控制:“payloadservice”, 任务规划:“missionservice”, 流媒体:“mediaservice”) | |||
| time_stamp | 是 | 时间戳 |
其中record为各个微服务完整的操作接口记录数据。
如对于遥测接口的获取的记录:其中type可以区分是哪个微服务发送的接口。
2.9 暂停数据回放
接口名称:mrpPauseReplay
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | 任务guid | |
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.10 停止回放
接口名称:mrpStopReplay
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 |
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.11 获取回放当前位置
接口名称:mrpGetRPFilePos
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 |
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | ||
2.12 设置回放位置
接口名称:mrpSetRPFilePos
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | ||
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.13 获取回放速率
接口名称:mrpGetRPSpeed
请求内容:
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 |
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | ||
2.14 设置回放速率
接口名称:mrpSetRPSpeed
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | ||
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
2.15 获取回放任务的信息
接口名称:mrpGetPlanInfo
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 |
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| plan_id | 是 | 任务guid | |
2.16 获取回放任务的列表
接口名称:mrpGetPlanList
请求内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
返回内容:
| 字段名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
其中data中的json数据格式如下,为一个数组,返回已经打开回放任务的基本数据。
json
{
"code": 0,
"data": [
{
"file_path": "E:/code/rpfile/test/235452354.txt",
"plan_id": "235452354",
"pull_url": "E:/project/test.mp4",
"push_url": "webrtc://127.0.0.1:3456/test/mrp"
}
]
}
