设备消息链(MQTT)

验证状态:本页为接入视角新写(19 号票)。事实取材自 MQTT 清单层生成页(源码归纳口径,provenance 见页头)与机构手册已核验场景正本,本页自身不做二次核验、未联调。

用途与场景

采集服务器与其名下设备在 MQTT 面上的消息链总览:上行遥测/检索谓词族、下行 deliver、在线状态。这是接入动线的第三步——身份与清单就绪后,实时行为走 MQTT 而非 REST。

通道拓扑(导航级)

  • 中心网关(device-service)以 Paho v5 订阅 8 条 topic 模式并把消息路由到内部消费者——订阅面与路由口径见MQTT 主题清单 · 服务端订阅面
  • 设备是独立的 MQTT 客户端(客户端 ID device,{deviceNo},iot,{sessionId}),采集服务器以 server,{serverNo},iot,{sessionId} 等身份平行接入——ID 规则见设备服务接口规范
  • wire 细节(QoS/retain、发布 Promise 语义)不在本页复述:Web 侧发布约定与中心网关 QoS 语义的差异见设备业务 · mqtt-bridge,公共边界见MQTT 连接与消息边界

上行:遥测与检索(iot 谓词族)

谓词族 topic 形状 {identity}/{id}/iot/telemetry/v1{identity}/{id}/iot/retrieve/v1(identity ∈ device/server/user)——采集服务器可用 server 身份发布自身遥测,名下设备以 device 身份发布设备遥测:

下行:deliver 落点

{identity}/{deviceNo 或 serverNo}/iot/deliver/v1 是应答与推送的设备/服务器侧落点(device 变体在MQTT 主题清单 · 动态下行;server 变体的现役证据来自下链机构正本,不在清单的动态下行表内):

  • 设备侧 device/{deviceNo}/iot/deliver/v1:retrieve 应答(固件包信息、上传目标 URL/ts/混淆码)与 DMS 载荷(内网 IP 同步后推送,见运维与 Web 指令面)从这里下行——名下设备需订阅自身 deliver topic。
  • 采集服务器侧 server/{serverNo}/iot/deliver/v1:采集服务器变体 retrieve(如固件信息生成)的应答投递点——场景正本见机构手册触发采集服务器固件信息下发(server retrieve)
  • 回环守卫:reply 与来源 topic 相同的报文被网关丢弃——见MQTT 消费者

在线状态

  • 保活 server/center-server/iot/v1/keep-alive-online-status(刷新在线状态与最后在线时间,无业务回包)与批量查询 list-online-status、分类查询 list-category-info:契约见MQTT 主题清单 · 静态 topic
  • 已核验副作用:每次 iot 族命令的 id 解析都会顺带刷新在线状态(机构手册触发设备固件与文件上报的动线表)——在线口径除保活外还有命令驱动的刷新。
  • 中心每日凌晨另有在线状态对账兜底——定时任务全表见设备业务 · 运行时关联

已知缺口

  1. 设备与采集服务器的消息拓扑(设备直连 Broker,还是可经采集服务器中转)文档无明示——本页按「设备独立客户端、采集服务器平行接入」叙述。
  2. deliver 载荷无 schema 真源(清单层口径为「源码归纳,无 schema 真源」),演进后须以源码为准重新核对。