储能柜 EMSU 项目 MQTT 选型与应用

张嘉龙 4 阅读

一、为什么选择 MQTT

本项目是面向 工商业储能柜(PCS + BMS + 消防 + 电芯)的本地能量管理系统(EMSU),对下接设备,对上接云端。「设备 ⇄ EMSU ⇄ 云端」链路上选择 MQTT,核心原因有四点:

1.1 业务模型与协议模型天然契合

新能源 / 储能行业有几个非常特殊的需求,MQTT 几乎是量身定制的。

1.2 行业场景特征

特征

说明

设备分布广

风电场、光伏电站、储能柜常在偏远地区

网络条件差

4G 信号弱、基站切换、偶发断网是常态

设备数量大

单电站数百台 PCS / BMS / 电芯采集器

控制指令重要

调度指令、充放电策略、紧急停机不可丢

数据采集频繁

状态上报毫秒级、秒级

生命周期长

设备运行 10-20 年,协议必须稳定演进

多业务并行

监控、告警、控制、OTA、运维消息并存

安全要求高

电网级设备被恶意控制后果严重

1.3 MQTT 的针对性优势

① 海量设备并发接入

100MW 储能电站可能有 2000+ 采集节点,MQTT 单 Broker 可轻松应对 2 万并发

② 弱网与移动网络适应性

能力

MQTT 表现

网络抖动

自动重连,无需应用层处理

基站切换

设备无需重新配置,自动恢复

偶发断网

QoS 1/2 保证消息不丢,重连后补发

高延迟网络

比 HTTP 轮询延迟低 10 倍

③ 多业务消息隔离与路由

通过主题设计,云端订阅 ems/# 一次性获取所有数据,特定指令发布到特定主题即可定向下发。

⑤ 跨厂商互操作性

不同厂商设备可接入同一 Broker,新厂商接入只需支持 MQTT 主题约定。

⑧ 与电力行业标准契合

  • IEC 61850(电力系统通信)、GB/T 22239(等保)、GB/T 36558(储能系统技术规范)

  • MQTT 通过 TLS + Client 认证 + 主题 ACL + QoS 1/2,天然契合这些合规要求


二、

2.1 定位

协议

定位

HTTP 轮询

隔几秒询问云端有没有新消息,90% 空跑

TCP 长连接

保持一条 TCP 连接,自己定消息格式收发

MQTT

自连 Broker,按主题发布订阅

2.2 维度对比

维度

HTTP 轮询

TCP 长连接

MQTT

底层

HTTP/HTTPS(TCP 短连接,每次请求重建)

TCP 原生长连接

TCP 长连接

通信模型

请求‑响应,客户端主动拉取

双向原始字节流,可双向收发

发布‑订阅 (Pub/Sub),服务端推送

消息推送

无法真正推送,只能客户端定时拉

可双向推送,需自己封装逻辑

topic 订阅

消息大小

HTTP 请求头体积大,开销高

裸字节,开销极小

头部极小,最小仅 2 字节

弱网 / 不稳定网络

差,频繁建立销毁连接

需自己实现心跳、断线重连、粘包分包

内置 keepalive 心跳、断线重连逻辑、遗嘱消息

QoS 可靠性

无,http 失败只能客户端重试

自己实现(ACK、重传、丢包检测)

内置 QoS0/QoS1/QoS2 三级可靠

服务端压力

大量短连接,大量握手开销

连接数高,内存占用大,管理复杂

设备并发友好,broker 专门优化

三、MQTT 在工商业储能场景的应用

3.1 工商业储能的业务特征

  • 单站规模 0.5~5 MW / 1~10 储能柜,中型居多

  • 单柜包含 PCS、BMS、消防主机、温控、电芯采集器

  • 部署在工厂园区、商业楼宇、光储充一体站、数据中心、微电网

  • 业务诉求:削峰填谷、需量管理、电费优化、备电、安全监控、远程运维

  • 网络:4G / 以太网 / Wi-Fi,偶有弱网

3.2 数据流模型

EMSU 的

关键特性在储能中的用法

特性

用法

QoS 0

周期状态上报(bms/pcs realtime),允许丢帧换最低带宽

QoS 1

普通控制指令、参数下发,至少送达

QoS 2

紧急停机、并/离网切换,绝对不可重复不可丢

主题通配符

运维订阅 emsu/+/+/alarm 一次收全站告警

遗言消息

设备非正常掉线时 Broker 自动发 connection/offline,秒级感知

持久会话

断电数小时恢复后可补齐期间告警

Keep Alive

30~60s,1.5 倍超时即判定离线

TLS + 双向证书

防中间人、防伪设备接入

主题 ACL

设备只能 pub 自己的 cabinet 主题、sub cloud/<自己>/#,最小权限

Retain

关键配置常驻主题,新订阅者立即拿到

MQTT 5.0 共享订阅

云端多分析节点负载均衡

3.4 与本项目技术栈契合

组件

与 MQTT 的契合

Paho MQTT C++ (paho-mqttpp3)

Eclipse 官方客户端,跨平台、工业级验证

Protocol Buffers

MQTT payload 二进制编码,带宽小、向前兼容

RSA-OAEP + AES-256-GCM + RSA-SHA256

补齐 MQTT「明文 + 无签名」短板,端到端加密

Qt 信号槽

MQTT 异步事件 → Qt 信号 → UI/Service 解耦

SQLite 本地库

告警/历史落本地,配合上行补传

3.5 与行业合规契合

  • GB/T 36558 储能系统技术规范:数据可追溯、不可篡改 → 签名 + 加密

  • GB/T 22239 :通信加密、身份认证 → TLS + 双向证书

  • 电网调度对接:调度指令可靠送达 → QoS 1/2

  • 消防/安全监管:告警实时 → MQTT 推送 + 遗言


四、总结

问题

结论

为什么选 MQTT

双向 + 实时 + 海量 + 弱网四重压力下模型最匹配、生态最成熟、长期最稳

为什么不选 HTTP 轮询

无法推送、流量浪费、无 QoS、无主题路由,不适合工业遥测

为什么不选裸 TCP 长连接

等于重造阉割版 MQTT,毫无必要