diff --git a/src/main/java/com/ccsens/pelma_analyse/service/SerialService.java b/src/main/java/com/ccsens/pelma_analyse/service/SerialService.java index 068790b..ac5809c 100644 --- a/src/main/java/com/ccsens/pelma_analyse/service/SerialService.java +++ b/src/main/java/com/ccsens/pelma_analyse/service/SerialService.java @@ -8,6 +8,7 @@ public interface SerialService { void connect(); void initLora(SerialPort openSerial) throws Exception; void sendData(SerialPort openSerial) throws Exception; + void sendPelmaData(SerialPort openSerial) throws Exception; String joinData(SerialPort openSerial) throws Exception; String getCheckCode(String substring); diff --git a/src/main/java/com/ccsens/pelma_analyse/service/impl/PelmaDataAcceptImpl.java b/src/main/java/com/ccsens/pelma_analyse/service/impl/PelmaDataAcceptImpl.java index 5c6afc0..f45069e 100644 --- a/src/main/java/com/ccsens/pelma_analyse/service/impl/PelmaDataAcceptImpl.java +++ b/src/main/java/com/ccsens/pelma_analyse/service/impl/PelmaDataAcceptImpl.java @@ -2,15 +2,33 @@ package com.ccsens.pelma_analyse.service.impl; import com.ccsens.pelma_analyse.service.PelmaDataAccept; import com.ccsens.pelma_analyse.util.GetServiceUrlAnalyseUtil; +import com.ccsens.pelma_analyse.util.SerialTool; import org.springframework.web.client.RestTemplate; +import java.util.HashMap; + public class PelmaDataAcceptImpl implements PelmaDataAccept { @Override public void handle(String accept_str) { - String pelma_url = GetServiceUrlAnalyseUtil.getUrl(); + accept_str = accept_str.replace(" ", ""); + + String send_data = accept_str.substring(6, accept_str.length() - 2); + +// String device = accept_str.substring(6, accept_str.length() - 2); + +// String type = accept_str.substring(6, accept_str.length() - 2); + + HashMap map = new HashMap<>(); + map.put("send_data", send_data); + map.put("device", "1"); + map.put("type", "1"); RestTemplate restTemplate = new RestTemplate(); - String url = pelma_url + "/store?pelma=" + accept_str; - restTemplate.getForEntity(url, String.class); + + String pelma_url = GetServiceUrlAnalyseUtil.getUrl(); + + String url = pelma_url + "/storePelma"; + String res = restTemplate.postForObject(url, map, String.class); + System.out.println(res); } } diff --git a/src/main/java/com/ccsens/pelma_analyse/service/impl/SerialServiceImpl.java b/src/main/java/com/ccsens/pelma_analyse/service/impl/SerialServiceImpl.java index 5d26eba..2029a7b 100644 --- a/src/main/java/com/ccsens/pelma_analyse/service/impl/SerialServiceImpl.java +++ b/src/main/java/com/ccsens/pelma_analyse/service/impl/SerialServiceImpl.java @@ -12,6 +12,7 @@ import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; @Service @@ -57,9 +58,11 @@ public class SerialServiceImpl implements SerialService { System.out.println("打开串口" + serial_com); //lora初始化话 - initLora(openSerial); +// initLora(openSerial); //上报数据 - sendData(openSerial); +// sendData(openSerial); + //测试足底 + sendPelmaData(openSerial); } catch (Exception e) { System.out.println(e.getMessage()); } @@ -206,6 +209,39 @@ public class SerialServiceImpl implements SerialService { } } + /** + * 上传数据 + * @param openSerial + * @throws Exception + */ + @Override + public void sendPelmaData(SerialPort openSerial) throws Exception { + System.out.println("开始读取数据"); + while (true){ + String res_ack = joinData(openSerial); + if (res_ack != null ){ + try { + PelmaDataAcceptImpl pelmaDataAccept = new PelmaDataAcceptImpl(); + pelmaDataAccept.handle(res_ack); +// String send_data = res_ack.substring(6, res_ack.length() - 2); +// RestTemplate restTemplate = new RestTemplate(); +// System.out.println(send_data); +// +// HashMap map = new HashMap<>(); +// map.put("pelma", send_data); +// map.put("device", "1"); +// map.put("type", "1"); +// +// String url = pelma_url + "/storePelma"; +// String res = restTemplate.postForObject(url, map, String.class); +// System.out.println(res); + } catch (Exception e){ + System.out.println(e.getMessage()); + } + } + } + } + /** * 拼接命令