| | |
| | | package com.ard.work.service.impl; |
| | | |
| | | import com.ard.common.exception.ControlException; |
| | | import com.ard.vtdu.config.MediamtxConfig; |
| | | import com.ard.work.aspect.annotation.CheckControlRight; |
| | | import com.ard.work.aspect.annotation.CheckDroneStatus; |
| | | import com.ard.work.aspect.annotation.CheckNoFlyZone; |
| | |
| | | private TyClient tyClient; |
| | | @Autowired |
| | | private RouteStateMachineService stateMachineService; |
| | | @Autowired |
| | | private IArdFlightTaskPartService ardFlightTaskPartService; |
| | | |
| | | @Resource |
| | | private UavPositionChangeService uavPositionChangeService; |
| | | @Resource |
| | | private UavRegionDetectService uavRegionDetectService; |
| | | /** |
| | | * 获取边缘服务器token信息 |
| | | * |
| | |
| | | throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn); |
| | | } |
| | | //wayLineUploadDTO.setWayLineData(this.CreatePlanLineData());//设置航线数据 |
| | | System.out.println("wayLineUploadDTO:-----------------" + wayLineUploadDTO); |
| | | log.info("打印数据 ++++ wayLineUploadDTO:-----------------" + wayLineUploadDTO); |
| | | log.info("打印航线上传数据 ++++++++ wayLineUploadDTO:~~~~~~~~~~~~~~~" + wayLineUploadDTO); |
| | | WayLineUploadCmd wayLineUploadCmd = new WayLineUploadCmd(wayLineUploadDTO); |
| | | System.out.println("wayLineUploadCmd:-----------------" + wayLineUploadCmd); |
| | | this.sendMessage(ardDroneInfo.getServerId(), wayLineUploadCmd); |
| | | return true; |
| | | } |
| | |
| | | // 处理无人机遥测消息 |
| | | UavTelemetryDataCmd uavTelemetryDataCmd = (UavTelemetryDataCmd) tyCommand; |
| | | TelemetryData telemetryData = uavTelemetryDataCmd.getTelemetryData(); |
| | | |
| | | // 判断是否需要触发区域检测 |
| | | if (uavPositionChangeService.shouldTriggerRegionCheck(telemetryData)) { |
| | | log.debug("无人机 {} 位置变化,触发区域检测", telemetryData.getBoxSn()); |
| | | // 异步触发区域检测(不阻塞) |
| | | uavRegionDetectService.detectRegionAsync(telemetryData); |
| | | } else { |
| | | log.debug("无人机 {} 位置未变化,跳过区域检测", telemetryData.getBoxSn()); |
| | | } |
| | | |
| | | UavTelemetryDataCache.put(telemetryData); |
| | | //logPrint("无人机遥测", uavTelemetryDataCmd.getTelemetryData().getBoxSn()); |
| | | //WebSocketUtil.sendMessageAll(uavTelemetryDataCmd.getTelemetryData()); |