ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -253,8 +253,11 @@ } catch (IOException | ClassNotFoundException e) { throw new RuntimeException(e); } // 1.2通过minio获取航线信息 // 2.将航线信息转换成对应实体类 WayLineUploadDTO wayLineUploadDTO = buildWayLineUploadDTO(route); wayLineUploadDTO.setBoxSn(boxSn); // 3.调用接口 tyService.wayLineUpload(wayLineUploadDTO); return true; ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
@@ -249,4 +249,19 @@ // ardRouteActions2.setType(1); // ardRouteActions2.setWaitTime(2); // } public byte[] testParameters() { String data = "74 79 01 3C 44 42 4D 32 35 30 39 37 34 30 36 35 30 30 38 D1 00 10 08 01 15 00 00 70 41 1D 00 00 00 41 22 4A 09 06 9C E7 80 8B F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 F0 41 25 00 00 00 41 2A 09 08 01 15 00 00 20 41 18 02 2A 09 08 03 15 00 00 80 3F 18 02 2A 09 08 04 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 55 09 F1 BC 12 50 7A F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 20 42 25 00 00 00 41 2A 09 08 09 15 00 00 A0 41 18 02 2A 09 08 06 15 00 00 20 42 18 02 2A 09 08 07 15 00 00 20 42 18 02 2A 09 08 08 15 00 00 20 42 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 3F 09 F1 BC 12 50 7A F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 48 42 25 00 00 00 41 2A 09 08 09 15 00 00 70 41 18 02 2A 09 08 0A 15 00 00 40 40 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 34 09 06 9C E7 80 8B F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 70 42 25 00 00 00 41 2A 09 08 02 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 30 32 70 32"; String[] hexStrings = data.split(" "); StringBuilder sb = new StringBuilder(); sb.append("byte[] encodedBytes = {"); for (int i = 0; i < hexStrings.length; i++) { sb.append("(byte) 0x").append(hexStrings[i]); if (i < hexStrings.length - 1) { sb.append(", "); } } sb.append("};"); return sb.toString().getBytes(); } } ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java
@@ -125,8 +125,9 @@ } // 检查在线状态 if (checkDroneStatus.checkOnline()) { Boolean online = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn); if (online == null || !online) { // 3️⃣ 检查在线状态 BoxInfoReceiver obj = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn); if (obj == null || !obj.getOnLine().equals(1)) { throw new ControlException("无人机离线,无法执行操作!boxSn: " + boxSn); } } ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java
@@ -7,6 +7,8 @@ import io.netty.handler.codec.MessageToByteEncoder; import lombok.extern.slf4j.Slf4j; import java.util.Arrays; @Slf4j public class MessageProtocolEncoder extends MessageToByteEncoder<BaseCmd> { @Override @@ -24,9 +26,25 @@ // 打印编码后的字节数组 byte[] encodedBytes = new byte[out.readableBytes()]; // 创建字节数组,大小为可读字节数 out.getBytes(out.readerIndex(), encodedBytes); // 读取ByteBuf中的字节到字节数组中 // log.warn("Encoded message bytes: {}", Arrays.toString(encodedBytes)); log.warn("encodedBytes message bytes: {}------", encodedBytes); log.warn("Encoded message bytes: {}------", Arrays.toString(encodedBytes)); // 将字节数组转换为十六进制格式 String hexString = ByteUtils.bytesToHexWithSpaces(encodedBytes); log.warn("Encoded message in hex: {}", hexString); } public byte[] testParameters() { String data = "74 79 01 3C 44 42 4D 32 35 30 39 37 34 30 36 35 30 30 38 D1 00 10 08 01 15 00 00 70 41 1D 00 00 00 41 22 4A 09 06 9C E7 80 8B F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 F0 41 25 00 00 00 41 2A 09 08 01 15 00 00 20 41 18 02 2A 09 08 03 15 00 00 80 3F 18 02 2A 09 08 04 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 55 09 F1 BC 12 50 7A F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 20 42 25 00 00 00 41 2A 09 08 09 15 00 00 A0 41 18 02 2A 09 08 06 15 00 00 20 42 18 02 2A 09 08 07 15 00 00 20 42 18 02 2A 09 08 08 15 00 00 20 42 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 3F 09 F1 BC 12 50 7A F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 48 42 25 00 00 00 41 2A 09 08 09 15 00 00 70 41 18 02 2A 09 08 0A 15 00 00 40 40 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 34 09 06 9C E7 80 8B F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 70 42 25 00 00 00 41 2A 09 08 02 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 30 32 70 32"; String[] hexStrings = data.split(" "); StringBuilder sb = new StringBuilder(); sb.append("byte[] encodedBytes = {"); for (int i = 0; i < hexStrings.length; i++) { sb.append("(byte) 0x").append(hexStrings[i]); if (i < hexStrings.length - 1) { sb.append(", "); } } sb.append("};"); return sb.toString().getBytes(); } } ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -750,7 +750,9 @@ throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn); } //wayLineUploadDTO.setWayLineData(this.CreatePlanLineData());//设置航线数据 System.out.println("wayLineUploadDTO:-----------------" + wayLineUploadDTO); WayLineUploadCmd wayLineUploadCmd = new WayLineUploadCmd(wayLineUploadDTO); System.out.println("wayLineUploadCmd:-----------------" + wayLineUploadCmd); this.sendMessage(ardDroneInfo.getServerId(), wayLineUploadCmd); return true; }