Про 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; для кожного параметра вказано джерела.