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