Skip to content

JKSERIAL - JK TTL Communications v2.5 - 0x4E57 | NW

Document Details

Source: http://www.jk-bms.com/en/Upload/2023-12-05/1702131628.pdf

Implemented in protocol: JKSERIAL

Physical Interface

This protocol defines the communication protocol between the monitoring platform and the battery terminal, as well as the message format, transmission mode and communication mode, etc.

Communication using 2G GPRS in TCP transmission, 4G in GAT1, Socket interface mode, RS232TTL serial port, content custom communication format, baud rate 115200.

During the communication process, the device has active reporting frame and passive response frame. Please refer to the communication data format for details. The interval of each packet number is at least 100MS, and the longest reply packet is not more than 5S. Timed broadcast. If dormant, the control terminal will send the activation information, activate the BMS, and then communicate.

Frame Structure

Example:

'NW\x00\x13\x00\x00\x00\x00\x06\x03\x00\x00\x00\x00\x00\x00h\x00\x00\x01)'

Frame Structure

Position Length Byte Description Description
1 2 Start bytes 0x4E57 or NW
2 2 Length 0x0013 — all data bytes except the first two characters including the checksum and the length field itself
3 4 BMS terminal no 0x00000000
4 1 Command word 0x06 — read all the data (see Command Word section)
5 1 Frame source 0x03 — 0: BMS, 1: Bluetooth, 2: GPS, 3: PC
6 1 Transport type 0x00 — 0: request frame, 1: reply frame, 2: BMS active reporting
7 n Data 0x00 — not used for 'read all data' command
8 4 Record number 0x00000000 — high 1 byte is random code (reserved for encryption), low 3 bytes is the record sequence number
9 1 End byte 0x68 or h
10 4 Checksum 0x000001 — high 2 bytes not yet enabled, low 2 bytes CRC cumulative check

Command Word

  • 0x01 - Activate - Activate the BMS (when dormant) before proceeding to any other action
  • 0x02 - Write - Write / configure BMS parameter(s)
  • 0x03 - Read - Read BMS parameter
  • 0x05 - Pair - Pair with the BMS
  • 0x06 - Read All Data - Read all BMS data at once

Transport Type

  • 0 for request frame,
  • 1 for reply frame.
  • 2 is for active reporting.
  • As long as 5-Bluetooth,2-GPS,3-PC PC and 4-BMS are initiated first, the reply will use 1.

crc calc

crc calc - sum all data
crc = 0
for b in byte_data:
    crc += b
crc_low = crc & 0xFF
crc_high = (crc >> 8) & 0xFF

BMS Data

BMS Data Definitions

Use Code Name Byte Count Description
R 0x79 Single Battery Voltage 3*n The first byte is the battery number, the second is data length, then each 3 bytes is battery number, and 2 bytes of voltage in mV
R 0x80 Power tube temperature 2 0 -- 140 (-40 to 100 °C); parts over 100 are negative temperatures, such as 10, 1 is negative 1 °C (100 Benchmark)
R 0x81 Battery box temperature 2 0 -- 140 (-40 to 100 °C); parts over 100 are negative temperatures, such as 10, 1 is negative 1 °C (100 Benchmark)
R 0x82 Battery temperature 2 0 -- 140 (-40 to 100 °C); parts over 100 are negative temperatures, such as 10, 1 is negative 1 °C (100 Benchmark)
R 0x83 Total battery voltage 2 0.01V, e.g., 3500 * 0.01 = 35.00V. The minimum unit is 10 mV

...#TODO: finish ...