| | |
| | | import java.util.concurrent.ScheduledFuture; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import static com.ard.utils.netty.tcp.ClientInitialize.aroundScanfMap; |
| | | import static com.ard.utils.util.ByteUtils.toLittleEndian; |
| | | |
| | | /** |
| | |
| | | String alarmTime = ""; |
| | | Integer targetNum = 0; |
| | | log.debug("处理雷达" + radarName + "数据-->命令ID:" + cmdIdStr); |
| | | //前端工作状态反馈 |
| | | if (Arrays.equals(cmdId, new byte[]{0x00})) { |
| | | //region 告警信息反馈 |
| | | byte[] dfScanAngV = Arrays.copyOfRange(data, 4, 12); |
| | | dfScanAngV = toLittleEndian(dfScanAngV); |
| | | double ScanAngV = ByteUtils.bytesToDouble(dfScanAngV); |
| | | log.info("设备扫描的俯仰角度:" + ScanAngV); |
| | | |
| | | byte[] dfAngDy = Arrays.copyOfRange(data, 12, 20); |
| | | dfAngDy = toLittleEndian(dfAngDy); |
| | | double AngDy = ByteUtils.bytesToDouble(dfAngDy); |
| | | log.info("周视图像的垂直视场角度:" + AngDy); |
| | | |
| | | byte[] iImgW = Arrays.copyOfRange(data, 20, 24); |
| | | iImgW = toLittleEndian(iImgW); |
| | | int ImgW = ByteUtils.bytesToDecimal(iImgW); |
| | | log.info("周视图像的宽:" + ImgW); |
| | | byte[] iImgH = Arrays.copyOfRange(data, 24, 28); |
| | | iImgH = toLittleEndian(iImgH); |
| | | int ImgH = ByteUtils.bytesToDecimal(iImgH); |
| | | log.info("周视图像的高:" + ImgH); |
| | | |
| | | byte[] cStat = Arrays.copyOfRange(data, 28, 29); |
| | | // 提取第4位至第6位的值 |
| | | cStat = toLittleEndian(cStat); |
| | | int Stat = cStat[0] & 0b00000001; |
| | | log.info("设备当前工作状态:" + Stat); |
| | | aroundScanfMap.put(radar.getIp()+":"+radar.getPort(),Stat); |
| | | |
| | | } |
| | | //雷达移动防火报警 |
| | | if (Arrays.equals(cmdId, new byte[]{0x01})) { |
| | | //region 告警信息反馈 |
| | |
| | | log.error("雷达报文解析异常:" + ex.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | } |