MQTT 协议接入

SS工控云内置 MQTT 适配器,以发布/订阅模型对接任意 MQTT Broker,支持 QoS 保障、TLS 加密与报文自动解析,是低带宽、高延迟工业环境下设备上云与第三方系统集成的轻量标准方案。

MQTT 协议概述

MQTT 是 OASIS 标准化的轻量级发布/订阅消息协议,专为低带宽、不稳定网络环境设计。

MQTT 采用发布/订阅(Pub/Sub)解耦模型:设备(发布者)把消息发布到主题(Topic),应用(订阅者)按主题通配符订阅感兴趣的数据,中间由 Broker 负责路由。发送方与接收方无需知道彼此的地址,天然适合海量分布式设备的接入。协议报文头最小仅 2 字节,可在 NB-IoT、2G 等窄带网络与卫星链路下稳定运行。

SS工控云如何支持 MQTT

SS工控云在统一 IProtocolAdapter 抽象下实现 MQTT 适配器,可同时作为订阅者(采集上行数据)与发布者(下发控制指令、推送告警),主要能力包括:

  • 主题订阅:支持 +# 通配符,批量订阅同类设备主题
  • QoS 保障:QoS 0 / 1 / 2 按订阅配置,断线重连后自动补订
  • 报文解析:JSON 路径提取、二进制按字节偏移解析,自动生成数据标签
  • 安全接入:用户名密码、TLS 证书双向认证
  • 遗嘱机制:监听设备遗嘱主题(LWT),设备意外掉线秒级感知并触发告警
  • 双向通道:按主题下发写指令,实现远程参数设置与控制

QoS 等级与报文格式

按数据价值选择投递保障,按设备能力选择报文格式

能力项 可选值 推荐场景
QoS 0(最多一次) 无确认、无重试 高频遥测:温度、压力等秒级刷新量
QoS 1(至少一次) PUBACK 确认、可重发 默认选择:绝大多数采集与告警事件
QoS 2(恰好一次) 四步握手、去重 计费级数据:电能累计量、贸易结算量
JSON 报文 字段路径提取 边缘网关打包上云的通用格式
二进制报文 字节偏移 + 位定义 资源受限设备、带宽敏感场景

主题设计与连接要点

主题(Topic)设计建议

  • 层级命名:按"站点/车间/设备/测点"组织,如 site01/lineA/plc01/temperature
  • 通配订阅:以 site01/+/plc01/# 订阅同类设备的全部测点
  • 上下行分离:采集走 .../data,控制走 .../cmd,权限隔离
  • 遗嘱主题:统一约定 .../status 承载 LWT 遗嘱消息

连接配置

  • Broker 地址:TCP 1883 或 TLS 8883 端口,支持域名与负载均衡地址
  • 认证:用户名密码 / 客户端证书,按租户隔离凭据
  • 保活:Keep-Alive 心跳周期可配,弱网环境建议缩短
  • 共享订阅:多实例部署时可启用共享订阅分摊消息量

典型应用场景

边缘网关汇聚上云

现场网关把多台 PLC 数据打包为 JSON 经 MQTT 上云,SS工控云统一订阅入中台。

分布式站点监控

水务泵站、加油站等分散站点经窄带网络上报,低带宽下保持秒级数据新鲜度。

第三方系统对接

与 ERP、MES、能源管理系统通过 Broker 双向交换数据与事件。

告警与指令下发

告警事件发布至消息总线触发短信/ webhook,控制指令按主题下发到执行端。

MQTT 常见问题

MQTT 的 QoS 等级如何选择?
QoS 0 最多一次,适合高频遥测数据(如每秒温度);QoS 1 至少一次,适合绝大多数工业采集场景,SS工控云默认采用;QoS 2 恰好一次,适合计费级数据(如电能累计量)但对带宽与 Broker 压力更大。三种等级在 SS工控云中均可按订阅配置。
需要自建 MQTT Broker 吗?
SS工控云以标准 MQTT 客户端方式连接任意 Broker,包括 EMQX、Mosquitto、HiveMQ 及各大云厂商的物联网平台。生产环境建议自建 EMQX 或使用云端实例,开发测试可使用公共 Broker。
JSON 报文如何解析为数据标签?
在数据标签上配置 JSON 路径(如 data.temperatures[0].value)即可自动提取字段值,支持数值、布尔、字符串类型与单位换算。二进制报文可按字节偏移与位定义解析。
一个主题(Topic)能携带多个数据点吗?
可以。边缘网关通常把一台设备的多个测点打包成一条 JSON 报文发布到单个主题,SS工控云支持一条报文映射出多个数据标签,并按主题通配符(如 factory/+/machine/#)批量订阅同类设备。

立即体验 MQTT 数据接入

连接您的 Broker,订阅第一批主题并自动生成数据标签

Web 管理端 查看其他协议