From 54813dd0d4dea2a23c8b04d8f5cc369e7f024c4f Mon Sep 17 00:00:00 2001 From: weidong Date: Tue, 2 Jan 2024 16:29:09 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9https=E4=B8=8Bwebso?= =?UTF-8?q?cket=E5=BB=BA=E7=AB=8B=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=202=E3=80=81d3f0=E6=B6=88=E6=81=AF=E6=91=98=E8=A6=81?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BAIMEI=E5=92=8C=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sideslope/message/D3F0SelfCheckMessage.java | 11 ++++++++++- .../sideslope/service/DataPersistServiceImpl.java | 15 +++++++++++---- .../main/resources/templates/page/cmd_line.html | 7 +++++-- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/message/D3F0SelfCheckMessage.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/message/D3F0SelfCheckMessage.java index 3c4179cd..ae4f60c5 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/message/D3F0SelfCheckMessage.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/message/D3F0SelfCheckMessage.java @@ -5,6 +5,8 @@ import io.netty.buffer.ByteBuf; import lombok.Data; import lombok.EqualsAndHashCode; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.time.LocalTime; /** @@ -18,6 +20,8 @@ import java.time.LocalTime; public class D3F0SelfCheckMessage extends BaseMessage { GnssStatusMsg statusMsg = new GnssStatusMsg(); + String firmwareVersion; + String imei; @Override public void decodeBody(ByteBuf src) { @@ -33,9 +37,14 @@ public class D3F0SelfCheckMessage extends BaseMessage { statusMsg.setRssi(src.readUnsignedByte()); statusMsg.setVoltage(src.readUnsignedShort()); // skip version - src.readUnsignedShort(); + int ver = src.readUnsignedShort(); + firmwareVersion = ((ver>>8)&0xFF) + "." + ((ver>>4)&0xF) + "." + (ver&0xF); statusMsg.setTemperature((float) (src.readUnsignedShort()/10)); statusMsg.setHumidity((float) (src.readUnsignedShort()/10)); + // imei + if(src.readableBytes()>=15){ + imei = src.readCharSequence(15, StandardCharsets.UTF_8).toString(); + } } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java index 5c9e8a53..fdd87dea 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/service/DataPersistServiceImpl.java @@ -74,8 +74,12 @@ public class DataPersistServiceImpl implements DataPersistService { else deviceStateRepository.updateById(deviceState); // 保存消息摘要 - saveMsg(message); - + if(message.getImei()!=null) { + saveMsg(message, "IMEI:" + message.getImei() + ", ver:" + message.getFirmwareVersion()); + } + else{ + saveMsg(message, "ver:" + message.getFirmwareVersion()); + } } catch (Exception e) { e.printStackTrace(); } @@ -89,7 +93,7 @@ public class DataPersistServiceImpl implements DataPersistService { trxMsg.setTenantid(message.getTenantId()); trxMsgMapper.insert(trxMsg); // 保存消息摘要 - saveMsg(message); + saveMsg(message,null); // 检测该对象是否已存在 GnssStatus deviceState = deviceStateRepository.getByDeviceId(message.getId()); @@ -108,7 +112,7 @@ public class DataPersistServiceImpl implements DataPersistService { } } - void saveMsg(BaseMessage message){ + void saveMsg(BaseMessage message,String content){ GnssMsg gnssMsg = new GnssMsg(); gnssMsg.setTenantid(message.getTenantId()); gnssMsg.setCreatetime(message.getCreateTime()); @@ -116,6 +120,9 @@ public class DataPersistServiceImpl implements DataPersistService { gnssMsg.setMsgtype(message.getHeader()); gnssMsg.setMsglen(message.getLen()); gnssMsg.setTx(false); + if(content!=null && content.length()<=128) { + gnssMsg.setContent(content); + } msgMapper.insert(gnssMsg); } diff --git a/sec-beidou/src/main/resources/templates/page/cmd_line.html b/sec-beidou/src/main/resources/templates/page/cmd_line.html index 6508d7eb..0873df40 100644 --- a/sec-beidou/src/main/resources/templates/page/cmd_line.html +++ b/sec-beidou/src/main/resources/templates/page/cmd_line.html @@ -124,8 +124,10 @@ var basePath = curPath.substring(0, pos); //建立webSocket连接 - //var webSocktPath = (basePath+"/websocket").replace("https","wss"); - var webSocktPath = (basePath+"/websocket").replace("http","ws"); + var webSocktPath; + if(basePath.indexOf("https") != -1) + webSocktPath = (basePath+"/websocket").replace("https","ws"); + else webSocktPath = (basePath+"/websocket").replace("http","ws"); var websocket = new WebSocket(webSocktPath); //打开webSokcet连接时,回调该函数 @@ -134,6 +136,7 @@ } websocket.onerror = function (){ console.log("Socket error"); + layui.alert("Open web socket failed!"); } //接收信息 websocket.onmessage = function (event) {