Browse Source

feat:虚拟模式增加载玻台温度

master
白凤吉 3 weeks ago
parent
commit
fe9e1973fc
  1. 9
      src/main/java/com/qyft/ms/app/device/spray/SensorCollector.java
  2. 12
      src/main/java/com/qyft/ms/app/service/VirtualDeviceService.java
  3. 12
      src/main/java/com/qyft/ms/system/common/device/command/DeviceCommandGenerator.java

9
src/main/java/com/qyft/ms/app/device/spray/SensorCollector.java

@ -29,13 +29,18 @@ public class SensorCollector {
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(() -> {
try {
DeviceCommand humidityGetCmd = DeviceCommandGenerator.humidityGet(); // 生成获取湿度指令
DeviceCommand humidityGetCmd = DeviceCommandGenerator.humidityGet();
CommandFuture humidityGetCmdFuture = deviceCommandService.sendCommandNoFront(humidityGetCmd);
commandWait(humidityGetCmdFuture);
DeviceCommand getSlidePlatHeat = DeviceCommandGenerator.getSlidePlatHeat();
CommandFuture getSlidePlatHeatFuture = deviceCommandService.sendCommandNoFront(getSlidePlatHeat);
commandWait(humidityGetCmdFuture,getSlidePlatHeatFuture);
JSONObject humidityGetCmdFutureResult = humidityGetCmdFuture.getResponseResult();
JSONObject getSlidePlatHeatFutureResult = getSlidePlatHeatFuture.getResponseResult();
Double deviceHumidity = humidityGetCmdFutureResult.getJSONObject("data").getDouble("humidity");
Double temperature = getSlidePlatHeatFutureResult.getJSONObject("data").getDouble("temperature");
Map<String, Object> map = new HashMap<>();
map.put("humidity", deviceHumidity);
map.put("temperature", temperature);
webSocketService.pushMsgNoLog(WebSocketMessageType.SENSOR, map);
} catch (Exception ignored) {
}

12
src/main/java/com/qyft/ms/app/service/VirtualDeviceService.java

@ -38,9 +38,15 @@ public class VirtualDeviceService {
}else if (device.contains("device")) {
if (action.contains("get")) {//获取设备整体状态
JSONObject data = new JSONObject();
data.putOnce("xAxisAtOrigin", 10);
data.putOnce("yAxisAtOrigin", 10);
data.putOnce("zAxisAtOrigin", 10);
data.putOnce("xAxisAtOrigin", true);
data.putOnce("yAxisAtOrigin", true);
data.putOnce("zAxisAtOrigin", true);
jsonObject.putOnce("data", data);
}
}else if (device.contains("slide_temperature")) {
if (action.contains("get")) {//获取设备整体状态
JSONObject data = new JSONObject();
data.putOnce("temperature", 50);
jsonObject.putOnce("data", data);
}
}

12
src/main/java/com/qyft/ms/system/common/device/command/DeviceCommandGenerator.java

@ -230,40 +230,46 @@ public class DeviceCommandGenerator {
public static DeviceCommand nozzleHeatStart(Double temperature) {
Map<String, Object> params = new HashMap<>();
params.put("temp", temperature);
return controlCmd("nozzle_temperature", "open", params, "打开喷头加热,温度:"+temperature);
return controlCmd("nozzle_temperature", "open", params, "打开喷头加热,温度:" + temperature);
}
/**
* 关闭喷头加热
*/
public static DeviceCommand nozzleHeatStop() {
return controlCmd("nozzle_temperature", "close", null, "关闭喷头加热");
}
/**
* 获取喷头温度
*/
public static DeviceCommand getNozzleHeat() {
return getInfoCmd("nozzle_temperature", "获取喷头温度");
}
/**
* 载玻台开启加热
*/
public static DeviceCommand slidePlatHeatStart(Double temperature) {
Map<String, Object> params = new HashMap<>();
params.put("temp", temperature);
return controlCmd("slide_temperature", "open", params, "载玻台开启加热,温度:"+temperature);
return controlCmd("slide_temperature", "open", params, "载玻台开启加热,温度:" + temperature);
}
/**
* 载玻台关闭加热
*/
public static DeviceCommand slidePlatHeatStop() {
return controlCmd("slide_temperature", "close", null, "载玻台关闭加热");
}
/**
* 获取喷头温度
* 获取载玻台温度
*/
public static DeviceCommand getSlidePlatHeat() {
return getInfoCmd("slide_temperature", "获取载玻台温度");
}
/**
* 获取设备当前湿度
*/

Loading…
Cancel
Save