gx
chenyc
2026-05-24 a43f8991d3f5fa2ef4e0f3eeeca00fb4afc263c0
DEPLOY.md
@@ -2,12 +2,12 @@
## 1. 系统概述
JMS 联机服务用于管理与监控多台 **GC-110N 透析设备**。通过持久 TCP 长连接 + 定时 K 指令轮询,实时采集 32 项治疗参数,经 MQTT / 阿里云 IoT 上传至云端,并提供本地 Web 监控大屏。
JMS 联机服务用于管理与监控多台 **GC-110N 透析设备**。通过持久 TCP 长连接 + 定时指令轮询,实时采集 32 项治疗参数,经 MQTT / 阿里云 IoT 上传至云端,并提供本地 Web 监控大屏。
```
┌──────────┐   TCP:10001    ┌─────────────────┐    MQTT     ┌──────────────┐
│ GC-110N  │←──────────────→│  jms-connection  │───────────→│  MQTT Broker  │
│ 透析机 1  │   K 轮询 (10s)  │     -service     │            └──────────────┘
│ 透析机 1  │   轮询 (10s)    │     -service     │            └──────────────┘
└──────────┘                │                  │
     ···                    │  dashboard:3100  │   HTTP     ┌──────────────┐
┌──────────┐                │  ← 浏览器访问      │───────────→│ 阿里云 IoT     │
@@ -233,7 +233,7 @@
```jsonc
{
  // ── 全局参数 ──
  "pollIntervalMs": 10000,       // K 轮询间隔(毫秒),默认 10s
  "pollIntervalMs": 10000,       // 轮询间隔(毫秒),默认 10s
  "connectTimeoutMs": 5000,      // TCP 握手超时(毫秒)
  "reconnectBaseMs": 3000,       // 重连退避基数(毫秒)
  "reconnectMaxMs": 60000,       // 重连退避上限(毫秒)
@@ -414,7 +414,7 @@
| 目标 | 协议 | 端口 | 用途 |
|------|------|------|------|
| GC-110N 设备 | TCP | 10001(可配置) | K 指令轮询 |
| GC-110N 设备 | TCP | 10001(可配置) | 指令轮询 |
| MQTT Broker | TCP | 62283(可配置) | MQTT 上传 |
| 阿里云 IoT | TCP | 443 (TLS) | 属性上报 |
| 三元组 API | HTTPS | 443 | 获取设备凭证 |
@@ -475,8 +475,8 @@
### 9.2 收不到数据 / 字段数为 0
1. 确认设备已进入治疗状态(待机状态可能返回有限数据)
2. 查看日志中 `←` 行,确认报文以 `K` 开头 + 4 位状态码
3. 确认设备固件支持 K 格式协议
2. 查看日志中 `←` 行,确认收到设备报文(混淆格式可通过 `node tools/decode-log.js --stdin` 解码查看)
3. 确认设备固件协议版本兼容
### 9.3 阿里云上传失败
@@ -519,8 +519,8 @@
│   ├── logger.js                  # 日志模块(按天滚动)
│   ├── data-cache.js              # 内存数据缓存(Map<ip, deviceData>)
│   ├── device-manager.js          # 设备管理(遍历创建连接)
│   ├── device-connection.js       # 单设备 TCP 长连接 + K 轮询 + 重连
│   ├── protocol.js                # GC-110N K 格式解析器
│   ├── device-connection.js       # 单设备 TCP 长连接 + 轮询 + 重连
│   ├── protocol.js                # GC-110N 协议解析器
│   └── upload/
│       ├── index.js               # 上传总控(顺序:MQTT → 阿里云)
│       ├── mqtt-uploader.js       # MQTT 单例客户端