Appearance
当前文档为数据回传微服务的接口文档。以下所有接口均支持mqtt和http。
所有消息体(请求和响应)均采用如下统一结构,下面所有接口的表格内容,均属于data部分:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| api | string | 是 | 具体的接口名 |
| type | string | 是 | request:调用方发的;response:响应给调用方的; |
| target | string | 是 | 目标站点 |
| from | string | 是 | 源站点 |
| pilot_id | string | 是 | 飞控编号 |
| message | json | 是 | 实际消息内容 |
| 以下是 message 的内容 | |||
| msgId | string | 否 | 当前指令的唯一标识 |
| id | string | 是 | 飞控编号,跟pilot_id一致 |
| data | json | 是 | 后面文档接口表格中的内容,没有表格的传空 |
| code | int | 否 | 请求不需要,返回的时候有:200成功,其它失败 |
| msg | string | 否 | 接口调用失败时的一些错误消息 |
MQTT
mqtt topic按照以下格式,其中clientId在主服务的配置文件中设置:
云平台:/joeap/data/FBE242B9-B226-4401-A340-36ABD4D753AD/"clientId"/cmd
星图:/joeap/data/C5E96E6B-8087-4F06-944F-025A84F27DE4/"clientId"/cmd
HTTP
http接口的url,按照以下格式,其中clientId在主服务的配置文件中设置。比如
http://127.0.0.1/index/api/data/"clientId"/getFileList
调用时序图

文件回传模块
概述
下载机载图片、视频等文件到本地,再上传这些文件到OSS(对象存储服务)。
fileType字段表
| fileType的值 | 描述 | 文件列表的获取路径 |
|---|---|---|
| all | 所有文件,目前只有获取文件列表时才可以使用 | / |
| image | 吊舱图片:返回文件路径 | /mnt/sdcard/VIDEO |
| image_sony | 索尼相机:返回目录路径 | /mnt/sdcard/cameras/sony |
| image_five | 五拼相机:返回目录路径 | /mnt/sdcard/five_cameras |
| video | 机载视频:返回文件路径 | /mnt/sdcard/VIDEO |
| lidar | 雷达数据:返回目录路径 | lidar1000:/ |
| ins | 惯导数据:返回文件路径 | /mnt/sdcard/jo_lidar |
| pos | 照片pos数据:返回文件名 | /mnt/sdcard/RAW_POS |
| rover | 机载rover数据:返回文件名 | /mnt/sdcard/ROVER |
| black_box | 黑匣子数据:返回文件名 | /mnt/sdcard/flight_log |
| pps_gcs1000 | 基站GCS1000 PPS数据 | 基站ip,eg:http://x.x.x. |
| dat | dat回放数据 | 在pilot微服务目录 |
设置配置
** setConfig**
请求方发送的内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| endpoint | string | 否 | oss服务器的IP和端口,比如127.0.0.1:6888 |
| userName | string | 否 | oss服务器的用户名,使用base64加解密 |
| passwd | string | 否 | oss服务器的密码,使用base64加解密 |
| bucketName | string | 否 | oss桶名称 |
| ftpIp | string | 否 | ftp ip |
| ftpPasswd | string | 否 | ftp 密码,使用base64加解密 |
| ftpUserName | string | 否 | ftp 用户名,使用base64加解密 |
获取配置
getConfig
被调用方返回的内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| endpoint | string | 否 | oss服务器的IP和端口,比如127.0.0.1:6888 |
| userName | string | 否 | oss服务器的用户名,使用base64加解密 |
| passwd | string | 否 | oss服务器的密码,使用base64加解密 |
| bucketName | string | 否 | oss桶名称 |
| ftpIp | string | 否 | ftp ip |
| ftpPasswd | string | 否 | ftp 密码,使用base64加解密 |
| ftpUsername | string | 否 | ftp 用户名,使用base64加解密 |
获取单个文件的数据流
getFileStream
请求方发的内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| filePath | string | 是 | pps数据的话,只需要文件名,其它需要文件绝对路径,获取文件列表时返回 |
| fileType | string | 是 | 数据类型(参考2.1.1) |
| taskId | string | 是 | 任务ID |
| downloadPath | string | 是 | 下载路径,参考2.1.1 |
返回内容:
| 字段 | 类型 | 描述 |
|---|---|---|
| filePath | string | 文件路径 |
| fileType | string | 数据类型 |
| taskId | String | 任务ID |
| stream | string | 文件流 |
回传数据到oss
noticeUploadFile
请求方发的内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| deleteFile | int | 否 | 数据回传完成后是否删除本地下载的文件:1删除,0不删,默认为0 |
| tryCount | int | 否 | 数据下载、回传失败时的重试次数,默认3次 |
| operType | int | 否 | 0下载和上传,1只下载机载文件到本地,2只上传文件 |
| fileType | string | 是 | 数据类型(参考2.1.1) |
| lidarType | int | 否 | 雷达类型,需要获取雷达数据时,必填该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6 |
| pathPrefix | string | 否 | 保存到oss的路径前缀,不包含桶名称 |
| taskId | string | 是 | 任务ID |
| downloadPath | string | 否 | 下载路径,如果不传或者传空,则默认使用2.1.1部分的路径 |
| filePathLists | array[json] | 是 | 数据的绝对路径所组成的数组:获取数据列表时返回 |
| filePathLists单个json的内容 | |||
| isFile | int | 否 | 1文件,0目录,默认是1 |
| path | string | 否 | 文件或目录的路径:根据获取文件列表时返回的数据;pps数据,只需要传文件名 |
返回内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| fileType | string | 是 | 数据类型(参考2.1.1) |
| lidarType | int | 否 | 雷达类型,需要获取雷达数据时,必填该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6 |
| taskId | string | 是 | 任务ID |
| count | int | 是 | 当次接口回传的数据数量 |
设置文件上传结果
setFileUploadResult
服务主动上报:每回传一个文件都会返回
| 字段 | 类型 | 描述 |
|---|---|---|
| isSucceed | int | 结果:0成功,1下载失败,2上传失败 |
| failedFilePath | string | 上传失败的文件的机载绝对路径 |
| taskId | string | 任务ID |
| url | string | 上传文件后返回的地址 |
| type | string | 文件类型(参考2.1.1) |
获取文件列表
getFileList
请求方发的内容:
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| fileType | string | 是 | 数据类型,参考2.1.1 |
| isFile | int | 是 | 1文件,0目录;如果"fileType"是"all"时,该值传1 |
| lidarType | int | 否 | 雷达类型,需要获取雷达数据时,必须传该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6 |
| taskId | string | 是 | 任务ID |
| downloadPath | string | 是 | 下载路径,参考2.1.1 |
返回内容:
| 字段 | 类型 | 描述 |
|---|---|---|
| fileType | string | 数据类型(参考2.1.1),请求参数 |
| lidarType | int | 非必填,雷达类型才会返回 |
| taskId | string | 任务ID |
| count | int | filePathLists的大小 |
| downloadPath | string | 下载路径,传的什么就返回什么 |
| filePathLists | array[json] | 返回参数 |
| filePathLists单个json内容 | ||
| filePath | string | 文件或目录的绝对路径 |
| fileName | string | 当获取pps数据时才会返回 |
| lastTime | string | 文件最近一次的修改时间 |
| fileSize | string | 文件大小,单位字节,只有是文件时才有 |
| isFile | int | 1文件,0目录 |
| fileTotal | int | 文件数量:当返回目录时,是每个目录内文件的数量 |
请求回传进度
getBackhaulProgress
| 字段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| progressVal | int | 是 | 回传进度值:0~100 |
| progressState | int | 是 | 当前数据回传处于哪个状态:0:当前不存在任务,1:下载数据,2:回传数据,3:回传完成 |
| fileType | string | 是 | 数据类型,参考2.1.1 |
| taskId | string | 是 | 任务ID |
备注:请求pc当前这一组数据(通知pc上传数据时所传的那些数据)的回传进度
主动上报数据回传当前状态
noticeBackhaulState
| 字段 | 类型 | 描述 |
|---|---|---|
| progressState | int | 当前数据回传处于哪个状态:1:下载数据,2:回传数据,3:回传完成 |
| fileType | string | 数据类型(参考2.1.1) |
| taskId | string | 任务ID,必填 |
备注:pc主动上报当前这一组数据(通知pc上传数据时所传的那些数据)的状态
删除机载数据
deleteBoardFile
| 字段 | 类型 | 描述 |
|---|---|---|
| filePathLists | array[string] | 机载文件或者目录的绝对路径 |
| fileType | string | 数据类型(参考2.1.1) |
| taskId | string | 必填,任务ID |

