mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 电单车协议
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.jsowell.common;
|
||||
|
||||
import com.jsowell.common.util.BytesUtil;
|
||||
import com.jsowell.common.util.YKCUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -119,18 +118,22 @@ public class YouDianUtils {
|
||||
return bytes;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
byte[] result1 = convertPortNumberToBytes(1); // 输出: [0, 0]
|
||||
byte[] result2 = convertPortNumberToBytes(2); // 输出: [0, 1]
|
||||
byte[] result10 = convertPortNumberToBytes(10); // 输出: [0, 9]
|
||||
byte[] result11 = convertPortNumberToBytes(11); // 输出: [0, 10]
|
||||
byte[] result16 = convertPortNumberToBytes(16); // 输出: [0, 15]
|
||||
/**
|
||||
* 端口号转换
|
||||
* 指充电桩的插口号,端口号从0开始,如0x00-0x0F则代表第1路-第16路,0x00=第1路,0x09=第十路,0x0A=第十一路,FF=设备智能选择端口(服务器下发);
|
||||
* @param port
|
||||
* @return
|
||||
*/
|
||||
public static byte[] convertPortNumberToBytes(String port) {
|
||||
int portNumber = Integer.parseInt(port);
|
||||
if (portNumber < 1 || portNumber > 16) {
|
||||
throw new IllegalArgumentException("Port number must be between 1 and 16.");
|
||||
}
|
||||
|
||||
// 打印结果
|
||||
System.out.println(YKCUtils.frameType2Str(result1));
|
||||
System.out.println(YKCUtils.frameType2Str(result2));
|
||||
System.out.println(YKCUtils.frameType2Str(result10));
|
||||
System.out.println(YKCUtils.frameType2Str(result11));
|
||||
System.out.println(YKCUtils.frameType2Str(result16));
|
||||
// 端口号从1开始,因此需要减去1
|
||||
int hexValue = portNumber - 1;
|
||||
|
||||
// 转换为字节数组
|
||||
return BytesUtil.intToBytesLittle(hexValue, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class EBikeMessageCmd82 extends AbsEBikeMessage {
|
||||
public static class SpecificData {
|
||||
private String rateMode; // 费率模式 (1字节)
|
||||
private String balanceOrValidity; // 余额/有效期 (4字节)
|
||||
private String portNumber; // 端口号 (1字节)
|
||||
private String portNumber; // 端口号 (指实际端口号, 发指令的时候自动转换为桩能识别的byte字节)
|
||||
private String chargeCommand; // 充电命令 (1字节)
|
||||
private String chargeDurationOrPower; // 充电时长/电量 (2字节)
|
||||
private String orderNumber; // 订单编号 (16字节)
|
||||
@@ -146,7 +146,7 @@ public class EBikeMessageCmd82 extends AbsEBikeMessage {
|
||||
// 余额/有效期
|
||||
byte[] balanceOrValidityBytes = BytesUtil.stringToHexBytes(balanceOrValidity, 4);
|
||||
// 端口号
|
||||
byte[] portNumberBytes = BytesUtil.stringToHexBytes(portNumber, 1);
|
||||
byte[] portNumberBytes = YouDianUtils.convertPortNumberToBytes(portNumber);
|
||||
// 充电命令
|
||||
byte[] chargeCommandBytes = BytesUtil.stringToHexBytes(chargeCommand, 1);
|
||||
// 充电时长/电量
|
||||
|
||||
@@ -31,7 +31,7 @@ public class EBikeSendCommandServiceImpl implements EBikeSendCommandService {
|
||||
// 余额或有效期
|
||||
data.setBalanceOrValidity("0");
|
||||
// 端口号
|
||||
data.setPortNumber("0");
|
||||
data.setPortNumber("1");
|
||||
// 充电命令
|
||||
data.setChargeCommand("1");
|
||||
// 充电时长/功率
|
||||
|
||||
Reference in New Issue
Block a user