From d1e65a28fc73b543b8f34fe118712573682ff2fc Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期三, 17 一月 2024 02:54:28 +0800 Subject: [PATCH] 优化吴家协议 --- src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java index e5d8c2a..5c2e562 100644 --- a/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java +++ b/src/main/java/com/fzzy/protocol/wujia/analysis/AnalysisService.java @@ -59,10 +59,17 @@ * data1L data1H-----18B20杩斿洖娓╁害 * 娉ㄦ剰锛氱伯娓╄繑鍥炴暟鎹珮浣嶅湪鍚庯紝浣庝綅鍦ㄥ墠锛岃浆鎹负鍗佽繘鍒跺悗涔樹互0.0625锛屽緱鍒板疄闄呮俯搴﹀�� * 浠撴俯婀垮害楂樹綅鍦ㄥ墠锛屼綆浣嶅湪鍚庯紝杞崲涓哄崄杩涘埗鍚庝箻浠�0.1寰楀埌瀹為檯娓╂箍搴﹀�� - * + * 02 + * 89 00 7A 00 E2 00 8C 00 7D 00 E9 00 99 00 82 00 EC 00 87 00 87 00 ED 00 83 00 77 00 EF 00 92 00 7D 00 08 01 87 00 77 00 03 01 7F 00 7A 00 F6 00 + * 9B 00 5D 00 D1 00 + * 84 00 65 00 D4 00 8D 00 6D 00 D6 00 89 00 6E 00 DD 00 87 00 61 00 CA 00 81 00 6B 00 DA 00 81 00 68 00 E2 00 86 00 69 00 D0 00 + * 87 00 6D 00 E4 00 88 00 71 00 07 01 8E 00 76 00 13 01 82 00 75 00 EB 00 86 00 6D 00 DB 00 83 00 71 00 F1 00 87 00 7B 00 03 01 79 00 7D 00 F7 00 + * 02 C1 00 6D AA BB CC * @param strMsg */ private void analysisGrainStep1(InetAddress address, String strMsg) { + strMsg = strMsg.substring(0,strMsg.length()-6); + log.info("瀹屾暣鐨勬暟鎹綋锛�"+strMsg); int start = 0; int len = 1 * 2; String tag = strMsg.substring(start, start + 2); @@ -78,13 +85,13 @@ //浠撳唴婀垮害 start = 1 * 2; len = 2 * 2; - tag = strMsg.substring(start, start + len); + tag = strMsg.substring(strMsg.length()-8,strMsg.length() -4); double hIn = BytesUtil.hexToInt(tag) * 0.1; //浠撳唴娓╁害 start = 3 * 2; len = 2 * 2; - tag = strMsg.substring(start, start + len); + tag = strMsg.substring(strMsg.length()-4,strMsg.length() ); double tIn = BytesUtil.hexToInt(tag) * 0.1; GatewayDevice device = reqData.getDevice(); @@ -97,12 +104,12 @@ int sumNum = cableZ * cableY * cableX; //绮俯淇℃伅 - start = 5 * 2; + start = 2; len = 2 * 2; List<Double> points = new ArrayList<>(); double temp = 0.0; for (int i = 0; i < sumNum; i++) { - start = start + i * 2 * 2; + start = i * 2 * 2 +2; tag = strMsg.substring(start, start + len); temp = BytesUtil.hexToInt(BytesUtil.tran_LH(tag)) * 0.0625; temp = NumberUtil.keepPrecision(temp, 1); -- Gitblit v1.9.3