map/docs/datacollect/README.md

255 lines
4.8 KiB
Markdown
Raw Normal View History

2024-07-02 16:17:40 +08:00
# 数据采集
2024-07-02 15:58:34 +08:00
2024-07-02 16:17:40 +08:00
## 采集配置说明
2024-07-02 15:58:34 +08:00
采集程序配置存放在: `/das/conf/collector.json`
如果系统配置更新将生成配置更新文件: `/das/conf/collector.json.update`
2024-07-03 09:22:02 +08:00
配置文件内容如下:
```json
{
//版本号
"version": 101,
//配置创建时间(毫秒值)
"createTime": 1235235623433,
//节点ID
"nodeId": "nx10928234",
//链路列表
"links" : [
{
//链路ID
"linkId": "1235123",
//链路名称
"linkName": "1#风机",
//协议号
"protocol": 1,
//协议参数
"params": {},
"devices": ["11234131","1234123"]
}
],
//物模型信息
"equipments": [
{
//设备ID
"id": "11234131",
//属性列表
"attrs":[
{
//属性名
"name": "Ia",
//属性类型
"type": "yc",
//属性参数
"params": {
2024-07-03 09:42:10 +08:00
//上界
"upBound": 9999,
//下界
"lowBound": 0,
//基值, default: 0
"base": 0,
//系数, default: 1
"coef": 1
2024-07-03 09:22:02 +08:00
}
},
{
2024-07-03 09:42:10 +08:00
"name": "Switch01",
"type": "yx",
2024-07-03 09:22:02 +08:00
"params": {
2024-07-03 09:42:10 +08:00
//是否取反,default: 0
"invert": 0
2024-07-03 09:22:02 +08:00
}
}
],
//服务列表
"services": [
{
//服务名
"name": "start",
//服务类型
"type": "yk",
//服务参数
"params": {
}
}
]
}
]
}
```
2024-07-02 16:17:40 +08:00
## 采集程序与系统交互通道
2024-07-02 15:58:34 +08:00
2024-07-03 09:22:02 +08:00
采集程序与系统间采用Websocket方式通讯 访问系统服务器端口: 7790
报文格式为`json`, 字符集: `utf-8`
### 通道建立
采集程序建立连接时需要带上自身节点ID连接URL如下所示:
2024-07-02 15:59:43 +08:00
2024-07-03 09:22:02 +08:00
`ws://127.0.0.1:7790/gate/{nodeId}`
2024-07-02 16:45:40 +08:00
2024-07-03 13:17:59 +08:00
PS: 同一节点只允许建立一条连接。
2024-07-02 16:45:40 +08:00
## 通讯报文
2024-07-03 13:17:59 +08:00
### 报文格式
```json
{
//命令
"cmd": "heartbeat",
//命令ID
"cmdId": "123123",
//发送时间(毫秒)
"time": 123123123123,
//数据体
"data": {}
}
```
### 节点心跳报文
2024-07-02 16:45:40 +08:00
2024-07-03 09:22:02 +08:00
?> 方向: `采集程序` -> `系统`
2024-07-02 16:45:40 +08:00
2024-07-03 13:17:59 +08:00
**命令:** `heartbeat`
**数据体:**
2024-07-02 16:45:40 +08:00
```json
{
2024-07-03 13:17:59 +08:00
//心跳生存时间(毫秒)
"ttl": 30000,
//终端状态, 0 - 离线, 1 - 在线
"status": 0,
//通讯链路监控信息
"links": [
{
//通讯链路IRN
"linkId": 3444,
//通讯链路状态
"online": true
},
{
"linkId": 123,
"online": false
}
]
2024-07-02 16:45:40 +08:00
}
```
2024-07-03 17:12:41 +08:00
### 设备初始数据上报
当采集设备第一次采集到设备完整数据时,需要向系统上报设备初始数据。
2024-07-03 13:17:59 +08:00
?> 方向: `采集程序` -> `系统`
2024-07-03 17:12:41 +08:00
**命令:** `initDeviceData`
**数据体:**
```json
{
2024-07-05 13:42:46 +08:00
"deviceId": "1123451235464",
"values": {
2024-07-03 17:12:41 +08:00
//设备完整初始数据
"Ia": 123.1,
"Ib": 122.1,
"Ic": 123.1,
"Ua": 220.3,
"Ub": 221.4,
"Uc": 223.1,
"Switch01": 1
}
}
2024-07-05 13:42:46 +08:00
```
2024-07-03 17:12:41 +08:00
2024-07-05 13:42:46 +08:00
### 模拟量数据上报
2024-07-03 17:12:41 +08:00
?> 方向: `采集程序` -> `系统`
**命令:** `analogData`
2024-07-03 13:17:59 +08:00
**数据体:**
```json
{
2024-07-05 13:42:46 +08:00
//数据时间(毫秒)
"dataTime": 123123123123,
//设备ID
"deviceId": "1123451235464",
"values": {
2024-07-03 13:17:59 +08:00
//key为属性名
"Ia": 123.1,
"Ib": 122.1,
2024-07-03 17:12:41 +08:00
"Ic": 123.1
2024-07-03 13:17:59 +08:00
}
}
2024-07-03 17:12:41 +08:00
```
2024-07-05 13:42:46 +08:00
### 状态量数据上报
2024-07-03 17:12:41 +08:00
?> 方向: `采集程序` -> `系统`
2024-07-05 13:42:46 +08:00
**命令:** `stateData`
2024-07-03 17:12:41 +08:00
**数据体:**
```json
{
2024-07-05 13:42:46 +08:00
//数据时间(毫秒)
"dataTime": 123123123123,
//设备ID
"deviceId": "1123451235464",
"values": {
2024-07-03 17:12:41 +08:00
//key为属性名
"Switch01": 1
2024-07-05 13:42:46 +08:00
}
2024-07-03 17:12:41 +08:00
}
```
2024-07-05 13:42:46 +08:00
### 历史模拟量数据上报
?> 方向: `采集程序` -> `系统`
**命令:** `historyAnalogData`
**数据体:**
```json
{
//数据时间(毫秒)
"dataTime": 123123123123,
//设备ID
"deviceId": "1123451235464",
"values": {
//key为属性名
"Ia": 123.1,
"Ib": 122.1,
"Ic": 123.1
}
}
```
### 历史状态量数据上报
?> 方向: `采集程序` -> `系统`
**命令:** `historyStateData`
**数据体:**
```json
{
//数据时间(毫秒)
"dataTime": 123123123123,
//设备ID
"deviceId": "1123451235464",
"values": {
//key为属性名
"Switch01": 1
}
}
```