Skip to content

MQTT 消息下发服务

部署归属:客户侧(每客户一套)
运行环境:首期使用客户侧腾讯云 IoT Explorer(客户独占账号),通过适配层兼容其他 IoT 平台 核心职责:承载客户私有云与工控机之间的托管长连接、设备鉴权和 JSON 消息透传


选型结论

首期优先选择腾讯云 IoT Explorer,不优先自建或托管 EMQX。

选型理由:

  • 门店数量、设备类型和运维团队规模都不适合先承担 Broker 高可用、监控、证书、升级、容量规划等运维成本。
  • 我们现阶段购买的是 IoT Explorer 的最小连接层能力:MQTT 长连接管理、设备接入鉴权、Topic 权限、在线状态和消息透传。
  • 业务协议统一使用平台无关的 JSON,由客户 Backend 和 IPC 工控机自行解释。
  • 不依赖 IoT Explorer 的物模型、设备影子、场景联动、数据分析面板等重绑定能力。
  • 连接规模、成本、云厂商绑定或协议限制变化时,通过适配层切换承载平台。

结论:IoT Explorer 是首期托管连接层,不是业务权威源;客户 Backend 仍然是设备策略、指令权限、幂等、审计和重试的权威来源。

职责边界

MQTT 服务负责:

  • 接入客户名下所有 IPC 设备(按 DeviceName=SN
  • 提供设备在线状态、MQTT 长连接、订阅/发布能力
  • 承载控制指令、执行回执、状态事件等 JSON 消息透传
  • 基于 DeviceSecret 或 IoT Explorer 设备证书建立设备认证(首期按实际开通方式定稿)
  • 通过 Topic ACL 限制单台 IPC 只能读写自己的 Topic

MQTT 服务不负责:

  • 业务规则判断(由 Backend 负责)
  • SN_Secret 的管理与验签(由 Centre 与客户私有云负责)
  • 资产分配(由 Centre 负责)
  • 解释业务 payload、保存业务状态或承担订单/权益/门禁授权判断
  • 承载人脸特征向量、图片、升级包等敏感或大体积数据
  • 绑定 IoT Explorer 物模型、设备影子、场景联动等平台语义

云平台替代评估(最小能力模型)

评估只看“消息透传、长连接管理、连接鉴权、Topic 权限、在线状态”这些最小能力,不把物模型、低代码控制台、规则编排等重能力作为首期依赖。

平台替代性首期建议说明
腾讯云 IoT Explorer首选国内交付与微信生态匹配,托管连接层可降低初期运维与可靠性成本
阿里云 IoT Platform国内备选能力形态接近,可作为客户已重度使用阿里云时的替代方案
AWS IoT Core海外备选MQTT、证书、自定义鉴权、Topic 权限完整,适合海外或全球化客户
Google Cloud不作为首期主通道Cloud IoT Core 已退役,通常需要第三方 IoT 平台或自建 MQTT 接入层组合
Cloudflare Pub/Sub中低不作为主通道更偏 MQTT 消息基础设施,不是完整设备接入与生命周期管理平台
托管/自建 EMQX可选承载平台可控性强,但首期会引入 Broker 高可用、监控、升级和安全运维成本

客户账号与部署要求

项目要求
实例归属每客户独立腾讯云账号下的 IoT Explorer 实例
产品与设备客户私有云按 SN 动态注册产品设备映射
TLS强制开启 TLS
ACL按设备粒度限制 Topic 读写权限
可用性依赖腾讯云托管高可用能力

平台无关协议边界

为保证业务协议可在不同 IoT 平台间切换,所有业务协议必须遵守以下边界:

  • Topic 命名在业务层保持稳定,落地到不同平台时只做适配映射。
  • Payload 统一为自定义 JSON,不使用平台物模型属性、事件、行为作为业务协议。
  • 每条控制指令必须包含 msg_idtimestamptypesndata,由 IPC 做时间窗、幂等和 Schema 校验。
  • 每条指令必须通过 HTTPS /v1/ipc/reporttype=result:{target}:{action})返回执行结果,Backend 负责超时、重试、审计和状态落库。
  • 敏感数据和大文件走 HTTPS 通道,不走 MQTT。
  • 后端代码需要封装 DeviceMessageGateway 适配层,避免业务代码直接依赖 IoT Explorer SDK。

Topic 规范(IoT Explorer)

Topic方向说明
{ProductID}/{deviceName}/data客户私有云 -> IPC统一下行(控制、配置、人脸管理等)

首期 ProductID 为 A0VYTK4W4FdeviceName 与设备 SN 一致。IPC 上行与执行结果统一经 HTTPS POST {cpc_url}/v1/ipc/report 回传。


运行期自治边界

  • MQTT 只承担控制流与状态流,不承载 SN_Secret 或用户隐私数据
  • Centre 仅参与首次注册链路,不参与运行期 MQTT 消息路由
  • 即使 Centre 暂时不可达,客户私有云仍可通过 IoT Explorer 持续下发控制

待确认事项

  • [ ] 各客户 IoT Explorer 的统一监控指标和告警阈值
  • [ ] MQTT Topic ACL 的最小权限模板(按门店分组还是按单设备)

飞创 Fitron 内部规划文档