-
-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Who can help to get data from Jk-BMS via BLE + RPi5. Please HELP ME. #656
Comments
Could you provide some details about your BMS model? The implemented request ( |
How can I do this? I don't really understand what is related to what. |
Are we talking about anm BMS or Active Balancer? Which Android app do you use to talk to your device? |
It is simply called "JK BMS". |
I would also be grateful if there is some kind of manual on the Internet on how to work with these JK-BMS, receive notifications, and know where and what data it provides. I've searched for a long time and haven't found anything that could help me understand this concept. |
There is no official documentation or protocol description available. It looks like you have implemented the wrong protocol / an unsupported request. Please have a look at the |
Unfortunately, I am not familiar with C++. |
I will summarize some protocol details tomorrow. |
JK BMS BLE Protocol DocumentationBLE Service & CharacteristicThe BMS is accessible via the following BLE service:
Note: While both characteristics share the same UUID (
Communication Flow
Command StructureCommands are sent as 20-byte frames with the following format:
Command Types
Example Command PayloadsDevice Info Command (0x97)
Cell Info Command (0x96)
Response HandlingFrame Assembly
Response Frame TypesResponse type is identified by byte[4]:
CRC CalculationThe CRC is calculated by summing all bytes in the frame except the CRC byte itself: uint8_t crc(const uint8_t data[], const uint16_t len) {
uint8_t crc = 0;
for (uint16_t i = 0; i < len; i++) {
crc = crc + data[i];
}
return crc;
} Error Handling
|
I get services and some only characteristics (About the BMS itself) but do not get data on battery power and the rest.
I am writing an application on nestjs + dbus-next.
Here is the code I wrote ( https://codepen.io/Rondo-Yummy/pen/vEBdOyB ):
The logs show the following:
The text was updated successfully, but these errors were encountered: