数据定义
# 数据定义
统一边缘侧流转消息格式,边缘服务之间数据通信,都遵循本数据格式,主要场景包括:命令、属性下发,事件、属性上报,子设备相关
# 1、消息格式说明
header 格式固定:
msg_id: 由发送方生成
parent_msg_id: 当sync设为true,由应答方在新消息中填充请求消息的msg_id
msg_type: msg_type定义
timestamp: 时间戳,单位为毫秒
sync: 是否需要等待同步应答本条消息的执行结果
content 为 msg_type对应的业务消息数据
# 2、消息结构
// 请求子设备配置信息
{
"header":{
"msg_id":"a2565a74-5b21-4236-9a20-a90cf4637945",
"parent_msg_id":"a2565a74-5b21-4236-9a20-a90cf4637945",
"msg_type": 0,
"timestamp":1629268420,
"sync":true
},
"content": interface{}
}
// 针对不同的msg_type的content格式说明:
// 属性上报(属性字段固定,要修改需联系物边组修改边缘网关设备模型):
{
"sysInfo": {
"json key": "this is sysInfo"
},
"transmit": {
"json key": "this is transmit"
},
"schemeId": {
"json key": "this is schemeId"
},
"services": {
"json key": "this is services"
},
"version": {
"json key": "this is version"
},
"upgradeLog": {
"json key": "this is upgradeLog"
}
}
// 事件上报(事件字段固定,要修改需联系物边组修改边缘网关设备模型):
{
"code": "alarm service code",
"contents": {"json key": "json data"}
}
// 属性设置(边缘网关目前属性字段都为只读,不可设置属性,要修改需联系物边组修改边缘网关设备模型):
{
"id": "123",
"version": "1.0",
"params": 123.455,
"method": "zl.propset.{property_code}"
}
// 命令请求(命令字段固定,目前边缘网关仅支持“命令转发 transmit”,要修改需联系物边组修改边缘网关设备模型):
{
"service": {
"json key": "json data"
},
"command": {
"json key": "json data"
}
}
// 命令应答:
{
"json key": "json data" // key value 不限定数据类型
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 3、msg_type定义
enum:
SUBDEVICE_CONFIG_REQ = 1 // 请求子设备配置
SUBDEVICE_CONFIG_REPLY = 2 // 应答子设备配置
SUBDEVICE_ONLINE = 3 // 上线
SUBDEVICE_OFFLINE = 4 // 下线
SUBDEVICE_EVENT = 5 // 事件
SUBDEVICE_PROP_REPORT = 6 // 属性上报
SUBDEVICE_PROP_SET = 7 // 属性下发
SUBDEVICE_CMD_REQ = 8 // 下发命令
SUBDEVICE_CMD_REPLY = 9 // 命令返回
SUBDEVICE_TOPO_CHANGE = 10 // 修改拓扑关系
SUBDEVICE_TOPO_REQ = 11 // 请求拓扑
SUBDEVICE_TOPO_REPLY = 12 // 拓扑应答
EDGE_UP_PROP = 13 // 属性上报
EDGE_UP_EVENT = 14 // 事件上报
EDGE_UP_CMD_REPLY = 15 // ack、执行命令返回
EDGE_DOWN_PROP_SET = 16 // 下发属性配置
EDGE_DOWN_CMD = 17 // 下发命令
MessageSync = 100 // 请求状态返回,比如接收属性上报是否成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 4、nats Topic定义
上行:
- edge.up.prop //上报属性
- edge.up.event //上报事件
- edge.up.cmd_reply // ack, 命令请求结果
下行:
- edge.down.proset // 下发属性配置
- edge.down.cmd // 命令下发
消息请求确认:
- edge.sync // 对应msg_type 中的MessageSync
上次更新: 2021-12-03 15:54:30