| New file |
| | |
| | | syntax = "proto3"; |
| | | option java_package = "com.ard.tianyu.netty.protobuf"; |
| | | option java_outer_classname ="TelemetryDataPB"; |
| | | |
| | | //下行遥测 |
| | | message TelemetryData{ |
| | | double lng=1;//经度 |
| | | double lat=2;//纬度 |
| | | float altitude=3;//海拔高度(椭球高)(单位:米)[与遥控器显示值不同源,可能不一致。会受周围气压湿度等环境影响,数据差异及误差比较大] |
| | | float ultrasonic=4;//相对高度(单位:米)[飞行器距地面10米以下,此值为真实距地距离,大于10米时为距起飞点的相对高度] |
| | | float pitch=5;//俯仰角 |
| | | float roll=6;//横滚角 |
| | | float yaw=7;//偏航角 |
| | | float airspeed=8;//空速(单位:米/秒) |
| | | float velocity=9;//地速(单位:米/秒) |
| | | uint64 timestamp=10;//时间戳 |
| | | float ptpitch=11;//载荷俯仰角 |
| | | float ptroll=12;//载荷横滚角 |
| | | float ptyaw=13;//载荷航向角 |
| | | float zoomfactor=14;//载荷当前倍数 |
| | | string boxSn=15;//云盒子编号 |
| | | string batteryPower=16;//电池电量,多个电池以下划线分割,如:80_60 |
| | | uint32 satelliteCount=17;//卫星计数 |
| | | uint64 taskId=18;//任务编号 |
| | | double rtkLng=19;//rtk经度 |
| | | double rtkLat=20;//rtk纬度 |
| | | float rtkHFSL=21;//rtk海拔高度(平均海平面高度)(单位:米) |
| | | uint32 rtkPositionInfo=22;//rtk状态(值为50时[rtk数据fix固定解],rtk的经纬度及海拔高度值可用) |
| | | uint32 airFlyTimes=23;//当前架次飞行时长(单位:秒) [起飞->落地 视为一个架次] |
| | | float airFlyDistance=24;//当前架次飞行实际距离(单位:米) |
| | | string uavSn=25;//无人机编号 |
| | | string uavModel=26;//无人机型号 |
| | | float homeRange=27;//距降落点水平直线距离(单位:米) |
| | | uint32 flightMode=28;//飞行模式:1=手动控制模式,2=姿态模式,6=MODE_P_GPS,9=热点任务中,11=自动起飞中,12=降落中,14=航线中,15=返航中,17=虚拟摇杆控制中,33=强制降落中,41=解锁电机准备起飞中 |
| | | float targetDistance=29;//距目标点实际距离(单位:米) [适用于打点飞行和航线飞行] |
| | | uint32 predictFlyTime=30;//预计剩余飞行时间[适用于打点飞行和航线飞行] |
| | | float ultrasonicMax=31;//本架次最大相对高度值 |
| | | float ultrasonicMin=32;//本架次最小相对高度值 |
| | | } |
| | | |
| | | //飞行历史 |
| | | message TelemetryList{ |
| | | repeated TelemetryData telemetryList = 1; |
| | | } |
| | | |
| | | //信道质量 |
| | | message SignalInfo{ |
| | | string mode=1; //入网模式:NR5G-SA,NR5G-NSA,LTE |
| | | string mcc=2; //NR5G-SA,NR5G-NSA,LTE |
| | | string mnc=3; //NR5G-SA,NR5G-NSA,LTE |
| | | string cellid=4; //NR5G-SA,LTE |
| | | string pcid=5; //NR5G-SA,NR5G-NSA,LTE |
| | | string tac=6; //NR5G-SA,LTE |
| | | string arfcn=7; //NR5G-SA,NR5G-NSA |
| | | string band=8; //NR5G-SA,NR5G-NSA |
| | | string nr_dl_bandwidth=9; //NR5G-SA |
| | | string rsrp=10; //NR5G-SA,NR5G-NSA,LTE |
| | | string rsrq=11; //NR5G-SA,NR5G-NSA,LTE |
| | | string sinr=12; //NR5G-SA,NR5G-NSA,LTE |
| | | string tx_power=13; //NR5G-SA,LTE |
| | | string srxlev=14; //NR5G-SA,LTE |
| | | string cqi=15; //LTE |
| | | string earfcn=16; //LTE |
| | | string freq_band_ind=17; //LTE |
| | | string ul_bandwidth=18; //LTE |
| | | string dl_bandwidth=19; //LTE |
| | | string is_tdd=20; //LTE |
| | | string rssi=21; //LTE |
| | | string duplex_mode=22; //NR5G-SA |
| | | double lng=23;//经度 |
| | | double lat=24;//纬度 |
| | | float height=25;//高度(单位:米) |
| | | uint32 timestamp=26;//时间戳(单位:秒) |
| | | uint32 boxstate=27;//1=线缆故障,2=OSDK未激活,3=正常,4=云盒固件更新 |
| | | string isp=28;//运营商 |
| | | uint32 tempMax=29;//模组芯片温度(单位:摄氏度) |
| | | string prx_rsrp=30;//prx路径的rsrp值 |
| | | string drx_rsrp=31;//drx路径的rsrp值 |
| | | string rx2_rsrp=32;//rx2路径的rsrp值 |
| | | string rx3_rsrp=33;//rx3路径的rsrp值 |
| | | string box_sn=34;//云盒编号 |
| | | } |
| | | |
| | | message SignalList{ |
| | | repeated SignalInfo signalInfo = 1; |
| | | } |
| | | |
| | | //无人机状态对象 |
| | | message UavState{ |
| | | FlightControllerState flightControllerState=1;//飞控状态 |
| | | BatteryState batteryState=2;//电池状态 |
| | | PtzState ptzState=3;//云台状态 |
| | | CameraState cameraState=4;//相机状态 |
| | | MissionState missionState=5;//任务状态 |
| | | string boxSn=6;//云盒编号 |
| | | AvoidanceData avoidanceData=7;//避障数据 |
| | | repeated HmsAlarmData hmsAlarmData=8;//Hms报警信息[飞机告警信息] |
| | | } |
| | | |
| | | message FlightControllerState{ |
| | | uint32 satelliteCount=1;//卫星计数 |
| | | uint32 gpsSignalLevel=2;//GPS信号级别,0~5[4,5等级可以执行航线] |
| | | uint32 flightMode=3;//飞行模式:1=手动控制模式,2=姿态模式,6=MODE_P_GPS,9=热点任务中,11=自动起飞中,12=降落中,14=航线中,15=返航中,17=虚拟摇杆控制中,33=强制降落中,41=解锁电机准备起飞中 |
| | | uint32 flightStatus=4;//飞行状态:0=电机未启动(地面),1=电机启动未起飞(地面),2=起飞在空中(空中) |
| | | PointData startPoint=5;//起飞点(只包含lat和lng信息) |
| | | PointData homePoint=6;//返航点(只包含lat和lng信息) |
| | | int32 homeHeight=7;//返航高度(单位:米) |
| | | uint32 safeLine=8;//打点飞行模式:0=节能模式【飞机直线飞到目标点,需飞机在空中并且有控制权】,1=安全模式【飞机飞行至目标点高度再平飞到目标点,飞机可以在地面】 默认为节能模式 |
| | | uint32 deviceStatus=9;//控制权状态:0=遥控器,1=msdk,4=云盒[此控制权只针对虚拟摇杆控制权,起飞、降落、强制降落、航线操作、返航不需要此控制权,但是遥控器断连情况下,如果云盒没有控制权,飞机会执行遥控器的失联策略] |
| | | uint32 uwbNodeCount=10;//UWB星数(只有等于4时,才可以开启uwb精准降落模式) |
| | | string rcMode=11;//遥控器档位模式(说明:1.遥控器与飞机正常连接:(M300:T-P-S/M30:F-S-N/M3:C-N-S),2.遥控器与飞机未连接:W,3.只有在M300-P挡、M30-N挡、M3-N挡下云盒才能正常控制无人机) |
| | | uint32 isEmergencyBrakeing=12;//是否紧急制动中,0=否,1=是 【飞行器在地面限制起飞,飞行器在空中限制飞行.如果想操作飞行,请先解除紧急制动】 |
| | | uint32 outFlyAreaFlag=13;//飞行器是否在所有自定义电子围栏外,0=电子围栏内 1=电子围栏外 |
| | | uint32 inNoFlyAreaFlag=14;//飞行器是否在自定义禁飞区内,0=禁飞区外 1=禁飞区内 |
| | | } |
| | | |
| | | //电池状态 |
| | | message BatteryState{ |
| | | uint32 batteryNum=1;//电池数量 |
| | | string batteryPower=2;//电池电量,多个电池以下划线分割,如:80_60 |
| | | string batteryVoltage=3;//电池电压,多个电池以下划线分割,如:40_30(单位:V)[注意:如果2块电池电压差大于0.7V,飞机限制起飞] |
| | | BatteryStateInfo firstBatteryInfo=4;//第一块电池状态信息(安装在飞机左边电池槽) |
| | | BatteryStateInfo secondBatteryInfo=5;//第二块电池状态信息(安装在飞机右边电池槽) |
| | | } |
| | | |
| | | //电池状态信息 |
| | | message BatteryStateInfo{ |
| | | uint32 isBatteryEmbed=1;//电池插入飞机状态(注意:如果未插入所有电池信息不可用):0=插入,1=未插入 |
| | | uint32 batteryCapacityPercent=2;//电池电量百分比 |
| | | int32 currentVoltage=3;//电池电压(单位:mV) |
| | | int32 currentElectric=4;//当前电池电流(单位:mA) |
| | | uint32 fullCapacity=5;//满电池容量(单位:mAh) |
| | | uint32 remainedCapacity=6;//剩余电池容量(单位:mAh) |
| | | float batteryTemperature=7;//电池温度(单位:摄氏度) |
| | | uint32 cellCount=8;//电池组数(电池硬件型号有关) |
| | | uint32 batSOHState=9;//电池循环健康状态:0=正常,1=警报,2=注意安全 |
| | | uint32 sop=10;//相对功率百分比(Relative power percentage) |
| | | uint32 heatState=11;//电池加热状态:0=未加热,1=加热中,2=保持恒温 |
| | | uint32 socState=12;//电池SOC荷电状态: 0=SOC正常,1=SOC_ABNORMAL_HIGH,2=SOC_JUMP_DOWN,3=SOC_JUMP_UP,4=SOC_INVALID |
| | | uint32 selfCheckError=13;//电池自检错误标志(注意:如果此值非0,就是电池损坏需要维修):0=正常,1=电池自检NTC异常,2=电池自检MOS异常,3=电池自检采样电阻异常,4=电池电芯损坏,5=电池未校准,6=电量计参数异常 |
| | | } |
| | | |
| | | //云台状态 |
| | | message PtzState{ |
| | | float pitch=1;//俯仰角 范围:-120° ~ 30° |
| | | float roll=2;//横滚角 范围:-90° ~ 60° |
| | | float yaw=3;//偏航角 范围:-180° ~ 180° |
| | | uint32 gimbalMode=4;//云台模式 1=自由模式,2=跟随模式,3=FPV模式 |
| | | } |
| | | |
| | | //相机状态 |
| | | message CameraState{ |
| | | uint32 mode=1;//相机模式:1=拍照模式,2=录像模式,0=未知 |
| | | uint32 isRecording=2;//是否录制中:1=录制中,0=未录制 |
| | | uint32 recordDuration=3;//录制时长(单位:秒) |
| | | uint32 source=4;//相机视源:0=可见,1=变焦,2=红外 |
| | | uint32 camera=5;//相机: 0=FPV,1=相机(1),2=相机(2) |
| | | float zoomfactor=6;//相机当前变焦倍数 |
| | | uint32 width=7;//水平像素(例如:1920) |
| | | uint32 height=8;//垂直像素(例如:1080) |
| | | uint32 frameRate=9;//帧率(例如:30) |
| | | uint32 bitstream=10;//码率(单位:0.001)(例如:6兆设置值为6000) |
| | | uint32 pointThermometrying=11;//单点测温状态:0=非单点测温中,1=单点测温中 |
| | | uint32 areaThermometrying=12;//区域测温状态:0=非区域测温中,1=区域测温中 |
| | | uint32 laserRanging=13;//激光测距状态:0=非激光测距中,1=激光测距中 |
| | | } |
| | | |
| | | //任务状态 |
| | | message MissionState{ |
| | | uint32 isPause=1;//航线是否暂停中:0=未暂停,1=暂停中 |
| | | uint32 targetWaypointIndex=2;//目标航点下标(说明:开始成功到第一个航点之间此值为0,到达第一个航点此值为1,到达第二个航点此值为2,以此类推,航线结束后此值不清空直到下一次开始航线) |
| | | uint32 isWaypointFinished=3;//是否航点完成:1完成、0未完成(此值废弃) |
| | | uint32 pushVideo=4;//云盒是否发送视频数据:0=不发送,1=发送 |
| | | uint32 lock4g=5;//是否锁定4G:0=不锁定,1=锁定 |
| | | uint32 boxModel=6;//是否开通图片自动回传功能:0=未开通,1=已开通 |
| | | uint32 mapPlay=7;//自动拍照间隔:0未开始,3~255间隔时间 |
| | | uint32 loseAction=8;//网络失联后动作:0=返回HOME点,1=继续航线 |
| | | uint32 isPointControl=9;//是否打点飞行控制中:0=否,1=是 |
| | | uint32 isUwbLanding=10;//是否UWB精准降落中:0=不是,1=是 |
| | | uint32 isPushVideoing=11;//视频是否推流中:0=不是,1=是 |
| | | uint32 isDLanding=12;//是否二维码精准降落中:0=不是,1=是 |
| | | uint32 perceptionFlag=13;//二维码精准降落模式:0=载荷降落,1=下视降落 |
| | | uint32 isPositionControl=14;//是否指定距离飞行控制中:0=否,1=是 |
| | | } |
| | | |
| | | //避障数据 |
| | | message AvoidanceData{ |
| | | uint32 downHealth=1; |
| | | float down=2;//距下障碍物的距离(单位:米),downHealth为1时值有效 |
| | | uint32 frontHealth=3; |
| | | float front=4;//距前障碍物的距离(单位:米),frontHealth为1时值有效 |
| | | uint32 rightHealth=5; |
| | | float right=6;//距右障碍物的距离(单位:米),rightHealth为1时值有效 |
| | | uint32 backHealth=7; |
| | | float back=8;//距后障碍物的距离(单位:米),backHealth为1时值有效 |
| | | uint32 leftHealth=9; |
| | | float left=10;//距左障碍物的距离(单位:米),leftHealth为1时值有效 |
| | | uint32 upHealth=11; |
| | | float up=12;//距上障碍物的距离(单位:米),upHealth为1时值有效 |
| | | uint32 avoidanceEnableStatusDown=13;//下视觉避障开关状态:0-关闭 1-打开 |
| | | uint32 avoidanceEnableStatusUp=14;//上视觉避障开关状态:0-关闭 1-打开 |
| | | uint32 avoidanceEnableStatusHorizontal=15;//水平视觉避障开关状态:0-关闭 1-打开 |
| | | } |
| | | |
| | | //Hms报警信息 |
| | | message HmsAlarmData{ |
| | | uint32 alarmId=1;//报警信息ID |
| | | uint32 reportLevel=2;//等级[1/2-警告 3/4/5-错误] |
| | | string alarmMssInfo=3;//报警信息描述(说明:支持中文和英文版本,默认中文,如需切换请联系技术支持) |
| | | } |
| | | |
| | | //航线 |
| | | message PlanLineData{ |
| | | uint32 finishedAction=1;//结束航线后动作:1=返航,2=原地悬停,3=原地降落,4=原地绕飞[目前只osdk4.1版本支持,中心点为最后一个航点,飞机绕此点画圆飞行],5=返回至第一个航点并悬停[如果飞机到最后一个点时RC和飞机失联,飞机会在最后一个点悬停] |
| | | float maxSpeed=2;//最大飞行速度(单位:米/秒,范围0~15),默认15 |
| | | float autoSpeed=3;//自动飞行速度(单位:米/秒,范围0~15),默认8 |
| | | repeated PointData points=4;//坐标点数组 |
| | | uint32 loseAction=5;//网络失联后动作:0=返回HOME点,1=继续航线,默认0 |
| | | uint32 homeHeight=6;//返航高度:(单位:米,范围20~1500),说明:此值为相对起飞点高度,如果太高会有失去网络覆盖风险。不同飞行器返航逻辑不一样,若飞行器距HOME点距离过近,可能不会升高再返航。具体逻辑请咨询大疆DJI |
| | | uint32 isSaveEnergyMode=7;//是否开启节能模式:0=不是,1=是(说明:节能模式下,飞机沿最短直线距离由起飞点到航线第一个航点,非升高到第一个航点高度再飞往第一个航点) |
| | | HangarPoint takePoint=8;//起飞点机库信息 |
| | | HangarPoint landPoint=9;//降落点机库信息 |
| | | repeated PointData interests=10;//兴趣点数组(对象只包含经纬高) |
| | | NormalModel normalModel=11;//普通建模 |
| | | SurroundModel surroundModel=12;//环绕建模 |
| | | PointData takeOffPoint=13;//起飞点(对象只包含经纬高) |
| | | } |
| | | |
| | | //航线点 |
| | | message PointData{ |
| | | double lng=1;//经度 |
| | | double lat=2;//纬度 |
| | | float height=3;//高度(单位:米,范围0~遥控器限高),说明:此值为相对起飞点高度,如果太高会有失去网络覆盖风险 |
| | | float speed=4;//速度(单位:米/秒,范围0~15),默认8 |
| | | repeated PointAction actions=5;//动作数组 |
| | | uint32 flightPathMode=6;//航线飞行模式:1=直线飞行,2=协调转弯,3=曲线飞行(停),4=曲线飞行(不停) |
| | | float dampingDistance=7;//转弯半径(仅协调转弯模式下有效),取值范围1~655.35单位:米,两点间距离要小于此值,此值要根据实际情况计算,切勿随便设此值[可能导致航线开始失败],具体计算方法可以咨询售后支持或者大疆DJI |
| | | uint32 safeGohomeFlag=8;//是否为安全返航点 0=不是,1=是 (暂时未启用) |
| | | uint32 headingMode=9;//偏航模式 0=自动,1=锁定,2=遥控器控制,3=云台依照航点方向旋转,4=朝向兴趣点,5=飞机和云台的偏航同时旋转 |
| | | float heading=10;//航点偏航 -180~180 |
| | | int32 interestIndex=11;//兴趣点下标,默认-1 |
| | | uint32 groupIndex=12;//组下标 |
| | | } |
| | | |
| | | //航线点动作 |
| | | message PointAction{ |
| | | uint32 type=1;//类型:1.变焦 2.拍照 3.录像 4.停录 5.控制飞机机头偏航 6.控制云台俯仰 7.控制云台偏航 8.控制云台横滚 9.悬停 10.等距间隔拍照 11.等时间隔拍照 12.结束间隔拍照 13.单条喊话 14.开始循环喊话 15.结束循环喊话 16.对焦 |
| | | float param=2;//参数:[1.变焦]->变焦倍数(范围:2~200) 、 [5.控制飞机机头偏航(范围:-180~180)、6.控制云台俯仰(范围:-120~30)、7.控制云台偏航(范围:-180~180)、8.控制云台横滚(范围:-90~60)]->角度(按正北坐标系绝对值控制) 、[9.悬停]->时间(单位:秒,范围:1~25,如果想停留大于25秒时长,可以加多组悬停动作) [10.等距间隔拍照]->距离(单位:米,范围:1~100) [11.等时间隔拍照]->时间(单位:秒,范围:1~30) [13/14->喊话器俯仰角度,如果此值为0默认改成-90](范围:0~-90) |
| | | int32 waitTime=3;//动作触发后等待时长(单位:秒) [此值如果不需要可以不传,如需悬停可添加类型9悬停动作] [13/14->喊话器声音,如果此值不传默认50](范围:0~100) |
| | | string speakInfo=4;//喊话内容[type=13和type=14时生效] |
| | | } |
| | | |
| | | //机库信息 |
| | | message HangarPoint{ |
| | | string hangarId=1;//机库ID |
| | | double hangarLng=2;//机库经度 |
| | | double hangarLat=3;//机库纬度 |
| | | double alternateLng=4;//备降点经度 |
| | | double alternateLat=5;//备降点纬度 |
| | | } |
| | | |
| | | //普通建模 |
| | | message NormalModel{ |
| | | repeated PointData area=1;//作业区域 |
| | | uint32 serviceId=2;//建模平台编号:1=瞰景,2=大势,默认1 |
| | | uint32 cameraId=3;//相机编号 |
| | | uint32 isModeling=4;//是否实时建模:0=不,1=是 |
| | | uint32 mode=5;//作业模式:1=倾斜,2=正摄 |
| | | uint32 hOverlap=6;//横向重叠率 |
| | | uint32 vOverlap=7;//纵向重叠率 |
| | | uint32 mirror=8;//方向正反 |
| | | } |
| | | |
| | | //环绕建模 |
| | | message SurroundModel{ |
| | | repeated PointData area=1;//作业区域 |
| | | uint32 serviceId=2;//建模平台编号:1=瞰景 |
| | | uint32 cameraId=3;//相机编号 |
| | | uint32 isModeling=4;//是否实时建模:0=不,1=是 |
| | | } |