BMS管理系统、App和小程序怎么规划
BMS 管理系统怎么做?讲清蓝牙与 4G 双链路架构、寄存器解析与数据口径统一、厂家 / PACK 厂 / 经销商三级权限、电池生命周期追溯、三类固件 OTA 和 MES 对接,附 BMS 数据模型示例。

本文目录
BMS 管理系统不是单纯的设备详情页。电池从生产、组装、分销、门店到终端用户,中间会涉及设备档案、库存流转、绑定开通、远程数据、告警、OTA、维保和第三方系统对接。只做一个 App,很难接住完整业务。
可以先看 BMS管理系统开发 和 BMS 云平台与多端 App 案例。如果项目同时涉及近场和远程链路,也建议参考 蓝牙+4G App开发怎么做。
先把组织和设备归属定清
BMS 项目的权限通常比普通硬件项目复杂。厂家、组装厂、经销商、门店、终端用户和售后人员看到的数据不一样,能做的操作也不一样。设备归属、调拨、回退、恢复、售后转移和终端绑定都要有清晰记录。
如果组织树和权限模型没先定,后面 App、小程序、Web 后台都会反复改。尤其是终端用户数据、经销商数据和工厂数据之间的隔离,必须在设计阶段就进入测试清单。若当前项目已经确定要承接多角色业务,不只是做一个查看工具,也可以顺手对照 IoT定制开发服务 的边界,看哪些流程应该进入首期。
BLE 和 4G 数据要统一口径
BMS 常见链路包括 BLE 近场读取和 4G 远程上报。移动端看到的 SOC、SOH、电压、电流、电芯温度、告警和保护状态,最好和后台历史数据共用同一套解释口径。否则用户会在 App、Web 和导出文件里看到不同结果。
实时链路也要定义清楚。哪些数据走 MQTT,哪些通过 WebSocket 推到移动端,离线时展示最后上报时间还是空状态,历史查询和异步导出是否一致,这些都会影响售后排查效率。
如果设备同时存在近场首装和远程在线链路,可以再回看 蓝牙+4G App开发服务 和 蓝牙+4G远程监控终端APP案例。这类双链路设备的状态切换规则,往往会直接影响 App、小程序和后台的数据口径。
OTA 和售后要按风险设计
BMS OTA 不能只看“能不能升级”。更重要的是包匹配、设备条件、升级进度、失败重试、断点、回滚和升级记录。仪表、4G 模块和 BMS 本体如果存在不同升级包,后台需要明确匹配规则和审计日志。
售后流程也要放进平台。维保申请、退换记录、通讯日志、异常排查和第三方生产系统对接,都会影响项目后续运行。安全边界可以参考 物联网系统安全设计怎么落地,尤其是开放接口鉴权、操作日志和跨组织访问控制。
我们做 BMS 平台时的分工
我们交付的 BMS 平台分成四块。Web 后台给厂家和 PACK 厂管电池出厂、转移和质保,App 和微信小程序给终端用户扫码绑定、蓝牙直连和查看告警。协议桥接服务负责把 4G 上来的原始报文解析入库,开放 API 让客户的 MES 系统同步电池数据。组织分厂家、PACK 厂 / 经销商、终端用户三级,每一级能看和能改的数据分开。详见BMS 云平台与多端 App 案例。
双链路架构:蓝牙近场 + 4G 远程
BMS 项目最典型的形态是「一部分电池只有蓝牙,一部分带 4G」。架构上的关键是两条链路共用一套协议解析和数据模型:
- 蓝牙链路:App 或小程序直连 BMS,读取实时数据、修改参数、做蓝牙 OTA。读到的数据在联网后同步到云端,作为最近一次近场快照。
- 4G 链路:模组把 BMS 原始报文发到 MQTT,协议桥接服务订阅原始报文,按寄存器表解析成遥测、属性和告警事件后入库。把解析放在独立服务里,协议变更时只改这一处。
- 统一口径:同一个字段(例如单体电压、SOC)在两条链路上的单位、精度、缩放系数必须一致,否则用户会在 App 和后台看到两个数。
BMS 数据模型怎么设计
寄存器表要先翻译成平台的数据模型。我们一般分三类:
{
"telemetry": {
"packVoltage": 51.2, // 总电压 V,周期上报,进时序库
"current": -12.5, // 电流 A,充电为正、放电为负,口径要写进文档
"soc": 86, "soh": 98,
"cellVoltages": [3.201, 3.199, 3.204], // 单体电压数组,串数随型号变化
"temperatures": [25.1, 25.6]
},
"attributes": {
"sn": "BAT-DEMO-0001", "model": "16S-100Ah",
"fwBms": "V2.3.0", "fwDisplay": "V1.1.0", "fw4g": "V1.0.5"
},
"events": [
{ "type": "cell_over_voltage", "level": "warn", "cell": 7, "value": 3.65 }
]
}设计时要注意:
- 遥测和属性分开存:遥测进时序库做曲线,属性(SN、型号、固件版本)进业务库做筛选和归属。
- 串数可变:单体电压用数组而不是固定列,16 串和 32 串电池共用模型。
- 告警是事件不是状态:保护触发、恢复都记录为事件,带触发值,便于售后复盘。
- 原始报文单独留存:解析规则出错时可以回放重算。
电池生命周期与追溯
一块电池在 BMS 平台里的生命周期:出厂、调拨、激活、监控、告警、升级、追溯
BMS 平台和普通设备监控平台最大的区别是设备归属会流转:出厂时属于厂家,调拨后属于 PACK 厂或经销商,激活后又和终端用户绑定。权限设计要基于「当前归属 + 组织层级」动态计算,而不是在设备上写死客户字段。每一次归属变化都记录流水,售后按 SN 就能查到完整履历。
三类固件 OTA 的工程细节
我们交付的 BMS 平台支持电池、仪表、4G 模组三类固件升级,三者的升级地址和流程都不同:
| 环节 | 做法 |
|---|---|
| 分包 | 按协商后的 MTU 分包,每包带序号和校验 |
| 确认 | 逐包确认后再发下一包,不靠固定延时 |
| 写入方式 | 超时后自动切换写入方式重试,切换动作写进日志 |
| 三端差异 | iOS、Android、小程序的蓝牙行为不同,三端分别验证 |
| 日志 | 每次升级保存完整日志,失败时能看到停在哪个阶段、哪一包 |
| 远程升级 | 4G 设备由云端分片下发,见 储能 BMS 远程固件升级案例 |
对接 MES 等第三方系统
工厂往往希望 MES 能拿到电池出厂数据和运行数据。我们的做法是给第三方系统分配 AppID + 密钥 + 有效期,接口按租户隔离,只开放约定的字段和写入范围。接口要有调用日志和限流,密钥过期需要续期,避免一个密钥长期有效。
哪些资料会影响报价
评估 BMS 管理系统前,建议先整理设备型号、通讯方式、BLE 数据、4G 数据、组织层级、OTA 类型、历史数据规模和第三方系统对接范围。小程序是否需要重控制能力,也要提前判断。
如果项目已经有设备样机、协议文档和组织规则,可以通过 联系我们 发项目概要。我们会按云平台、Web 后台、App、小程序、设备接入、OTA 和售后范围给出分阶段建议。
如果你现在重点就在 BMS 云平台、多端设备详情、OTA 和售后追溯,可以直接进入 BMS管理系统开发 页面继续看交付内容、常见排期和咨询前需要准备的资料。
常见问题
BMS 管理系统和 BMS 板是什么关系?
BMS 板是电池里的硬件,负责采集和保护;BMS 管理系统是软件,负责远程监控、设备归属、告警、升级和售后追溯,通过蓝牙或 4G 从 BMS 板读取数据。
BMS 蓝牙 App 和微信小程序能用同一套代码吗?
可以用 uni-app 一套代码交付 Android、iOS 和微信小程序,蓝牙接口基本一致;但三端蓝牙行为有差异,OTA 等关键流程要分别实测。
电池数据要多久上报一次?
取决于用途和流量预算。实时监控可以缩短周期,常规运维可以拉长周期,并在告警或状态突变时立即上报。上报策略最好可以远程配置。
只有蓝牙没有 4G,云平台还有必要吗?
只做近场查看可以不要;只要涉及账号、设备归属、经销商、售后记录或 OTA 记录,就需要云平台保存数据,蓝牙读到的数据可在联网时同步。
多个 PACK 厂能用同一个平台吗?
可以,按组织做数据隔离即可。我们的 BMS 平台还支持按 PACK 厂接入多个微信小程序,分别配置首页、登录方式和协议页面。
准备做BMS管理系统开发,建议先把这些信息收齐
信息越完整,方案判断、报价区间和排期就越接近真实交付情况。
- 组织架构、角色权限和设备归属流转规则
- BLE、4G、MQTT、WebSocket 等设备链路说明
- 电池档案、历史数据、导出和售后追溯要求
- OTA 升级策略、第三方系统接口和审计要求