Files
web-Iot/services/SERVICES.md

69 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2026-08-10 13:33:06 +08:00
# 机器人智慧服务系统 · Alpha 服务说明
机器人智慧服务系统后端 Alpha 三服务 + 配套文档,位于本仓库 `services/` 与 `docs/`。
## 服务一览
| 服务 | 目录 | 端口 | 职责 | 数据文件 |
|------|------|:---:|------|----------|
| 设备接入服务 Alpha | `services/device-access` | 3010 | 设备注册/心跳/在线管理 | `data/devices.json` |
| 状态服务 Alpha | `services/status` | 3020 | 状态上报/查询/历史/SSE 订阅 | `data/status.json` |
| 命令服务 Alpha | `services/command` | 3030 | 命令下发/ACK/结果/超时重试 | `data/commands.json` |
技术栈:Node.js + Express + 本地 JSON 文件(替代数据库)。依赖:express / cors / uuid。
## 启动
```powershell
# 三个服务分别启动(首次需先安装依赖)
cd services\device-access; npm install; npm start
cd services\status; npm install; npm start
cd services\command; npm install; npm start
```
## 快速联调(PowerShell 示例)
```powershell
# 1. 注册设备
Invoke-RestMethod -Method Post -Uri http://localhost:3010/api/devices/register -ContentType 'application/json' -Body '{"deviceId":"ROBOT-001","type":"inspection_robot","name":"巡检机器人1号","capabilities":["cap.move","cap.rotate","cap.photo","cap.patrol","cap.charging","cap.emergency_stop"]}'
# 2. 心跳保活
Invoke-RestMethod -Method Post -Uri http://localhost:3010/api/devices/ROBOT-001/heartbeat
# 3. 上报状态
Invoke-RestMethod -Method Post -Uri http://localhost:3020/api/status/report -ContentType 'application/json' -Body '{"deviceId":"ROBOT-001","position":{"x":10,"y":5,"z":0,"yaw":90},"battery":85,"mode":"patrol","speed":1.2}'
# 4. 下发命令
$cmd = Invoke-RestMethod -Method Post -Uri http://localhost:3030/api/commands -ContentType 'application/json' -Body '{"deviceId":"ROBOT-001","type":"move","params":{"direction":"forward","distance":3,"speed":0.8}}'
$cmd.data.id
# 5. 设备 ACK + 回传结果
Invoke-RestMethod -Method Post -Uri http://localhost:3030/api/commands/<命令ID>/ack -ContentType 'application/json' -Body '{"executing":true}'
Invoke-RestMethod -Method Post -Uri http://localhost:3030/api/commands/<命令ID>/result -ContentType 'application/json' -Body '{"status":"success"}'
```
## 文档索引(docs/)
| 文档 | 说明 |
|------|------|
| `DOC-08-设备数据字典-V1.0草案.md` | 设备类型/属性/状态模型/传感器点表/告警编码 |
| `DOC-09-控制命令字典-V1.0草案.md` | 命令通用结构/命令类型/优先级/错误码 |
| `机器人能力模型-V1.0.md` | 能力分层/定义表/设备能力矩阵/校验规则 |
| `控制会话状态机.md` | 会话状态/迁移表/互斥抢占规则 |
| `命令状态机.md` | 命令状态/迁移表/超时重试/事件审计 |
| `机器人控制联调报告.md` | Alpha 联调用例汇总/问题清单/结论 |
| `越权-冲突-超时测试记录.md` | 越权/冲突/超时三类 21 用例记录 |
## 三服务调用关系
```
控制台 / 前端
│ REST + SSE
▼
设备接入服务(3010) ◄── 心跳/注册 ── 设备(机器人/无人机/桩/网关/传感器)
状态服务(3020) ◄── 状态上报 ── 设备
命令服务(3030) ── 命令下发 ──► 设备(经设备接入服务校验在线)
│
└── 校验设备在线: GET http://localhost:3010/api/devices/:id/online
```