费森4008s 网口通讯 ,原生串口透传网口
编辑 | blame | 历史 | 原始文档

配置文件说明

本服务从可执行文件同目录(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.jsonhttp-config.jsonaliyun-config.jsonmqtt-config.json 与可执行文件放在同一目录,确保配置生效(exedir 优先)。