设备信号实时显示

This commit is contained in:
kerwincui
2022-07-28 21:18:05 +08:00
parent d7cc5bb278
commit 844ebaa295
3 changed files with 6 additions and 6 deletions

View File

@@ -195,8 +195,8 @@ public class ToolController extends BaseController {
if (model.getAction().equals("client_disconnected")) {
device.setStatus(4);
deviceService.updateDeviceStatusAndLocation(device, "");
// 发布设备状态
emqxService.publishStatus(device.getProductId(), device.getSerialNumber(), 4, device.getIsShadow());
// 设备掉线后发布设备状态
emqxService.publishStatus(device.getProductId(), device.getSerialNumber(), 4, device.getIsShadow(),device.getRssi());
// 清空保留消息,上线后发布新的属性功能保留消息
emqxService.publishProperty(device.getProductId(), device.getSerialNumber(), null);
emqxService.publishFunction(device.getProductId(), device.getSerialNumber(), null);

View File

@@ -136,7 +136,7 @@ public class EmqxService {
device.setSerialNumber(deviceNum);
deviceService.reportDevice(device,deviceEntity);
// 发布设备状态
publishStatus(productId, deviceNum, 3, deviceEntity.getIsShadow());
publishStatus(productId, deviceNum, 3, deviceEntity.getIsShadow(),device.getRssi());
} catch (Exception e) {
logger.error("接收设备信息,解析数据时异常 message={}", e.getMessage());
}
@@ -216,8 +216,8 @@ public class EmqxService {
/**
* 1.发布设备状态
*/
public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow) {
String message = "{\"status\":" + deviceStatus + ",\"isShadow\":" + isShadow + "}";
public void publishStatus(Long productId, String deviceNum, int deviceStatus, int isShadow,int rssi) {
String message = "{\"status\":" + deviceStatus + ",\"isShadow\":" + isShadow + ",\"rssi\":" + rssi + "}";
emqxClient.publish(1, false, "/" + productId + "/" + deviceNum + pStatusTopic, message);
}

View File

@@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<sql id="selectWebhookDeviceVo">
select device_id, device_name,product_id, serial_number,user_id, user_name, tenant_id, tenant_name, status,is_shadow ,location_way,things_model_value, active_time from iot_device
select device_id, device_name,product_id, serial_number,user_id, user_name, tenant_id, tenant_name, status,is_shadow, rssi ,location_way,things_model_value, active_time from iot_device
</sql>
<select id="selectDeviceList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult">