diff --git a/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/model/ModbusRtu.java b/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/model/ModbusRtu.java index 32dcb007..c87d6283 100644 --- a/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/model/ModbusRtu.java +++ b/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/model/ModbusRtu.java @@ -47,7 +47,7 @@ public class ModbusRtu extends Message { protected int start; @Column(length = 1, version = {0x80, 0x81}, desc = "标识位,实例设备是0x80") protected int mId; - @Column(length = 6, version = 0x80, desc = "MAC地址,6个字节") + @Column(length = 6, version = {0x80, 0x81}, desc = "MAC地址,6个字节") protected String mac; @Column(length = 1, version = {0x80, 0x81}, desc = "结尾,如:7E") protected int end; diff --git a/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/pak/ModbusEndPoint.java b/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/pak/ModbusEndPoint.java index aad04a54..417c0efb 100644 --- a/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/pak/ModbusEndPoint.java +++ b/fastbee-protocol/fastbee-protocol-collect/src/main/java/com/fastbee/modbus/pak/ModbusEndPoint.java @@ -39,7 +39,14 @@ public class ModbusEndPoint { @PakMapping(types = 心跳包) public void heartbeat(DeviceReport message, Session session) { - + //心跳包处理:确保设备注册并更新在线状态 + if (!session.isRegistered()) { + session.register(message); + //记录设备信息 + DeviceMsg deviceMsg = new DeviceMsg(); + deviceMsg.setClientId(message.getClientId()); + session.setAttribute(SessionKey.DeviceMsg, deviceMsg); + } } }