소스 검색

python识别

Newspaper 10 달 전
부모
커밋
10ed61f574

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6 - 1
huimv-env-input/src/main/java/com/huimv/env/input/controller/BaseFarmController.java


+ 25 - 0
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -408,7 +408,31 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 portChangeData.setBeforeReactivePower(splitBeforePower[1]);
                 portChangeData.setBeforeApparentPower(splitBeforePower[2]);
                 portChangeDataService.updateById(portChangeData);
+            }
 
+            if (!ObjectUtils.isEmpty(portChangeData.getBeforeActivePower()) && !ObjectUtils.isEmpty(portChangeData.getElectricCurrent()) && !ObjectUtils.isEmpty(portChangeData.getBeforeElectricCurrent())){
+                String lastPower = portChangeData.getBeforeActivePower().toString();
+                String lastArr = portChangeData.getElectricCurrent();
+                String currentArr = portChangeData.getBeforeElectricCurrent();
+                String modelPath = "./epoch_8_acc_100.00.pth";
+                try {
+                    String[] my_args =new String[] {"python3","detect.py",lastPower,lastArr,currentArr,modelPath};
+                    Process proc = Runtime.getRuntime().exec(my_args);//执行脚本
+                    System.out.println("执行脚本");
+                    BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+                    String line = null;
+                    while((line = reader.readLine()) != null){
+                        System.out.println("python执行结果"+line);
+                    }
+                    reader.close();
+                    int exitCode = proc.waitFor();
+                    System.out.println("Python script exited with code " + exitCode);
+
+                } catch (IOException e) {
+                    log.error(e);
+                } catch (InterruptedException e) {
+                    log.error(e);
+                }
             }
         }catch (Exception e){
             log.error(String.format("点位查询失败--> %s" ,askText));
@@ -715,6 +739,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 portChangeData.setBeforeApparentPower(splitBeforePower[2]);
                 portChangeDataService.updateById(portChangeData);
             }
+
         }catch (Exception e){
             log.error(String.format("点位查询失败--> %s" ,askText));
             log.error(e);