# 配置文件说明 本服务从可执行文件同目录(exedir)优先加载配置;开发模式下回退到源码目录(srcdir)。若找不到配置文件,则使用代码内默认值。 ## tcp-config.json(TCP 服务) - host: 字符串。监听地址。默认 `0.0.0.0`。 - port: 数字。监听端口。默认 `8234`。 - maxClients: 数字。最大并发连接数。默认 `50`。 - getDataIntervalMs: 数字。获取治疗数据下发周期(毫秒)。默认 `60000`;最小生效 `1000`。 - activateIntervalMs: 数字。保活激活指令下发周期(毫秒)。默认 `600000`;最小生效 `60000`。 说明: - 连接建立后立即发送一次激活指令;其后按 `activateIntervalMs` 周期保活;按 `getDataIntervalMs` 周期下发“获取治疗数据”。 - 启动日志会打印配置来源与实际生效的间隔。 ## http-config.json(HTTP API) - enabled: 布尔。是否启用 HTTP 服务。默认 `false`。 - host: 字符串。监听地址。默认 `0.0.0.0`。 - port: 数字。监听端口。默认 `8080`。 说明: - 当 `enabled=true` 时启动 HTTP API,并在日志中打印配置来源与监听地址。 - 提供 GET /api/devices、/api/data、/api/data/:serial 等接口。 ## aliyun-config.json(阿里云 IoT 上报) - enabled: 布尔。是否启用阿里云上报。默认值视实现而定,当前示例为 `true`。 - region: 字符串。阿里云区域(如 `cn-shanghai`)。用于选择接入点。 - printPayload: 布尔。是否在控制台打印上报载荷(用于调试)。 - productKeyOverride: 字符串。覆盖默认的 ProductKey(当设备未明确配置时)。 - apiBaseUrl: 字符串。获取设备三元组/密钥的基础 API 地址(例如企业网关)。 - secretApiPath: 字符串。获取设备密钥的相对路径。 说明: - 程序会在启动时打印阿里云配置的来源与路径;若启用,将针对每台设备建立/复用连接并上报属性。 - 上报的属性为标准物模型格式(A、B、C、D、F、G、H、J、K、L、U、o 等)。 ## mqtt-config.json(MQTT 数据上传) - enabled: 布尔。是否启用 MQTT 上报。默认 `false`。 - brokerUrl: 字符串。MQTT Broker 地址。默认 `mqtt.ihemodialysis.com`。 - port: 数字。MQTT Broker 端口。默认 `62283`。 - username: 字符串。MQTT 连接用户名。默认 `data`。 - password: 字符串。MQTT 连接密码。默认 `data#2018`。 - reconnectPeriod: 数字。重连间隔(毫秒)。默认 `5000`。 - defaultTopicPrefix: 字符串。发布主题前缀。默认 `touxiji`。 说明: - 当 `enabled=true` 时启动 MQTT 连接,并在启动日志中打印 Broker 地址。 - 每条设备数据以 `{prefix}/{deviceSerial}` 为主题发布,QoS=1。 - 发布的消息内容使用与阿里云物模型相同的格式,包含所有转换后的参数(A、B、C、D、F、G、H、J、K、L、U、o)及辅助字段(n、suedtime、deviceType、deviceName、IPAddress、deviceId)。 - 传输时间 `suedtime` 格式为 `yyyy-MM-dd HH:mm:ss`。 ## 日志与安全 - 发送到设备的指令(激活/取数)在日志中已“脱敏显示”(仅长度与哈希摘要),不会泄露明文 HEX。 - 日志包含客户端 IP、clientId 与设备序列号,便于排障;文件按天滚动并保留一定天数(见 `logger` 配置)。 ## 放置位置与打包 - 打包后的可执行程序请将 `tcp-config.json`、`http-config.json`、`aliyun-config.json`、`mqtt-config.json` 与可执行文件放在同一目录,确保配置生效(exedir 优先)。