liusuyi
2024-10-25 1157c58dc74805cbb7db57ab121bbb521f4c216b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package com.ard.tianyu.service;
 
import com.ard.tianyu.model.dto.BoxHistoryDTO;
import com.ard.tianyu.model.dto.BoxPhotosDTO;
import com.ard.tianyu.model.dto.BoxSettingsDTO;
import com.ard.tianyu.model.dto.camera.CameraModeDTO;
import com.ard.tianyu.model.dto.camera.CapturePicDTO;
import com.ard.tianyu.model.dto.camera.RecordDTO;
import com.ard.tianyu.model.dto.control.AbsAngleControlDTO;
import com.ard.tianyu.model.dto.control.AngleControlDTO;
import com.ard.tianyu.model.dto.control.SpeedControlDTO;
import com.ard.tianyu.model.dto.signal.SignalInfo;
import com.ard.tianyu.model.dto.state.UavState;
import com.ard.tianyu.model.dto.telemetry.TelemetryData;
import com.ard.tianyu.model.receiver.*;
import com.ard.tianyu.netty.command.BaseCommand;
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();
 
 
    /**
     * 获取云盒列表
     * @return
     */
    List<BoxInfoReceiver> getBoxList();
 
    /**
     * 获取直播地址
     * @return
     */
    BoxStreamUrlReceiver getBoxLiveUrl(@Var("boxSn") String boxSn);
 
    /**
     * 获取飞行历史
     * @return
     */
    List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO);
 
    /**
     * 获取盒子图片
     * @return
     */
    List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO);
 
    /**
     * 修改云盒设置
     * @return
     */
    Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO);
 
    /**
     * 注册
     */
    void registerMessage();
 
    /**
     * 云台转动(基于角度)
     */
    void angleControl(AngleControlDTO angleControlDto);
 
    /**
     * 云台绝对值控制(基于角度)
     */
    void absAngleControl(AbsAngleControlDTO absAngleControlDto);
 
    /**
     * 云台转动(基于速度)
     */
    void speedControl(SpeedControlDTO speedControlDto);
 
    /**
     * 设置相机模式
     */
    void updateCameraMode(CameraModeDTO cameraModeDTO);
 
    /**
     * 拍照
     */
    void capturePic(CapturePicDTO capturePicDto);
 
    /**
     * 录像
     */
    void record(RecordDTO recordDto);
 
    /**
     * 获取无人机状态
     */
    UavState getUavState(String boxSn);
 
    /**
     * 获取无人机遥测
     */
    TelemetryData getUavTelemetryData(String boxSn);
 
    /**
     * 获取信道质量遥测
     */
    SignalInfo getSignalInfo(String boxSn);
 
    /**
     * 解析天宇服务端发来的消息
     */
    void processMessage(String key, BaseCommand tyMessage);
}