diff --git a/src/main/java/com/muyu/utils/ConversionUtil.java b/src/main/java/com/muyu/utils/ConversionUtil.java index 95ce368..e7cedd8 100644 --- a/src/main/java/com/muyu/utils/ConversionUtil.java +++ b/src/main/java/com/muyu/utils/ConversionUtil.java @@ -2,12 +2,14 @@ package com.muyu.utils; import com.muyu.domain.Vehicle; +import java.math.BigDecimal; import java.nio.charset.StandardCharsets; public class ConversionUtil { /** * 字符串转化成为16进制字符串 + * * @param s * @return */ @@ -22,7 +24,7 @@ public class ConversionUtil { return sb.toString(); } - public static void main (String[] args) { + public static void main(String[] args) { // String str = "\n" + // "Sinus
80No Change0
"; // String strToSixteen = strToSixteen(str); @@ -41,102 +43,152 @@ public class ConversionUtil { String substring = hexStringToString.substring(1, hexStringToString.length() - 2); String vin = substring.substring(0, 17); // 车辆vin String timestamp = substring.substring(17, 30); // 时间戳 - String longitude = substring.substring(30, 40); // 经度 - String latitude = substring.substring(40, 50); // 纬度 - String speed = substring.substring(50, 55); // 速度 - String mileage = substring.substring(55, 65); // 总里程 - String voltage = substring.substring(49, 53); // 总电压 - String current = substring.substring(53, 57); // 总电流 - String resistance = substring.substring(57, 61); // 绝缘电阻 - String gear = substring.substring(61, 62); // 档位 - String accelerationPedal = substring.substring(62, 63); // 加速踏板行程值 - String brakePedal = substring.substring(63, 64); // 制动踏板行程值 - String fuelConsumptionRate = substring.substring(64, 65); // 燃油消耗率 - String motorControllerTemperature = substring.substring(65, 67); // 电机控制器温度 - String motorSpeed = substring.substring(67, 69); // 电机转速 - String motoTorque = substring.substring(69, 71); //电机转矩 - String motorTemperature = substring.substring(71, 73); // 电机温度 - String motorVoltage = substring.substring(73, 75); // 电机电压 - String motorCurrent = substring.substring(75, 77); // 电机电流 - String remainingBattery = substring.substring(77, 79); // 动力电池剩余电量SOC - String maximumFeedbackPower = substring.substring(79, 81); // 当前状态允许的最大反馈功率 - String maximumDischargePower = substring.substring(81, 83); // 当前状态允许的最大放电功率 - String selfCheckCounter = substring.substring(83,88); // 动力电池放电电流 - String totalBatteryVoltage = substring.substring(88, 90); // 动力电池负载端总电压V3 - String singleBatteryMaxVoltage = substring.substring(90, 92); // 单次最大电压 - String singleBatteryMinVoltage = substring.substring(92, 94); // 单次最低电压 - String singleBatteryMaxTemperature = substring.substring(94, 96); // 单体电池最高温度 - String singleBatteryMinTemperature = substring.substring(96, 98); // 单体电池最低温度 - String availableBatteryCapacity = substring.substring(98, 100); // 动力电池可用容量 - String vehicleStatus = substring.substring(100, 101); // 车辆状态 - String chargingStatus = substring.substring(101, 102); // 充电状态 - String operatingStatus = substring.substring(102, 103); // 运行状态 - String chargingEnergyStorageStatus = substring.substring(103, 104); // SOC - String driveMotorStatus = substring.substring(104, 105); // 可充电储能装置工作状态 - String positionStatus = substring.substring(104, 105); // 定位是否有效 - String easStatus = substring.substring(104, 105); // EAS(汽车防盗系统)状态 - String ptcStatus = substring.substring(104, 105); // PTC(主动安全系统)状态 - String epsStatus = substring.substring(104, 105); // EPS(电动助力系统)状态 - String absStatus = substring.substring(104, 105); // ABS(防抱死)状态 - String mcuStatus = substring.substring(104, 105); // MCU(电机/逆变器)状态 - String heatingStatus = substring.substring(104, 105); // 动力电池加热状态 - String batteryStatus = substring.substring(104, 105); // 动力电池当前状态 - String batteryInsulationStatus = substring.substring(104, 105); // 动力电池保温状态 - String dcdcStatus = substring.substring(104, 105); // DCDC(电力交换系统)状态 - String chgStatus = substring.substring(104, 105); // CHG(充电机)状态 + String longitude = substring.substring(30, 41); // 经度 + String latitude = substring.substring(41, 51); // 纬度 + String speed = substring.substring(51, 57); // 速度 + String mileage = substring.substring(57, 68); // 总里程 + String voltage = substring.substring(68, 74); // 总电压 + String current = substring.substring(74, 79); // 总电流 + String resistance = substring.substring(79, 88); // 绝缘电阻 + String gear = substring.substring(88, 89); // 档位 + String accelerationPedal = substring.substring(89, 91); // 加速踏板行程值 + String brakePedal = substring.substring(91, 93); // 制动踏板行程值 + String fuelConsumptionRate = substring.substring(93, 98); // 燃料消耗率 + String motorControllerTemperature = substring.substring(98, 104); // 电机控制器温度 + String motorSpeed = substring.substring(104, 109); // 电机转速 + String motoTorque = substring.substring(109, 113); //电机转矩 + String motorTemperature = substring.substring(113, 119); // 电机温度 + String motorVoltage = substring.substring(119, 124); // 电机电压 + String motorCurrent = substring.substring(124, 132); // 电机电流 + String remainingBattery = substring.substring(132, 138); // 动力电池剩余电量SOC + String maximumFeedbackPower = substring.substring(138, 144); // 当前状态允许的最大反馈功率 + String maximumDischargePower = substring.substring(144, 150); // 当前状态允许的最大放电功率 + String selfCheckCounter = substring.substring(150, 152); // BMS自检计数器 + String totalBatteryCurrent = substring.substring(152, 157); // 动力电池充放电电流 + String totalBatteryVoltage = substring.substring(157, 163); // 动力电池负载端总电压V3 + String singleBatteryMaxVoltage = substring.substring(163, 167); // 单次最大电压 + String singleBatteryMinVoltage = substring.substring(167, 171); // 单次最低电压 + String singleBatteryMaxTemperature = substring.substring(171, 177); // 单体电池最高温度 + String singleBatteryMinTemperature = substring.substring(177, 183); // 单体电池最低温度 + String availableBatteryCapacity = substring.substring(183, 189); // 动力电池可用容量 + String vehicleStatus = substring.substring(189, 190); // 车辆状态 + String chargingStatus = substring.substring(190, 191); // 充电状态 + String operatingStatus = substring.substring(191, 192); // 运行状态 + String chargingEnergyStorageStatus = substring.substring(192, 193); // SOC + String driveMotorStatus = substring.substring(193, 194); // 可充电储能装置工作状态 + String positionStatus = substring.substring(194, 195); // 定位是否有效 + String easStatus = substring.substring(195, 196); // EAS(汽车防盗系统)状态 + String ptcStatus = substring.substring(196, 197); // PTC(主动安全系统)状态 + String epsStatus = substring.substring(197, 198); // EPS(电动助力系统)状态 + String absStatus = substring.substring(198, 199); // ABS(防抱死)状态 + String mcuStatus = substring.substring(199, 200); // MCU(电机/逆变器)状态 + String heatingStatus = substring.substring(200, 201); // 动力电池加热状态 + String batteryStatus = substring.substring(201, 202); // 动力电池当前状态 + String batteryInsulationStatus = substring.substring(202, 203); // 动力电池保温状态 + String dcdcStatus = substring.substring(203, 204); // DCDC(电力交换系统)状态 + String chgStatus = substring.substring(204, 205); // CHG(充电机)状态 - Vehicle vehicle = new Vehicle(); +// Vehicle vehicle = new Vehicle(vin, +// timestamp, +// longitude, +// latitude, +// speed, +// mileage, +// voltage, +// current, +// resistance, +// gear, +// accelerationPedal, +// brakePedal, +// fuelConsumptionRate, +// motorControllerTemperature, +// motorSpeed, +// motoTorque, +// motorTemperature, +// motorVoltage, +// motorCurrent, +// remainingBattery, +// maximumFeedbackPower, +// maximumDischargePower, +// selfCheckCounter, +// totalBatteryCurrent, +// totalBatteryVoltage, +// singleBatteryMaxVoltage, +// singleBatteryMinVoltage, +// singleBatteryMaxTemperature, +// singleBatteryMinTemperature, +// availableBatteryCapacity, +// vehicleStatus, +// chargingStatus, +// operatingStatus, +// chargingEnergyStorageStatus, +// driveMotorStatus, +// positionStatus, +// easStatus, +// ptcStatus, +// epsStatus, +// absStatus, +// mcuStatus, +// heatingStatus, +// batteryStatus, +// batteryInsulationStatus, +// dcdcStatus, +// chgStatus); System.out.println( - vin+"n\t"+ - timestamp+"n\t"+ - longitude+"n\t"+ - latitude+"n\t"+ - speed+"n\t"+ - mileage+"n\t"+ - voltage+"n\t"+ - current+"n\t"+ - resistance+"n\t"+ - gear+"n\t"+ - accelerationPedal+"n\t"+ - brakePedal+"n\t"+ - fuelConsumptionRate+"n\t"+ - motorControllerTemperature+"n\t"+ - motorSpeed+"n\t"+ - motoTorque+"n\t"+ - motorTemperature+"n\t"+ - motorVoltage+"n\t"+ - motorCurrent+"n\t"+ - remainingBattery+"n\t"+ - maximumFeedbackPower+"n\t"+ - maximumDischargePower+"n\t"+ - selfCheckCounter+"n\t"+ - totalBatteryVoltage+"n\t"+ - singleBatteryMaxVoltage+"n\t"+ - singleBatteryMinVoltage+"n\t"+ - singleBatteryMaxTemperature+"n\t"+ - singleBatteryMinTemperature+"n\t"+ - availableBatteryCapacity+"n\t"+ - vehicleStatus+"\n\t"+ - chargingStatus+"\n\t"+ - operatingStatus+"\n\t"+ - chargingEnergyStorageStatus+"\n\t"+ - driveMotorStatus+"\n\t"+ - positionStatus+"\n\t"+ - easStatus+"\n\t"+ - ptcStatus+"\n\t"+ - epsStatus+"\n\t"+ - absStatus+"\n\t"+ - mcuStatus+"\n\t"+ - heatingStatus+"\n\t"+ - batteryStatus+"\n\t"+ - batteryInsulationStatus+"\n\t"+ - dcdcStatus+"\n\t"+ - chgStatus+"\n\t" + "车辆vin:" + vin + "\n\t" + + "时间戳:" + timestamp + "\n\t" + + "经度:" + longitude + "\n\t" + + "纬度:" + latitude + "\n\t" + + "速度:" + speed + "\n\t" + + "总里程:" + mileage + "\n\t" + + "总电压:" + voltage + "\n\t" + + "总电流:" + current + "\n\t" + + "绝缘电阻:" + resistance + "\n\t" + + "档位:" + gear + "\n\t" + + "加速踏板行程值:" + accelerationPedal + "\n\t" + + "制动踏板行程值:" + brakePedal + "\n\t" + + "燃料消耗率:" + fuelConsumptionRate + "\n\t" + + "电机控制器温度:" + motorControllerTemperature + "\n\t" + + "电机转速:" + motorSpeed + "\n\t" + + "电机转矩:" + motoTorque + "\n\t" + + "电机温度:" + motorTemperature + "\n\t" + + "电机电压:" + motorVoltage + "\n\t" + + "电机电流:" + motorCurrent + "\n\t" + + "动力电池剩余电量SOC:" + remainingBattery + "\n\t" + + "当前状态允许的最大反馈功率:" + maximumFeedbackPower + "\n\t" + + "当前状态允许的最大放电功率:" + maximumDischargePower + "\n\t" + + "BMS自检计数器:" + totalBatteryCurrent + "\n\t" + + "动力电池充放电电流:" + selfCheckCounter + "\n\t" + + "动力电池负载端总电压V3:" + totalBatteryVoltage + "\n\t" + + "单次最大电压:" + singleBatteryMaxVoltage + "\n\t" + + "单次最低电压:" + singleBatteryMinVoltage + "\n\t" + + "单体电池最高温度:" + singleBatteryMaxTemperature + "\n\t" + + "单体电池最低温度:" + singleBatteryMinTemperature + "\n\t" + + "动力电池可用容量:" + availableBatteryCapacity + "\n\t" + + "车辆状态:" + vehicleStatus + "\n\t" + + "充电状态:" + chargingStatus + "\n\t" + + "运行状态:" + operatingStatus + "\n\t" + + "SOC:" + chargingEnergyStorageStatus + "\n\t" + + "可充电储能装置工作状态:" + driveMotorStatus + "\n\t" + + "定位是否有效:" + positionStatus + "\n\t" + + "EAS(汽车防盗系统)状态:" + easStatus + "\n\t" + + "PTC(主动安全系统)状态:" + ptcStatus + "\n\t" + + "EPS(电动助力系统)状态:" + epsStatus + "\n\t" + + "ABS(防抱死)状态:" + absStatus + "\n\t" + + "MCU(电机/逆变器)状态:" + mcuStatus + "\n\t" + + "动力电池加热状态:" + heatingStatus + "\n\t" + + "动力电池当前状态:" + batteryStatus + "\n\t" + + "动力电池保温状态:" + batteryInsulationStatus + "\n\t" + + "DCDC(电力交换系统)状态:" + dcdcStatus + "\n\t" + + "CHG(充电机)状态:" + chgStatus + "\n\t" ); + BigDecimal mileages = new BigDecimal(substring.substring(57, 68)); + System.out.println("转换值"+mileages); } /** * 16进制转换成为string类型字符串 + * * @param s * @return */