Про JK Preset Studio

JK Preset Studio це безкоштовний відкритий інструмент для тих, хто обслуговує батареї на платах JK BMS (інверторна серія JK-PB, наприклад JK-PB2A16S20P, і плати B2A на тому ж протоколі). Він підключається до BMS через Bluetooth прямо з браузера, тож кожне налаштування можна переглянути й змінити на комп'ютері чи Android-телефоні без застосунку JK. Файли, експортовані із застосунку JK, теж підтримуються.

Пряме підключення через Bluetooth

Браузер спілкується з BMS через Web Bluetooth за тим самим протоколом JK02, що й застосунок JK (сервіс 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 працює в Chrome і Edge на Windows, macOS, ChromeOS та Android через HTTPS. Перед підключенням закрийте застосунок JK: BMS приймає лише одне Bluetooth-з'єднання одночасно.

Формат .jkcfg

Файл .jkcfg має розмір 600 байт: два 300-байтові кадри Bluetooth-протоколу 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-бітні значення little-endian — напруги в mV, струми в mA, температури в 0,1 °C, далі опір дротів кожної комірки, адреса пристрою та бітове поле з перемикачами.

Кадр 2 (тип 0x03) містить інформацію про пристрій: модель, версії апаратного забезпечення та прошивки, серійний номер, паролі, протоколи зв'язку та таймери заряду.

Останній байт кожного кадру — контрольна сума: сума попередніх 299 байт за модулем 256. Редактор перераховує її під час експорту.

Конфіденційність

Налаштування, прочитані через Bluetooth, і відкриті файли залишаються у вашому браузері: ні завантаження на сервер, ні акаунта. Список параметрів, яких немає у вашій BMS, зберігається лише в цьому браузері з прив'язкою до серійного номера BMS. Сайт використовує Google Analytics для статистики використання. Без вашої згоди він отримує лише анонімні пінги без cookies та без ідентифікатора, а зі згодою ще й використовує аналітичні cookies, щоб рахувати повторні відвідування. Що передається: перегляди сторінок, модель BMS, версія прошивки та хімія батареї завантаженої конфігурації, звідки вона (Bluetooth чи файл), назви змінених параметрів, коди правил перевірки, коди помилок Bluetooth і дії в інтерфейсі (пресети, запис, завантаження, мова, тема). Ніколи не передаються: назви файлів, їхній вміст, значення налаштувань і серійні номери. Свій вибір можна змінити будь-коли.

Застереження

Подяки

Зміщення полів базуються на реверс-інжинірингу з проєкту syssi/esphome-jk-bms. Рекомендації взято з інструкцій JK, datasheet комірок, Battery University та спільноти DIY Solar; для кожного параметра вказано джерела.