Skip to content

1. 前言

所有消息体均采用json格式,结构如下:

字段类型备注
msgIdstring当前指令的唯一标识,非必填
typestringrequest 代表该服务接收的 response 代表该服务返回的
datajson请求或者响应数据
codeintMQTT:200成功;400 失败; HTTP: 0 成功 -1 业务代码执行失败 -2 未成功连接飞控 -300 参数不合法 -400 代码抛异常
msgstring接口调用失败时的一些错误消息
idstring飞控编号

1.1. MQTT

plain
      mqtt clientId使用"jopc-站点唯一标识", 以下所有消息topic前面都要加上"/jopc-站点唯一标识"; 比如获取文件列表:"/jopc-站点唯一标识/getFileList"。

如果站点编号为空,则为"/jopc/getFileList"。

1.2. HTTP

plain
     http接口的uri,均为"/index/api/data/站点唯一标识/",以下所有消息topic前面都要加上。比如获取文件列表的请求接口:http://127.0.0.1/index/api/data/站点唯一标识/getFileList;如果站点编号为空,则为"http://127.0.0.1/index/api/data/getFileList"。

2. 文件回传模块

2.1. 概述

plain
       下载机载图片、视频等文件到本地,再上传这些文件到OSS(对象存储服务)。

2.1.1. fileType字段表

以下mqtt接口的fileType字段的值

值(全大写或者全小写)描述文件列表的获取路径
image吊舱图片:返回文件路径NX:/mnt/sdcard/VIDEO
image_sony索尼相机:返回目录路径根据实际挂载的路径
image_five五拼相机:返回目录路径根据实际挂载的路径
video机载视频:返回文件路径NX:/mnt/sdcard/VIDEO
lidar雷达数据:返回目录路径lidar1000:/
ins惯导数据:返回文件路径/mnt/sdcard/jo_lidar
pos照片pos数据:返回文件名二代飞控:http服务ip,端口(默认是9800),默认是飞控的ip,eg:http://10.0.0.1:9800
一代飞控
rover机载rover数据:返回文件名二代飞控http服务ip,端口(默认是9800),默认是飞控的ip,eg:http://10.0.0.1:9800
一代飞控:串口
black_box黑匣子数据:返回文件名二代飞控http服务ip,端口(默认是9800),默认是飞控的ip,eg:http://10.0.0.1:9800
一代飞控:串口
pps_gcs1000基站GCS1000 PPS数据基站ip,eg:http://x.x.x.
datdat回放数据

2.2. 数据回传配置

主题:backhaulCfg

请求内容

字段类型是否必填描述
endpointStringoss服务器的IP和端口,比如127.0.0.1:6888
userNameStringoss服务器的用户名,使用base64加解密
passwdStringoss服务器的密码,使用base64加解密
taskIdString任务ID
bucketNameStringoss桶名称

2.3. 回传数据

主题:noticeUploadFile

2.3.1. 请求内容

字段类型是否必填描述
tryCountint数据下载、回传失败时的重试次数,默认5次
fileTypestring数据类型(参考2.1.1)
lidarTypeint雷达类型,需要获取雷达数据时,必填该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6
vehicleModelstring飞机型号,英文字母大写:CW_007, CW_10, CW_15, CW_15II,(大写的i) CW_20, CW_25, CW_25E, CW_30, CW_100, PH_25
pathPrefixstring保存到oss的路径前缀,不包含桶名称
taskIdstring任务ID
downloadPathstring下载路径,参考2.1.1
serialPortNamestring串口名称
baudint波特率
http
fileNamestring文件名
mqtt
filePathListsarray[json]数据的绝对路径所组成的数组:获取数据列表时返回
单个json的内容
isFileint1文件,0目录
pathstring文件或目录的路径:根据获取文件列表时返回的数据;pos和rover数据,只需要传文件名

2.3.2. 返回内容

字段类型是否必填描述
mqtt:异步返回数据
fileTypeString数据类型(参考2.1.1)
lidarTypeint雷达类型,需要获取雷达数据时,必填该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6
taskIdString任务ID,如果有传的话
http:同步返回数据流

2.4. 设置文件上传结果

**主****题:setFileUploadResult**

主动返回内容:每回传一个文件都会返回

字段类型是否必填描述
isSucceedint是否下载或上传成功:0成功,1下载失败,2上传失败
failedFilePathstring否,失败时必填失败的文件的机载路径
taskIdstring任务ID
urlstring上传文件后返回的地址
typestring文件类型(参考2.1.1)

2.5. 获取文件列表

主题:getFileList

2.5.1. 请求内容

字段类型是否必填描述
fileTypestring数据类型,参考2.1.1
isFileint1文件,0目录
lidarTypeint否,雷达类型必填雷达类型,需要获取雷达数据时,传该值: lidar120:1 lidar1000:2 lidar1350:3 lidar1500:4 LR:5 LR22S:6
taskIdstring任务ID
downloadPathstring下载路径,参考2.1.1
vehicleModelstring飞机型号,英文字母大写:CW_007, CW_10, CW_15, CW_15II,(大写的i) CW_20, CW_25, CW_25E, CW_30, CW_100, PH_25
pageNoint页码,默认为1
pageSizeint单页文件数,默认为10
sortint文件时间排序方式 0 升序, 1-降序,默认为1
serialPortNamestring串口名称
baudint波特率

3.5.2. 返回内容

字段类型描述
fileTypestring数据类型(参考6.1.1),请求参数
lidarTypeint非必填,雷达类型才会返回
taskIdString任务ID,请求参数
countintfilePathLists的大小
downloadPathstring下载路径,传的什么就返回什么
filePathListsarray[json]返回参数
文件或目录的信息
filePathstring文件或目录的绝对路径
fileNamestring当获取pos、rover数据时,才有
lastTimestring文件最近一次的修改时间
fileSizestring文件大小,单位字节,只有是文件时才有
isFileint1文件,0目录
fileTotalint文件数量:当返回目录时,是每个目录内文件的数量

3.5.3. 示例

json
{"data":
  {"fileType":
    "iamge",
    "taskId":
    "xxx"},
  "type":"request"}
{"data":
  {"filePathLists":
    ["aaa","bbb"...],
    "fileType":"iamge",
    "taskId":"xxx"},
  "type":"response",
  "code":200}

2.6. 请求回传进度

主题:getBackhaulProgress

内容

字段类型是否必填描述
progressValint回传进度值:0~100
progressStateint当前数据回传处于哪个状态:0:当前不存在任务,1:下载数据,2:回传数据,3:回传完成
fileTypestring数据类型,参考2.1.1
taskIdstring任务ID
vehicleModelstring飞机型号,英文字母大写:CW_007 CW_10 CW_15 CW_15II,大写的i CW_20 CW_25 CW_25E CW_30 CW_100 PH_25

备注:请求pc当前这一组数据(通知pc上传数据时所传的那些数据)的回传进度

2.7. 主动上报数据回传当前状态

主题:noticeBackhaulState

内容

字段类型描述
progressStateint当前数据回传处于哪个状态:1:下载数据,2:回传数据,3:回传完成
fileTypeString数据类型(参考2.1.1)
taskIdString非必填,任务ID

备注:pc主动上报当前这一组数据(通知pc上传数据时所传的那些数据)的状态

2.8. 删除机载数据

主题:deleteBoardFile

内容

字段类型描述
filePathListsStringArray机载数据的绝对路径
fileTypeString数据类型(参考2.1.1)
taskIdString非必填,任务ID