| | |
| | | |
| | | ## 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 │ |
| | |
| | | ```jsonc |
| | | { |
| | | // ── 全局参数 ── |
| | | "pollIntervalMs": 10000, // K 轮询间隔(毫秒),默认 10s |
| | | "pollIntervalMs": 10000, // 轮询间隔(毫秒),默认 10s |
| | | "connectTimeoutMs": 5000, // TCP 握手超时(毫秒) |
| | | "reconnectBaseMs": 3000, // 重连退避基数(毫秒) |
| | | "reconnectMaxMs": 60000, // 重连退避上限(毫秒) |
| | |
| | | |
| | | | 目标 | 协议 | 端口 | 用途 | |
| | | |------|------|------|------| |
| | | | GC-110N 设备 | TCP | 10001(可配置) | K 指令轮询 | |
| | | | GC-110N 设备 | TCP | 10001(可配置) | 指令轮询 | |
| | | | MQTT Broker | TCP | 62283(可配置) | MQTT 上传 | |
| | | | 阿里云 IoT | TCP | 443 (TLS) | 属性上报 | |
| | | | 三元组 API | HTTPS | 443 | 获取设备凭证 | |
| | |
| | | ### 9.2 收不到数据 / 字段数为 0 |
| | | |
| | | 1. 确认设备已进入治疗状态(待机状态可能返回有限数据) |
| | | 2. 查看日志中 `←` 行,确认报文以 `K` 开头 + 4 位状态码 |
| | | 3. 确认设备固件支持 K 格式协议 |
| | | 2. 查看日志中 `←` 行,确认收到设备报文(混淆格式可通过 `node tools/decode-log.js --stdin` 解码查看) |
| | | 3. 确认设备固件协议版本兼容 |
| | | |
| | | ### 9.3 阿里云上传失败 |
| | | |
| | |
| | | │ ├── 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 单例客户端 |