项目介绍

dionipe/jk-bms-esp32-cyd 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,目前获得 16 个 Star、4 次 Fork。

仓库全名
dionipe/jk-bms-esp32-cyd
Star 数
16
Fork 数
4

README 摘要

ESP32-2432S028R — JK BMS & ANT BMS Bluetooth Monitor Monitor baterai JK BMS dan ANT BMS via Bluetooth Low Energy (BLE), ditampilkan pada layar sentuh TFT 2.8" bawaan board ESP32-2432S028R (Cheap Yellow Display / CYD). Fitur Utama Splash screen animasi boot dengan countdown 3 detik sebelum BLE scan dimulai Scan BLE otomatis selama 8 detik, lalu langsung masuk daftar perangkat — mendeteksi JK BMS dan ANT BMS secara…

完整内容见 GitHub 原始 README 或本页 。

常见问题

jk-bms-esp32-cyd 用什么语言开发?

主要使用 C++ 编写,目前有 16 个 Star。

如何获取 jk-bms-esp32-cyd 的源码?

可以直接克隆仓库:git clone https://github.com/dionipe/jk-bms-esp32-cyd.git,默认分支为 main;安装与运行步骤见仓库 README。

jk-bms-esp32-cyd 最近还在维护吗?

仓库最近一次更新为 5月27日,当前没有未关闭的 Issue;Star 数为 16,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

ESP32-2432S028R — JK BMS Bluetooth

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
24
价值分
10
活跃状态
活跃

语言占比

C++

README

ESP32-2432S028R — JK BMS & ANT BMS Bluetooth Monitor

Monitor baterai JK BMS dan ANT BMS via Bluetooth Low Energy (BLE), ditampilkan pada layar sentuh TFT 2.8" bawaan board ESP32-2432S028R (Cheap Yellow Display / CYD).

Fitur Utama

  • Splash screen animasi boot dengan countdown 3 detik sebelum BLE scan dimulai
  • Scan BLE otomatis selama 8 detik, lalu langsung masuk daftar perangkat — mendeteksi JK BMS dan ANT BMS secara bersamaan
  • Auto-rescan setiap 12 detik dari layar pilih perangkat
  • 3 halaman display yang dapat berpindah dengan tap layar:
    • Halaman 1 – Utama: voltase total, arus, SOC, suhu MOS/baterai, kapasitas, siklus, status charging/discharging/balancing
    • Halaman 2 – Voltase Sel: grid 3 kolom dengan voltase tiap sel, warna-kode diferensial
    • Halaman 3 – Resistansi Sel: grid 3 kolom dengan resistansi internal tiap sel (mΩ), hanya tersedia untuk protokol lama JK (55AAEB90)
  • Dukungan dua protokol JK BMS:
    • Protokol baru TLV 4E57 (JK02 standar BLE)
    • Protokol lama fixed-frame 55AAEB90 (JK01 / variant firmware)
  • Dukungan legacy RS485 bridge (EB90) untuk balancer JK yang merespons ACK pendek FC xx 06
  • Dukungan ANT BMS via protokol 7E A1 (CRC-16/Modbus) — voltase sel, arus, SOC, suhu, kapasitas, status charging/discharging/balancing
  • Auto-deteksi offset data resistansi antar varian firmware
  • LED RGB indikator status koneksi
  • Watchdog & reconnect otomatis jika koneksi BLE putus

Hardware

Komponen Spesifikasi
Board ESP32-2432S028R (CYD)
MCU ESP32 dual-core 240 MHz
Display ILI9341 2.8" TFT 240×320, SPI (HSPI)
Touchscreen XPT2046, SPI (VSPI)
LED RGB LED (active low)
Wireless BLE via NimBLE

Pinout

Komponen Pin
TFT MOSI GPIO 13
TFT MISO GPIO 12
TFT CLK GPIO 14
TFT CS GPIO 15
TFT DC GPIO 2
TFT BL (Backlight) GPIO 21
LED Merah GPIO 4
LED Hijau GPIO 16
LED Biru GPIO 17
Touch CS GPIO 33
Touch IRQ GPIO 36

Protokol BMS yang Didukung

JK BMS — Protokol Baru 4E57 (JK02)

  • BLE Service UUID: 0000ffe0-0000-1000-8000-00805f9b34fb
  • Notify: FFE1 · Write: FFE2
  • Frame header: 4E 57 (TLV tag-length-value)
  • Data: voltase sel, arus, SOC, suhu, kapasitas, alarm, status MOSFET

JK BMS — Protokol Lama 55AAEB90 (JK01 / Variant)

  • Frame header: 55 AA EB 90
  • Frame type 0x02: data sel (voltase + resistansi internal per sel)
  • Resistansi sel: offset auto-detected, unit mΩ (nilai raw = mΩ langsung)
  • Data tambahan: suhu, arus, SOC, kapasitas, alarm

JK Legacy RS485 Bridge — 55AA .. request / EB90 .. response

  • Request host: 55 AA <addr> FF 00 00 <checksum>
  • Response slave: EB 90 <addr> FF ... dengan panjang tetap 74 byte
  • ACK pendek legacy FC xx 06 dideteksi sebagai sinyal valid; firmware akan memicu poll lanjutan otomatis
  • ACK FC xx 06 diproses di level notify (termasuk karakteristik bridge seperti FF12) dan tetap terdeteksi saat fragment/campur paket
  • Probe alamat legacy mencakup 0x81, 0x00, 0x01, 0x02, 0x10 untuk kompatibilitas varian modul BLE-RS485
  • Parser EB90 mengekstrak voltase total, jumlah sel, voltase per-sel, flag balancing, dan alarm

Catatan checksum request RS485:

  • checksum dihitung sebagai penjumlahan byte 55 AA <addr> FF 00 00 (mod 256)
  • contoh untuk alamat 0x81: request valid adalah 55 AA 81 FF 00 00 7F

ANT BMS — Protokol 7E A1

  • BLE Service UUID: 0000ffe0-0000-1000-8000-00805f9b34fb
  • Notify & Write: FFE1 (satu karakteristik untuk dua arah)
  • Frame header: 7E A1 · Response type: 0x11
  • CRC: CRC-16/Modbus atas byte payload
  • Request: 10-byte command 7E A1 01 00 00 BE 18 55 AA 55
  • Data: voltase tiap sel (LE uint16, mV), suhu sensor, suhu MOS, voltase total, arus, SOC, status charging/discharging/balancing, kapasitas
  • Deteksi perangkat: nama BLE mengandung "ANT" atau "ant"

Persyaratan

  • PlatformIO IDE (extension VS Code)
  • Board ESP32-2432S028R terhubung via USB
  • JK BMS atau ANT BMS dengan BLE aktif

Build & Upload

# Build
pio run

# Build dan upload ke board
pio run --target upload

# Buka serial monitor (115200 baud)
pio device monitor --baud 115200

Atau gunakan tombol Upload (→) di toolbar PlatformIO VS Code.

Struktur Proyek

ESP32-2432S028R/
├── src/
│   └── main.cpp          # Firmware utama
├── platformio.ini        # Konfigurasi build PlatformIO
├── README.md
└── CHANGELOG.md

Serial Monitor

Buka serial monitor 115200 baud untuk melihat log diagnostik, termasuk:

  • Proses BLE scan dan koneksi
  • Parsed data dari BMS setiap frame
  • Auto-deteksi offset resistansi ([OldProto] finalOffset=...)
  • Outlier correction C01 jika aktif ([OldProto] C01 outlier ...)

评论

暂无评论