关于 JK Preset Studio

JK Preset Studio 是一款免费、开放的工具,面向使用 JK BMS 保护板搭建电池组的用户(JK-PB 逆变器系列,例如 JK-PB2A16S20P,以及使用相同协议的 B2A 保护板)。它直接在浏览器中通过蓝牙连接 BMS,让你无需 JK 应用,就能在电脑或 Android 手机上查看和修改每一项设置。也支持从 JK 应用导出的文件。

通过蓝牙直连

浏览器通过 Web Bluetooth 与 BMS 通讯,使用与 JK 应用相同的 JK02 协议(服务 0xFFE0,特征 0xFFE1)。读取时向 BMS 请求设置帧和设备信息帧,两者合起来正好就是 .jkcfg 文件的内容。

AA 55 90 EB reg len  value (u32 LE)  00 × 9  CS   write, 20 bytes
AA 55 90 EB C8 01 01 | 00 | 02  ……            accepted | refused | no such setting

修改会逐项写入。固件会把每个数值与它当时保存的数值进行校验,因此编辑器把你的修改拆分成无论按什么顺序都会被接受的步骤,并在每一步之后回读 BMS。

BMS 会应答每一次写入:已接受、因与其他设置冲突而被拒绝,或因该型号没有此项设置而被拒绝。连接后,编辑器会立即把每个可选设置的当前值写回,以了解你的 BMS 具备哪些设置;数值不会改变。结果按该 BMS 保存在这个浏览器中。

Web Bluetooth 可在 Windows、macOS、ChromeOS 和 Android 上的 Chrome 和 Edge 中通过 HTTPS 使用。连接前请关闭 JK 应用:BMS 同一时间只接受一个蓝牙连接。

.jkcfg 文件格式

.jkcfg 文件共 600 字节:由两个 300 字节的 JK02 蓝牙协议数据帧首尾相接组成。

55 AA EB 90 01 xx  ……  settings  ……  CS   bytes 0–299
55 AA EB 90 03 xx  ……  device info …  CS   bytes 300–599

第 1 帧(类型 0x01)保存设置:小端序 32 位数值,电压单位为 mV,电流为 mA,温度为 0.1 °C,之后是每节电芯的线阻、设备地址和一个开关位字段。

第 2 帧(类型 0x03)保存设备信息:型号、硬件和固件版本、序列号、密码、通讯协议和充电计时器。

每帧的最后一个字节是校验和:前 299 个字节之和对 256 取模。编辑器在导出时会重新计算。

隐私

通过蓝牙读取的设置和你打开的文件都保留在浏览器中:无需上传,也无需账号。你的 BMS 不具备的设置列表只保存在这个浏览器中,以 BMS 序列号为键。网站使用 Google Analytics 统计访问量。未经你同意时,它只接收不带 Cookie 的匿名请求(无 Cookie、无标识符);你同意后,它还会使用分析 Cookie 统计回访。会发送的内容:页面浏览、已加载配置的 BMS 型号、固件版本和电芯类型、配置来自蓝牙还是文件、被修改参数的名称、校验规则代码、蓝牙错误代码以及界面操作(预设、写入、下载、语言、主题)。不会发送:文件名、文件内容、参数数值和序列号。你可以随时更改选择。

免责声明

致谢

字段偏移基于 syssi/esphome-jk-bms 的逆向工程成果。推荐值来自 JK 说明书、电芯规格书、Battery University 和 DIY Solar 社区;每个参数都列出了资料来源。