| | |
| | | |
| | | import com.dji.sample.common.model.PaginationData; |
| | | import com.dji.sample.common.model.ResponseResult; |
| | | import com.dji.sample.component.mqtt.model.CommonTopicReceiver; |
| | | import com.dji.sample.component.mqtt.model.CommonTopicResponse; |
| | | import com.dji.sample.component.websocket.config.ConcurrentWebSocketSession; |
| | | import com.dji.sample.manage.model.dto.DeviceDTO; |
| | | import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; |
| | | import com.dji.sample.manage.model.dto.TopologyDeviceDTO; |
| | | import com.dji.sample.manage.model.enums.DeviceModeCodeEnum; |
| | | import com.dji.sample.manage.model.enums.DeviceSetPropertyEnum; |
| | | import com.dji.sample.manage.model.enums.DockModeCodeEnum; |
| | | import com.dji.sample.manage.model.param.DeviceQueryParam; |
| | | import com.dji.sample.manage.model.receiver.FirmwareVersionReceiver; |
| | | import com.dji.sample.manage.model.receiver.StatusGatewayReceiver; |
| | | import org.springframework.messaging.MessageHeaders; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import org.springframework.messaging.Message; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * The device goes offline. |
| | | * @param gatewaySn |
| | | * @param gateway |
| | | * @return Whether the offline is successful. |
| | | */ |
| | | Boolean deviceOffline(String gatewaySn); |
| | | Boolean deviceOffline(StatusGatewayReceiver gateway); |
| | | |
| | | /** |
| | | * The aircraft goes offline. |
| | |
| | | |
| | | /** |
| | | * Obtain device data according to different query conditions. |
| | | * 根据不同的查询条件获取设备数据。 |
| | | * @param param query parameters |
| | | * @return |
| | | */ |
| | |
| | | * @param workspaceId |
| | | * @return |
| | | */ |
| | | List<DeviceDTO> getDevicesTopoForWeb(String workspaceId); |
| | | List<DeviceDTO> getDevicesTopoForWeb(String workspaceId,String reserveId); |
| | | |
| | | /** |
| | | * Set the remote controller and payloads information of the drone. |
| | |
| | | |
| | | /** |
| | | * Handle messages from the osd topic. |
| | | * @param topic osd |
| | | * @param payload |
| | | * @param message osd |
| | | */ |
| | | void handleOSD(String topic, byte[] payload); |
| | | void handleOSD(Message<?> message); |
| | | |
| | | /** |
| | | * Update the device information. |
| | |
| | | Boolean bindDevice(DeviceDTO device); |
| | | |
| | | /** |
| | | * Handle dock binding status requests. |
| | | * Note: If your business does not need to bind the dock to the organization, |
| | | * you can directly reply to the successful message without implementing business logic. |
| | | * @param receiver |
| | | * @param headers |
| | | */ |
| | | void bindStatus(CommonTopicReceiver receiver, MessageHeaders headers); |
| | | |
| | | /** |
| | | * Handle dock binding requests. |
| | | * Note: If your business does not need to bind the dock to the organization, |
| | | * you can directly reply to the successful message without implementing business logic. |
| | | * @param receiver |
| | | * @param headers |
| | | */ |
| | | void bindDevice(CommonTopicReceiver receiver, MessageHeaders headers); |
| | | |
| | | /** |
| | | * Get the binding devices list in one workspace. |
| | | * @param workspaceId |
| | | * @param page |
| | |
| | | * @param domain |
| | | * @return |
| | | */ |
| | | PaginationData<DeviceDTO> getBoundDevicesWithDomain(String workspaceId, Long page, Long pageSize, String domain); |
| | | PaginationData<DeviceDTO> getBoundDevicesWithDomain(String workspaceId, Long page, Long pageSize, Integer domain); |
| | | |
| | | /** |
| | | * Unbind device base on device's sn. |
| | |
| | | |
| | | /** |
| | | * Get device information based on device's sn. |
| | | * 根据设备码获取设备信息 |
| | | * @param sn device's sn |
| | | * @return device |
| | | */ |
| | | Optional<DeviceDTO> getDeviceBySn(String sn); |
| | | |
| | | /** |
| | | * Update the firmware version information of the device or payload. |
| | | * @param receiver |
| | | */ |
| | | void updateFirmwareVersion(FirmwareVersionReceiver receiver); |
| | | |
| | | /** |
| | | * Create job for device firmware updates. |
| | |
| | | * @return |
| | | */ |
| | | ResponseResult createDeviceOtaJob(String workspaceId, List<DeviceFirmwareUpgradeDTO> upgradeDTOS); |
| | | } |
| | | |
| | | /** |
| | | * Set the property parameters of the drone. |
| | | * @param workspaceId |
| | | * @param dockSn |
| | | * @param propertyEnum |
| | | * @param param |
| | | */ |
| | | void devicePropertySet(String workspaceId, String dockSn, DeviceSetPropertyEnum propertyEnum, JsonNode param); |
| | | |
| | | /** |
| | | * Set the property parameters of the drone. |
| | | * @param workspaceId |
| | | * @param dockSn |
| | | * @param param |
| | | * @return |
| | | */ |
| | | int devicePropertySet(String workspaceId, String dockSn, JsonNode param); |
| | | |
| | | /** |
| | | * Set one property parameters of the drone. |
| | | * @param topic |
| | | * @param propertyEnum |
| | | * @param value |
| | | */ |
| | | void deviceOnePropertySet(String topic, DeviceSetPropertyEnum propertyEnum, Map.Entry<String, Object> value); |
| | | |
| | | /** |
| | | * Check the working status of the dock. |
| | | * @param dockSn |
| | | * @return |
| | | */ |
| | | DockModeCodeEnum getDockMode(String dockSn); |
| | | |
| | | /** |
| | | * Query the working status of the aircraft. |
| | | * 查询飞行器的工作状态 |
| | | * @param deviceSn |
| | | * @return |
| | | */ |
| | | DeviceModeCodeEnum getDeviceMode(String deviceSn); |
| | | |
| | | /** |
| | | * Check if the dock is in drc mode. |
| | | * @param dockSn |
| | | * @return |
| | | */ |
| | | Boolean checkDockDrcMode(String dockSn); |
| | | |
| | | /** |
| | | * Check if the device has flight control. |
| | | * @param gatewaySn |
| | | * @return |
| | | */ |
| | | Boolean checkAuthorityFlight(String gatewaySn); |
| | | |
| | | } |