package com.ard.work.service; import com.ard.work.domain.dto.BoxHistoryDTO; import com.ard.work.domain.dto.BoxPhotosDTO; import com.ard.work.domain.dto.BoxSettingsDTO; import com.ard.work.domain.dto.camera.*; import com.ard.work.domain.dto.manual.*; import com.ard.work.domain.dto.speaker.*; import com.ard.work.domain.dto.wayline.*; import com.ard.work.domain.dto.control.AbsAngleControlDTO; import com.ard.work.domain.dto.control.AngleControlDTO; import com.ard.work.domain.dto.control.SpeedControlDTO; import com.ard.work.domain.dto.settings.ReturnHeightSettingDTO; import com.ard.work.domain.dto.settings.ReturnPointSettingDTO; import com.ard.work.domain.dto.settings.VideoStreamSettingDTO; import com.ard.work.domain.dto.signal.SignalInfo; import com.ard.work.domain.dto.state.UavState; import com.ard.work.domain.dto.telemetry.TelemetryData; import com.ard.work.domain.receiver.*; import com.ard.work.component.netty.command.BaseCmd; import com.dtflys.forest.annotation.Var; import java.util.List; /** * ITyService * * @author liusuyi * @date 2024年10月22日8:36 **/ public interface ITyService { /** * 获取边缘服务器token信息 * @return */ AccessTokenReceiver getAccessToken(String ServerId); /** * 获取全部服务器云盒列表 * @return */ List getBoxList(); /** * 获取指定服务器云盒列表 * * @return List */ List getBoxList(String serverId); /** * 获取直播地址 * @return */ BoxStreamUrlReceiver getBoxLiveUrl(@Var("boxSn") String boxSn); /** * 获取飞行历史 * @return */ List getBoxHistory(BoxHistoryDTO boxHistoryDTO); /** * 获取盒子图片 * @return */ List getBoxPhotos(BoxPhotosDTO boxPhotosDTO); /** * 修改云盒设置 * @return */ Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO); /** * 设置返航高度 * @return */ Boolean updateReturnHeight(ReturnHeightSettingDTO returnHeightSettingDTO); /** * 设置视频码流 * @return */ Boolean updateVideoStream(VideoStreamSettingDTO videoStreamSettingDTO); /** * 设置返航点 * @return */ Boolean updateReturnPoint(ReturnPointSettingDTO returnPointSettingDTO); /** * 注册 */ Boolean registerMessage(String serverId); /** * 云台转动(基于角度) */ Boolean angleControl(AngleControlDTO angleControlDto); /** * 云台绝对值控制(基于角度) */ Boolean absAngleControl(AbsAngleControlDTO absAngleControlDto); /** * 云台转动(基于速度) */ Boolean speedControl(SpeedControlDTO speedControlDto); /** * 格式化存储卡 */ Boolean formatSdCard(FormatSdCardDTO formatSdCardDTO); /** * 设置相机模式 */ Boolean updateCameraMode(CameraModeDTO cameraModeDTO); /** * 拍照 */ Boolean capturePic(CapturePicDTO capturePicDto); /** * 录像 */ Boolean record(RecordDTO recordDto); /** * 变倍 */ Boolean zoom(ZoomDTO zoomDTO); /** * 变倍到指定倍数 */ Boolean zoomToLevel(ZoomToLevelDTO zoomToLevelDTO); /** * 切换摄像头 */ Boolean switchCamera(SwitchCameraDTO switchCameraDTO); /** * 切换视频源 */ Boolean switchSource(SwitchSourceDTO switchSourceDTO); /** * 打开或关闭照片回传 */ Boolean photoReturnToggle(PhotoReturnToggleDTO photoReturnToggleDTO); /** * 切换无人机控制权 */ Boolean switchUavControl(SwitchUavControlDTO switchUavControlDTO); /** * 起飞 */ Boolean takeOff(TakeOffDTO takeOffDTO); /** * 返航 */ Boolean returnHome(ReturnHomeDTO returnHomeDTO); /** * 取消返航 */ Boolean returnHomeCancel(ReturnHomeCancelDTO returnHomeCancelDTO); /** * 降落 */ Boolean land(LandDTO landDTO); /** * 取消降落 */ Boolean landCancel(LandCancelDTO landCancelDTO); /** * 强制降落 */ Boolean landForced(LandForcedDTO landForcedDTO); /** * 方向控制 */ Boolean flyControl(FlyControlDTO flyControlDTO); /** * 指点飞行控制 */ Boolean flyPointControl(FlyPointControlDTO flyPointControlDTO); /** * 停止指点飞行控制 */ Boolean flyPointControlCancel(FlyPointControlCancelDTO flyPointControlCancelDTO); /** * 环绕飞行控制 */ Boolean FlyRoundControl(FlyRoundControlDTO flyRoundControlDTO); /** * 停止环绕飞行 */ Boolean FlyRoundControlCancel(FlyRoundControlCancelDTO flyRoundControlCancelDTO); /** * 紧急制动 */ Boolean emeragencyBrake(EmeragencyBrakeDTO emeragencyBrakeDTO); /** * 获取无人机状态 */ UavState getUavState(String boxSn); /** * 获取无人机遥测 */ TelemetryData getUavTelemetryData(String boxSn); /** * 获取信道质量遥测 */ SignalInfo getSignalInfo(String boxSn); /** * 喊话模式切换 */ Boolean speakModeSwitch(SpeakModeSwitchDTO speakModeSwitchDTO); /** * 文字喊话 */ Boolean textSpeak(TextSpeakDTO textSpeakDTO); /** * 实时喊话 */ Boolean realSpeak(RealSpeakDTO realSpeakDTO); /** * 录音喊话 */ Boolean recordSpeak(RecordSpeakDTO recordSpeakDTO); /** * 设置音量 */ Boolean volumeSetting(VolumeSettingDTO volumeSettingDTO); /** * 设置循环播放 */ Boolean loopSetting(LoopSettingDTO loopSettingDTO); /** * 停止喊话 */ Boolean stopSpeak(StopSpeakDTO stopSpeakDTO); /** * 上传航线 */ Boolean wayLineUpload(WayLineUploadDTO wayLineUploadDTO); /** * 开始航线 */ Boolean wayLineBegin(WayLineBeginDTO wayLineBeginDTO); /** * 暂停航线 */ Boolean wayLinePause(WayLinePauseDTO wayLinePauseDTO); /** * 恢复航线 */ Boolean wayLineResume(WayLineResumeDTO wayLineResumeDTO); /** * 结束航线 */ Boolean wayLineEnd(WayLineEndDTO wayLineEndDTO); /** * 处理回复消息 */ void processReplyMessage(String key, BaseCmd tyMessage); /** * 根据[服务器id]获取边缘服务器盒子列表 */ List getBoxSnToList(String id); }