子设备数据云边交互方式
更新时间:2025-08-21
子设备数据云边交互方式
本节对子设备数据云边交互协议做一些补充。 驱动接受真实设备的数据,并将数据同步至broker。通过订阅broker的topic,可以看到子设备数据的云边交互格式。
子设备定期上报数据
- $baetyl/device/{device-name}/report
该主题当中的消息为驱动采集设备上传到云端的数据
Plain Text
1{
2 "kind":"deviceReport",
3 "meta":{
4 "device":"mod-test-1"
5 },
6 "content":{
7 "high-temperature-alarm":false,
8 "high-temperature-threshold":324,
9 "humidity":74.66774,
10 "switch":true,
11 "temperature":315.88257
12 }
13}
边缘侧请求设备数据
- $baetyl/device/{device-name}/get
- $baetyl/device/{device-name}/getResponse
向主题$baetyl/device/{device-name}/get发送任意消息,比如{'hello':'world'},或者123,驱动都会主动采集一次设备数据,并将采集到是数据发送到主题$baetyl/device/{device-name}/getResponse,数据格式如下:
Plain Text
1{
2 "kind":"response",
3 "meta":{
4 "device":"mod-test-1"
5 },
6 "content":{
7 "name":"mod-test-1",
8 "report":{
9 "high-temperature-alarm":true,
10 "high-temperature-threshold":324,
11 "humidity":13.870032,
12 "status":"online",
13 "switch":true,
14 "temperature":370.4124
15 },
16 "desire":{
17 "high-temperature-threshold":370
18 }
19 }
20}
驱动接收来自云端的变更(置数)
- $baetyl/device/{device-name}/delta
云端对边缘子设备的置数消息,会发送消息到此主题。消息格式如下:
Plain Text
1{
2 "kind":"deviceDelta",
3 "meta":{
4 "address":"10.164.28.155",
5 "device":"mod-test-1",
6 "name":"modbus-test-1",
7 "namespace":"1cd2d7790b6f4347bbeb3ecee54eca6e"
8 },
9 "content":{
10 "high-temperature-alarm":null,
11 "high-temperature-threshold":300,
12 "humidity":null,
13 "switch":null,
14 "temperature":null
15 }
16}
驱动订阅云端对子设备的置数请求,将会发起置数操作。
驱动接收来自云端的事件(召测)
- $baetyl/device/{device-name}/event
- $baetyl/device/{device-name}/report
云端对边缘子设备的召测请求,会发送消息到此主题。消息格式如下:
Plain Text
1{
2 "kind":"deviceEvent",
3 "meta":{
4 "cloud-name":"modbus-test-1",
5 "cloud-namespace":"1cd2d7790b6f4347bbeb3ecee54eca6e",
6 "device":"mod-test-1",
7 "push":"true"
8 },
9 "content":{
10 "type":"report"
11 }
12}
驱动订阅云端对子设备的召测请求,将会发起数据采集并上报的操作。同步会在$baetyl/device/{device-name}/report这个topic当中订阅到上报到云端的数据,格式如下:
Plain Text
1{
2 "kind":"deviceReport",
3 "meta":{
4 "device":"mod-test-1"
5 },
6 "content":{
7 "high-temperature-alarm":true,
8 "high-temperature-threshold":324,
9 "humidity":29.014072,
10 "switch":true,
11 "temperature":354.14474
12 }
13}
