61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Edge 设备配置指南
|
||
|
||
## 配置目录
|
||
|
||
| 目录 | 用途 |
|
||
|------|------|
|
||
| `config/edge/` | 边缘设备本地配置(物理层 + 可选本地绑定子集) |
|
||
| `config/daemon/` | 核心守护进程配置(逻辑点、全局绑定、OPC 主题规则) |
|
||
|
||
## 双域配置
|
||
|
||
| 文件 | 目录 | 职责 |
|
||
|------|------|------|
|
||
| `edge.json` | `config/edge/` | edge 入口:uplink 地址、子配置文件路径 |
|
||
| `physical_channels.json` | `config/edge/` | 串口/网络接口 |
|
||
| `physical_devices.json` | `config/edge/` | 从站、寄存器、物理点 ID |
|
||
| `bindings_local.json` | `config/edge/` | 可选,本 edge 绑定子集(校验/本地调试) |
|
||
| `logical_points.json` | `config/daemon/` | OPC/业务语义 |
|
||
| `bindings_global.json` | `config/daemon/` | 物理点 ↔ 逻辑点 + edgeId 路由 |
|
||
| `topic_rule.json` | `config/daemon/` | 总线主题模板 |
|
||
| `point_table.json` | `config/daemon/` | **遗留**全量点表,仅 daemon 兼容加载 |
|
||
|
||
edge **不加载** `logical_points.json`、`point_table.json` 或全量 `bindings_global`;下行命令由 daemon 解析后携带 `physicalPointId` 与 `edgeId`。
|
||
|
||
## 已知设备流程
|
||
|
||
1. edge:编辑 `config/edge/physical_channels.json`、`config/edge/physical_devices.json`
|
||
2. daemon:编辑 `config/daemon/logical_points.json`
|
||
3. daemon:编辑 `config/daemon/bindings_global.json`(含 `edgeId`、`scale`)
|
||
4. 启动:`softbus_daemon --logical-points config/daemon/logical_points.json --bindings-global config/daemon/bindings_global.json`
|
||
5. 启动:`softbus_edge --config config/edge/edge.json`
|
||
6. 热加载:`kill -HUP <daemon-pid>` 或 `kill -HUP <edge-pid>`
|
||
|
||
## 未知设备(物理先行)
|
||
|
||
1. 仅配置 `physical_devices.json`,物理点 ID 如 `phy_modbus_s1_r40001`
|
||
2. edge 启动后 daemon 收到 `edge/raw/unbound/*` 主题数据
|
||
3. 后补 `logical_points.json` 与 `bindings_global.json`,HUP daemon 即可打通 OPC
|
||
|
||
## libmodbus
|
||
|
||
构建时自动选择:
|
||
|
||
1. **系统包**(优先):`sudo apt install libmodbus-dev`
|
||
2. **vendor**(默认回退):`third_party/libmodbus` v3.1.10 静态编译进 `softbus_edge`
|
||
|
||
强制使用 vendor:
|
||
|
||
```bash
|
||
cmake -B build -DSOFTBUS_FORCE_VENDOR_LIBMODBUS=ON
|
||
cmake --build build
|
||
```
|
||
|
||
串口权限:`sudo usermod -aG dialout $USER` 后重新登录。
|
||
|
||
## Mock 模式
|
||
|
||
```bash
|
||
./build/bin/softbus_edge --config config/edge/edge.json --mock
|
||
```
|