# 透析机 Socket 服务器 ## 概述 这是一个 Node.js Socket 服务器,用于接收和处理透析机数据。程序直接打开即可运行,无需额外配置环境。 ## 快速开始 ### 系统要求 - Node.js 环境 ### 运行方式 ```bash chmod +x index-linux ``` 默认监听端口:**10961**(不可更改) ## 配置文件 程序需要两个配置文件,**必须与程序在同一个文件夹里**: - `mqtt.json` - MQTT 配置 - `aliyun.json` - 阿里云配置 ### mqtt.json 配置 ```json { "enabled": false, "brokerUrl": "192.168.0.200", "port": 62283, "username": "wex", "password": "123456", "reconnectPeriod": 5000, "defaultTopicPrefix": "touxiji" } ``` | 字段 | 类型 | 说明 | |------|------|------| | `enabled` | boolean | 是否启用 MQTT 上传功能,true/false | | `brokerUrl` | string | MQTT 代理地址 | | `port` | number | MQTT 代理端口 | | `username` | string | 连接用户名 | | `password` | string | 连接密码 | | `reconnectPeriod` | number | 断开重连间隔时间(毫秒) | | `defaultTopicPrefix` | string | 主题前缀,默认不需修改 | ### aliyun.json 配置 ```json { "enabled": true, "autoRegister": true } ``` | 字段 | 类型 | 说明 | |------|------|------| | `enabled` | boolean | 是否启用阿里云数据上传功能,true/false | | `autoRegister` | boolean | 是否自动注册设备(预留字段) | ## 工作流程 1. 程序启动后监听 10961 端口 2. 接收透析机 Socket 连接 3. 与设备进行握手协议验证 4. 验证成功后接收并处理设备数据 5. 根据配置决定是否上传到 MQTT 和/或 阿里云 ## 功能特性 - ✅ Socket 长连接管理 - ✅ 自动设备超时检测和清理 - ✅ 心跳保活机制 - ✅ MQTT 数据发布 - ✅ 阿里云物联网平台集成 - ✅ 完整的日志记录 ## 日志 程序会生成详细的运行日志,存储在 `logs/` 目录中,便于调试和监控。 ## 故障排查 ### 程序无法启动 - 检查 Node.js 是否已安装 - 检查 10961 端口是否被占用 - 检查配置文件是否存在且格式正确 ### 设备无法连接 - 检查网络连接 - 检查防火墙规则 - 查看程序日志了解详细错误信息 ### 数据未上传 - 确认相应功能在配置文件中已启用 - 检查网络连接 - 验证 MQTT/阿里云 连接配置是否正确