无人机实时状态
参数名 | 长度 | 类型 | 值 |
---|---|---|---|
帧头 | 2 | uint16 | 0x6A77 |
数据长度 | 2 | uint16 | |
指令编号 | 1 | uint8 | 0xA8 |
数据 | N | byte[ ] | 参见:protoBuf描述文件中的UavState对象 |
//无人机状态对象
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 SprayFireState{
uint32 id=1;//设备ID
uint32 position=2;//挂载位置:1-psdk1 2-psdk2 3-psdk3 4-usb1 5-usb2
uint32 sprayState=3;//喷火开关状态 0:关闭 1:打开
uint32 fuelState=4;//喷燃料开关状态 0:关闭 1:打开
uint32 ignitionState=5;//点火开关状态 0:关闭 1:打开
uint32 lockState=6;//解锁状态 0:关闭 1:打开
uint32 gear=7;//档位 0-无档位、1-1挡、2-2挡、3-3挡
uint32 laserState=8;//激光开关状态 0:关闭 1:打开
uint32 pressState=9;//加压状态 0:未加压 1:加压中
uint32 fireTime=10;//喷火时间[单位:秒]
uint32 extendRc=11;//扩展遥控连接状态 0:关闭 1:打开
uint32 claspState=12;//卡扣状态 0:未到位 1:已到位
uint32 yaw=13;//喷火头偏航角度值[范围0~100]
uint32 pitch=14;//喷火头俯仰角度值[范围0~100]
}
//气体检测数据
message AirAnalysis{
string sn=1;//设备编号
uint32 sat=2;//卫星数
double lng=3;//经度
double lat=4;//纬度
float height=5;//相对高度
float pm25=6;//PM2.5,单位:ug/m3
float pm10=7;//PM10,单位:ug/m3
float so2=8;//SO2,单位:ug/m3
float co=9;//Co,单位:mg/m3
float no2=10;//NO2,单位:ug/m3
float o3=11;//O3,单位:ug/m3
float temp=12;//温度,单位:度
float hum=13;//湿度,单位RH%
}
//降落伞状态信息
message ParachuteState{
uint32 id=1;//设备ID
uint32 position=2;//挂载位置:1-psdk1 2-psdk2 3-psdk3 4-usb1 5-usb2
uint32 connectStatus=3;//降落伞连接状态 0:未连接 1:已连接
uint32 isOpenFlag=4;//降落伞开启状态 0:未开伞 1:已开启
int32 owlDeviceState=5;//降落伞设备状态[火萤降落伞状态]
}