Merge pull request '添加数据' (#4) from f_add_shuxing into test

Reviewed-on: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-device/pulls/4
This commit is contained in:
sunpeng 2026-03-27 10:12:06 +08:00
commit 04d2e08fcb
3 changed files with 179 additions and 1 deletions

View File

@ -272,6 +272,103 @@ public class TuohengDeviceTelemetry {
}
);
// public static final TelemetryKey<Double> vertical_speed = TelemetryKey.of(
// "vertical_speed",
// Double.class,
// value -> {
// if (value == null) return null;
// if (value instanceof Number) {
// return ((Number) value).doubleValue();
// }
// return Double.parseDouble(value.toString());
// }
// );
//
// public static final TelemetryKey<Double> horizontal_speed = TelemetryKey.of(
// "horizontal_speed",
// Double.class,
// value -> {
// if (value == null) return null;
// if (value instanceof Number) {
// return ((Number) value).doubleValue();
// }
// return Double.parseDouble(value.toString());
// }
// );
public static final TelemetryKey<Double> distance_to_home = TelemetryKey.of(
"distance_to_home",
Double.class,
value -> {
if (value == null) return null;
if (value instanceof Number) {
return ((Number) value).doubleValue();
}
return Double.parseDouble(value.toString());
}
);
public static final TelemetryKey<Double> altitude = TelemetryKey.of(
"altitude",
Double.class,
value -> {
if (value == null) return null;
if (value instanceof Number) {
return ((Number) value).doubleValue();
}
return Double.parseDouble(value.toString());
}
);
// public static final TelemetryKey<Double> pitch = TelemetryKey.of(
// "pitch",
// Double.class,
// value -> {
// if (value == null) return null;
// if (value instanceof Number) {
// return ((Number) value).doubleValue();
// }
// return Double.parseDouble(value.toString());
// }
// );
//
// public static final TelemetryKey<Double> yaw = TelemetryKey.of(
// "yaw",
// Double.class,
// value -> {
// if (value == null) return null;
// if (value instanceof Number) {
// return ((Number) value).doubleValue();
// }
// return Double.parseDouble(value.toString());
// }
// );
public static final TelemetryKey<Double> camerapitch = TelemetryKey.of(
"camerapitch",
Double.class,
value -> {
if (value == null) return null;
if (value instanceof Number) {
return ((Number) value).doubleValue();
}
return Double.parseDouble(value.toString());
}
);
public static final TelemetryKey<Double> camerayaw = TelemetryKey.of(
"camerayaw",
Double.class,
value -> {
if (value == null) return null;
if (value instanceof Number) {
return ((Number) value).doubleValue();
}
return Double.parseDouble(value.toString());
}
);
/**
* 充电器数据 (来自 /topic/v1/airportNest/+/realTime/data)
*/
@ -740,7 +837,15 @@ public class TuohengDeviceTelemetry {
HOLDER_Y_STATUS,
CONTROLLER_STATUS,
HATCH_STATUS,
DRONE_STATUS
DRONE_STATUS,
// vertical_speed,
// horizontal_speed,
distance_to_home,
// altitude,
// pitch,
// yaw,
camerapitch,
camerayaw
);
}

View File

@ -170,5 +170,29 @@ public class DockDetailDTO implements Serializable
/** 直播视频地址 */
private String liveVideoUrl;
//爬升速度
private Double vertical_speed;
//平飞速度
private Double horizontal_speed;
//距离机场
private Double distance_to_home;
//海拔高度
private Double altitude;
//无人机俯仰角
private Double pitch;
//无人机偏航角
private Double yaw;
//云台俯仰角
private Double camerapitch;
//云台偏航角
private Double camerayaw;
}

View File

@ -388,6 +388,55 @@ public class TuohengBufferDeviceImpl implements IBufferDeviceService {
dto.setCabinHumidity(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.VERTICAL_SPEED)
.ifPresent(value -> {
log.info("vertical_speed: {}", value.getValue());
dto.setVertical_speed(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.HORIZONTAL_SPEED)
.ifPresent(value -> {
log.info("horizontal_speed: {}", value.getValue());
dto.setHorizontal_speed(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.PITCH)
.ifPresent(value -> {
log.info("pitch: {}", value.getValue());
dto.setPitch(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.YAW)
.ifPresent(value -> {
log.info("yaw: {}", value.getValue());
dto.setYaw(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.camerapitch)
.ifPresent(value -> {
log.info("camerapitch: {}", value.getValue());
dto.setCamerapitch(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.camerayaw)
.ifPresent(value -> {
log.info("camerayaw: {}", value.getValue());
dto.setCamerayaw(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.distance_to_home)
.ifPresent(value -> {
log.info("distance_to_home: {}", value.getValue());
dto.setDistance_to_home(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.ALTITUDE)
.ifPresent(value -> {
log.info("camerayaw: {}", value.getValue());
dto.setAltitude(value.getValue());
});
/**
* 通过 MachineStateManager 获取舱门状态
*/