From 39fcfbb4e28a551288616b9356b1ceeead543545 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 27 Aug 2024 08:48:05 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=94=B5=E5=8D=95=E8=BD=A6=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/handler/electricbicycles/AbstractEBikeHandler.java | 4 ---- .../netty/handler/electricbicycles/RegistrationHandler.java | 3 ++- .../pile/domain/ebike/deviceupload/EBikeMessageCmd20.java | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/AbstractEBikeHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/AbstractEBikeHandler.java index 8d49ec51b..2cba58195 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/AbstractEBikeHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/AbstractEBikeHandler.java @@ -38,21 +38,17 @@ public abstract class AbstractEBikeHandler implements InitializingBean { protected byte[] getResult(EBikeDataProtocol dataProtocol, byte[] messageBody) { // 起始标志 byte[] head = dataProtocol.getHead(); - // 长度 = 物理ID(4) + 消息ID(2) + 命令(1) + 数据(n) + 校验(2),每包最多256字节 byte[] length = BytesUtil.intToBytesLittle(9 + messageBody.length); - // 物理id byte[] physicalId = dataProtocol.getPhysicalId(); // 加密标志 byte[] messageId = dataProtocol.getMessageId(); // 请求帧类型 byte[] command = dataProtocol.getCommand(); - // 整个数据包中的每个字节(不包括校验字段本身) byte[] dataFields = Bytes.concat(head, length, physicalId, messageId, command, messageBody); byte[] checkFieldBytes = YouDianUtils.getCheckFieldBytes(dataFields); - return Bytes.concat(dataFields, checkFieldBytes); } diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/RegistrationHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/RegistrationHandler.java index d39052923..bbf58ea16 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/RegistrationHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/electricbicycles/RegistrationHandler.java @@ -1,6 +1,7 @@ package com.jsowell.netty.handler.electricbicycles; import com.alibaba.fastjson2.JSON; +import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ebike.EBikeDataProtocol; import com.jsowell.netty.factory.EBikeOperateFactory; import com.jsowell.pile.domain.ebike.AbsEBikeMessage; @@ -36,6 +37,6 @@ public class RegistrationHandler extends AbstractEBikeHandler { EBikeMessageCmd20 message = (EBikeMessageCmd20) AbsEBikeMessage.parseMessage(dataProtocol.getBytes()); EBikeMessageCmd20.DeviceRegister deviceRegister = message.getDeviceRegister(); log.info("设备注册包:{}", JSON.toJSONString(message)); - return new byte[0]; + return getResult(dataProtocol, Constants.zeroByteArray); } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd20.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd20.java index 2a40b3afc..9d6e4895d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd20.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/ebike/deviceupload/EBikeMessageCmd20.java @@ -60,10 +60,10 @@ public class EBikeMessageCmd20 extends AbsEBikeMessage { private String powerBoardVersion; public DeviceRegister(byte[] dataBytes) { - this.firmwareVersion = BytesUtil.bytesToIntLittle(Arrays.copyOfRange(dataBytes, 0, 2)) + ""; + this.firmwareVersion = BytesUtil.bytesToIntLittle(Arrays.copyOfRange(dataBytes, 0, 2)) * 0.01 + ""; this.portNumber = BytesUtil.bytesToIntLittle(Arrays.copyOfRange(dataBytes, 2, 3)) + ""; this.virtualId = BytesUtil.bytesToIntLittle(Arrays.copyOfRange(dataBytes, 3, 4)) + ""; - this.deviceType = BytesUtil.bcd2StrLittle(Arrays.copyOfRange(dataBytes, 4, 5)); + this.deviceType = BytesUtil.printHexBinary(Arrays.copyOfRange(dataBytes, 4, 5)); this.workMode = BytesUtil.bcd2StrLittle(Arrays.copyOfRange(dataBytes, 5, 6)); this.powerBoardVersion = BytesUtil.bcd2StrLittle(Arrays.copyOfRange(dataBytes, 6, 8)); }