feat():更改工具类解析具体报文数据
parent
cddc395cb9
commit
83b4aaff49
|
@ -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 = "<?xml version=\"1.0\"?>\n" +
|
||||
// "<monitorRoot type=\"param\"><synchronizeSyptom event=\"0\" initial=\"true\"><Action_ECG><Rhythm>Sinus</Rhythm><HR>80</HR><EMD>No Change</EMD><Conduct>0</Conduct></Action_ECG><Action_Osat value=\"94\" isRelativePercent=\"false\"/><Action_BP isRelativePercent=\"false\"><Shrink value=\"120\"/><Stretch value=\"80\"/></Action_BP><Action_Resp breathType=\"Normal\" value=\"14\" isRelativePercent=\"false\"/><Action_etCO2 value=\"34\" isRelativePercent=\"false\"/><Action_Temperature value=\"35.2\"/><Action_CVP value=\"6.0\"/><Action_PAPDia value=\"10\"/><Action_PAPSys value=\"25\"/><Action_WP value=\"9\"/></synchronizeSyptom></monitorRoot>";
|
||||
// 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
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue