优化子设备消息
This commit is contained in:
parent
bbc2d8b066
commit
5286ff1c6c
|
|
@ -116,8 +116,12 @@ public class DeviceMessageConnector
|
|||
topic = "/device/" + deviceMessage.getDeviceId() + "/online";
|
||||
} else if (message instanceof DeviceOfflineMessage) { //设备离线
|
||||
topic = "/device/" + deviceMessage.getDeviceId() + "/offline";
|
||||
} else if (message instanceof ChildDeviceMessage) { //子设备消息
|
||||
topic = "/device/" + deviceMessage.getDeviceId() + "/message/children";
|
||||
return onMessage(((ChildDeviceMessage) message).getChildDeviceMessage())
|
||||
.thenReturn(topic);
|
||||
} else if (message instanceof ChildDeviceMessageReply) { //子设备消息
|
||||
topic = "/device/" + deviceMessage.getDeviceId() + "/message/child/reply";
|
||||
topic = "/device/" + deviceMessage.getDeviceId() + "/message/children/reply";
|
||||
return onMessage(((ChildDeviceMessageReply) message).getChildDeviceMessage())
|
||||
.thenReturn(topic);
|
||||
} else if (message instanceof ReadPropertyMessage) { //读取属性
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1,70 @@
|
|||
/**
|
||||
* 子设备消息模拟
|
||||
*/
|
||||
var _logger = logger;
|
||||
|
||||
//事件类型
|
||||
var events = {
|
||||
reportProperty: function (index, session) {
|
||||
var deviceId = "child-device-1";
|
||||
var topic = "/children/report-property";
|
||||
var json = JSON.stringify({
|
||||
"deviceId": deviceId,
|
||||
"success": true,
|
||||
"timestamp": new Date().getTime(),
|
||||
properties: {"temperature": java.util.concurrent.ThreadLocalRandom.current().nextDouble(20, 40)},
|
||||
});
|
||||
session.sendMessage(topic, json)
|
||||
},
|
||||
fireAlarm: function (index, session) {
|
||||
var deviceId = "child-device-1";
|
||||
var topic = "/children/fire_alarm";
|
||||
var json = JSON.stringify({
|
||||
"deviceId": deviceId, // 设备编号 "pid": "TBS-110", // 设备编号
|
||||
"a_name": "商务大厦", // 区域名称 "bid": 2, // 建筑 ID
|
||||
"b_name": "C2 栋", // 建筑名称
|
||||
"l_name": "12-05-201", // 位置名称
|
||||
"timestamp": new Date().getTime() // 消息时间
|
||||
});
|
||||
|
||||
session.sendMessage(topic, json)
|
||||
}
|
||||
};
|
||||
|
||||
//事件上报
|
||||
simulator.onEvent(function (index, session) {
|
||||
//上报属性
|
||||
events.reportProperty(index, session);
|
||||
|
||||
//上报火警
|
||||
events.fireAlarm(index, session);
|
||||
});
|
||||
|
||||
simulator.bindHandler("/children/read-property", function (message, session) {
|
||||
_logger.info("读取子设备属性:[{}]", message);
|
||||
session.sendMessage("/read-property-reply", JSON.stringify({
|
||||
messageId: message.messageId,
|
||||
deviceId: message.deviceId,
|
||||
timestamp: new Date().getTime(),
|
||||
properties: {"temperature": java.util.concurrent.ThreadLocalRandom.current().nextDouble(20, 40)},
|
||||
success: true
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
simulator.onConnect(function (session) {
|
||||
//模拟子设备上线
|
||||
session.sendMessage("/children/device_online_status", JSON.stringify({
|
||||
deviceId: "child-device-1",
|
||||
timestamp: new Date().getTime(),
|
||||
status: "1",
|
||||
success: true
|
||||
}));
|
||||
});
|
||||
|
||||
simulator.onAuth(function (index, auth) {
|
||||
//使用网关设备id 连接平台
|
||||
auth.setClientId("gateway-1" );
|
||||
auth.setUsername("admin");
|
||||
auth.setPassword("admin");
|
||||
});
|
||||
Loading…
Reference in New Issue