Version: V1.0


Security Level: Confidential


Shenzhen Concox Information Technology Co., Ltd.


GPS Tracker Communication Protocol (JM-LL301)

Contents

  1. Packet Format (V1.0) 3

  2. Login Packet (0x01) (V1.0) 3

  3. Time Calibration Packet (0x8a) (V1.0) 5

  4. Heartbeat Status Information Packet (0x23) (V1.0) 6

  5. Heartbeat Packet (0x36) (V1.0) 8

  6. GPS Location Packet over 2G (0x22) (V1.0) 10

  7. GPS Location Packet over 4G (0xa0) (V1.0) 13

  8. LBS Multi-base Extended Information Packet over 2G (0x28) (V1.0) 15

  9. LBS Multi-base Extended Information Packet over 4G (0xa1) (V1.0) 17

  10. WIFI Information Packet over 2G (0x2c) (V1.0) 19

  11. WiFi Information Packet over 4G (0xa2) (V1.0) 21

12. 2G Alarm Packet (0x27) (V1.0) 23

  1. 4G Alarm Packet (0xa4) (V1.0) 27

  2. GPS Address Request Packet (0x2a) (V1.0) 31

  3. LBS Address Request Packet over 2G (0x17) (V1.0) 33

  4. LBS Address Request Packet over 4G (0xa7) (V1.0) 34

  5. LBS Alarm Packet over 2G (0x19) (V1.0) 36

  6. LBS Alarm Packet over 4G (0xa5) (V1.0) 40

  7. Online Command (0x80) (V1.0) 44

  8. General Information Transmission Packet (0x94) (V1.0) 46

  9. Large File Transmission Packet (0x8d) (V1.0) 61

  10. Attachment 1 Fragments of CRC Lookup Table in C (V1.0) 66

  11. Alarm Type List (V1.1) 68

  1. Packet Format (V1.0)


    Format

    Length (Byte)

    Description

    Start Bit

    2

    0x78 0x78 (1 byte) or 0x79 0x79 (2 bytes)


    Packet Length


    1(2)

    Length = Protocol number + Information content + Information sequence number (SN) + CRC

    Protocol Number

    1

    It indicates the type of the transfer packet (see the following table for details).

    Information Content


    N


    It is determined by different applications and their "protocol numbers".

    Information SN

    2

    The SN will be automatically added by "1” for each data sending after power-on.


    CRC


    2


    It is the CRC-ITU value from "Packet Length" to "Information SN". If the receiver receives a packet that contains a CRC error, it ignores the error and discards the packet (See Attachment 1 for algorithm details).

    Stop Bit

    2

    It is fixed at 0x0D 0x0A.

  2. Login Packet (0x01) (V1.0)

    Description:


  3. Time Calibration Packet (0x8a) (V1.0)

    Description:


  4. Heartbeat Status Information Packet (0x23) (V1.0)

    Description:


  5. Heartbeat Packet (0x36) (V1.0)

    Description:


  6. GPS Location Packet over 2G (0x22) (V1.0)

    Description:


  7. GPS Location Packet over 4G (0xa0) (V1.0)

    Description:


  8. LBS Multi-base Extended Information Packet over 2G (0x28) (V1.0)

    Description:


  9. LBS Multi-base Extended Information Packet over 4G (0xa1) (V1.0)

    Description:


  10. WIFI Information Packet over 2G (0x2c) (V1.0)

    Description:


  11. WiFi Information Packet over 4G (0xa2) (V1.0)

    Description:


  12. 2G Alarm Packet (0x27) (V1.0)

    Description:


  13. 4G Alarm Packet (0xa4) (V1.0)

    Description:


  14. GPS Address Request Packet (0x2a) (V1.0)

    Description:


  15. LBS Address Request Packet over 2G (0x17) (V1.0)

    Description:


  16. LBS Address Request Packet over 4G (0xa7) (V1.0)

    Description:


  17. LBS Alarm Packet over 2G (0x19) (V1.0)

    Description:


  18. LBS Alarm Packet over 4G (0xa5) (V1.0)

    Description:


  19. Online Command (0x80) (V1.0)

    Description:


  20. General Information Transmission Packet (0x94) (V1.0)

    Description:


  21. Large File Transmission Packet (0x8d) (V1.0)

    Description:


  22. Attachment 1 Fragments of CRC Lookup Table in C (V1.0)

    Attachment 1 CRC-ITU Algorithm in C (Fragments) static const U16 crctab16[] =

    {


    0X0000, 0X1189, 0X2312, 0X329B, 0X4624, 0X57AD, 0X6536, 0X74BF,


    0X8C48, 0X9DC1, 0XAF5A, 0XBED3, 0XCA6C, 0XDBE5, 0XE97E, 0XF8F7,


    0X1081, 0X0108, 0X3393, 0X221A, 0X56A5, 0X472C, 0X75B7, 0X643E,


    0X9CC9, 0X8D40, 0XBFDB, 0XAE52, 0XDAED, 0XCB64, 0XF9FF, 0XE876,


    0X2102, 0X308B, 0X0210, 0X1399, 0X6726, 0X76AF, 0X4434, 0X55BD,


    0XAD4A, 0XBCC3, 0X8E58, 0X9FD1, 0XEB6E, 0XFAE7, 0XC87C, 0XD9F5,


    0X3183, 0X200A, 0X1291, 0X0318, 0X77A7, 0X662E, 0X54B5, 0X453C,


    0XBDCB, 0XAC42, 0X9ED9, 0X8F50, 0XFBEF, 0XEA66, 0XD8FD, 0XC974,


    0X4204, 0X538D, 0X6116, 0X709F, 0X0420, 0X15A9, 0X2732, 0X36BB,


    0XCE4C, 0XDFC5, 0XED5E, 0XFCD7, 0X8868, 0X99E1, 0XAB7A, 0XBAF3,


    0X5285, 0X430C, 0X7197, 0X601E, 0X14A1, 0X0528, 0X37B3, 0X263A,


    0XDECD, 0XCF44, 0XFDDF, 0XEC56, 0X98E9, 0X8960, 0XBBFB, 0XAA72,


    0X6306, 0X728F, 0X4014, 0X519D, 0X2522, 0X34AB, 0X0630, 0X17B9,


    0XEF4E, 0XFEC7, 0XCC5C, 0XDDD5, 0XA96A, 0XB8E3, 0X8A78, 0X9BF1,


    0X7387, 0X620E, 0X5095, 0X411C, 0X35A3, 0X242A, 0X16B1, 0X0738,

    0XFFCF, 0XEE46, 0XDCDD, 0XCD54, 0XB9EB, 0XA862, 0X9AF9, 0X8B70,


    0X8408, 0X9581, 0XA71A, 0XB693, 0XC22C, 0XD3A5, 0XE13E, 0XF0B7,


    0X0840, 0X19C9, 0X2B52, 0X3ADB, 0X4E64, 0X5FED, 0X6D76, 0X7CFF,


    0X9489, 0X8500, 0XB79B, 0XA612, 0XD2AD, 0XC324, 0XF1BF, 0XE036,


    0X18C1, 0X0948, 0X3BD3, 0X2A5A, 0X5EE5, 0X4F6C, 0X7DF7, 0X6C7E,


    0XA50A, 0XB483, 0X8618, 0X9791, 0XE32E, 0XF2A7, 0XC03C, 0XD1B5,


    0X2942, 0X38CB, 0X0A50, 0X1BD9, 0X6F66, 0X7EEF, 0X4C74, 0X5DFD,


    0XB58B, 0XA402, 0X9699, 0X8710, 0XF3AF, 0XE226, 0XD0BD, 0XC134,


    0X39C3, 0X284A, 0X1AD1, 0X0B58, 0X7FE7, 0X6E6E, 0X5CF5, 0X4D7C,


    0XC60C, 0XD785, 0XE51E, 0XF497, 0X8028, 0X91A1, 0XA33A, 0XB2B3,


    0X4A44, 0X5BCD, 0X6956, 0X78DF, 0X0C60, 0X1DE9, 0X2F72, 0X3EFB,


    0XD68D, 0XC704, 0XF59F, 0XE416, 0X90A9, 0X8120, 0XB3BB, 0XA232,


    0X5AC5, 0X4B4C, 0X79D7, 0X685E, 0X1CE1, 0X0D68, 0X3FF3, 0X2E7A,


    0XE70E, 0XF687, 0XC41C, 0XD595, 0XA12A, 0XB0A3, 0X8238, 0X93B1,


    0X6B46, 0X7ACF, 0X4854, 0X59DD, 0X2D62, 0X3CEB, 0X0E70, 0X1FF9,


    0XF78F, 0XE606, 0XD49D, 0XC514, 0XB1AB, 0XA022, 0X92B9, 0X8330,


    0X7BC7, 0X6A4E, 0X58D5, 0X495C, 0X3DE3, 0X2C6A, 0X1EF1, 0X0F78,


    };


    // Calculate 16-bit CRC of the given-length data. U16 GetCrc16(const U8* pData, int nLength)

    {


    U16 fcs = 0xffff; // Initialize while(nLength>0){

    fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff]; nLength--;

    pData++;


    }


    return ~fcs; // Negate


    }


  23. Alarm Type List (V1.1)


Alarm codes (Trackers)

0x00

Normal

0x01

SOS call

0x02

Power cut alert

0x03

Vibrating alert

0x04

Entered fence alert

0x05

Left fence alert

0x06

Speed Alert

0x07


0x08


0x09

Tow/theft alert

0x0A

Entered GPS blind spot alert

0x0B

Left GPS blind spot alert

0x0C

Power-on alert

0x0D

GPS first fix alert

0x0E

Low external power alert

0x0F

External power low voltage protection alert

0x10

SIM changed alert

0x11

Power-off alert (manually powered off)

0x12

Airplane mode on alert

0x13

Tamper alert

0x14

Door alert

0x15

Powered off due to low battery

0x16

Voice control alert

0x17

Rogue base station alert

0x18

Cover removed alert

0x19

Low internal battery alert

0x1A

Exit transit mode alert

0x1B

Suspected of leaving the herd alert

0x1C



0x1D


0x1E


0x1F


0x20

Entered deep sleep mode alert

0x21

Reserved (Do not use)

0x22

Reserved (Do not use)

0x23

Fall alert

0x24

Charger connected alert

0x25

Light detected alert

0x26

Moved away from Bluetooth zone alert

0x27

Wire cut alert

0x28

Solicited offline (powered off) alert

0x29

Harsh acceleration

0x2A

Harsh left cornering alert

0x2B

Harsh right cornering alert

0x2C

Collision alert

0x2D

Vehicle rollover alert -> Fall alert

0x2E


0x2F


0x30

Harsh braking

0x31

Left-the-herd alert

0x32

Power-disconnected-triggered rollover alert – Tamper alert

0x33

Locked alert

0x34

Unlocked alert

0x35

Illegally unlocked alert

0x36

Unlock failed alert

0x37

Knocking alert

0x38

Over-distance alert

0x39

Mute over-distance alert

0x3A

Anklet recovered

0x3B

Stationary alert

0x3C

Theft Alert

0x3D

Illegally started alert

0x3E

Key press event upload

0x3F

Defense off alert (customized)

0x40

Defense on alert (customized)

0x41

Silenced alert (customized)

0x42

Vehicle finding alert (customized)


0x43

Trunk opened alert (customized)

0x44

RSV1 (customized)

0x45

RSV2 (customized)

0x46

RSV3 (customized)

0x47

Fatigue driving

0x48

Pet lost alert

0x49

Battery fully charged alert

0x4A

Battery exception alert

0x4B

Tilt alert

0x4C

Harsh cornering

0x4D

Sudden lane change

0x4E

Vehicle stability

0x4F

Vehicle Euler angle

0x50

Door closed event

0x51

Door opened event

0x52

Body temperature exception alert

0x53

Fuel stolen alert (GT800) (added on Jun. 28, 2019)

0x54

External GPS antenna disconnected alert (added on Sept. 29, 2019)

0x55

Battery temperature high alert

0x56

Charging started

0x57

Charging stopped

0x58

Charging complete soon

0x59

Charging complete

0x5A

Overcharging reminder

0x5B

Temperature high alert

0x5C

Temperature low alert

0x5D

RFID error alert

0x5E

Pulse alert

0x5F

Speeding in fence alert

0x60

Phase wire alert

0x61

Temperature sensor alert

0x62

High external power alert

0x63

Approaching Bluetooth alert

0x64

Temperature exception recovered

0x65

Violent crash damage canceled

0x66

ADC value alert

0x67

Logged in alert

0x68

Logged out alert


0x69

File upload notification

0x70

SD card mounting

0x71

Refill notification

0x72

Installation Alert

0x73

Fuel level sensor timeout

0x74

Speed alert recovered

0x75

Fatigue driving alert dismissed

0x76

Temperature sensor timeout

0x77

ADC1 high voltage alert

0x78

ADC1 low voltage alert

0x79

Abnormal ADC1 voltage rise alert

0x7A

Abnormal ADC1 voltage drop alert

0x7B

Abnormal temperature rise alert

0x7C

Abnormal temperature drop alert

0x7D

Idling block

0x7E

Humidity alert

0XFF

ACC OFF

0XFE

ACC ON










Alarm codes (DVRs)

0x80

Vibrating alert

0x81

SIM exceeds traffic limit

0x82

Device restarted

0x83

Collision alert

0x84

Camera 1 exception

0x85

Camera 2 exception

0x86

TF card unidentifiable

0x87

Speeding alert

0x88

Power cut alert

0x89

No USB camera

0x90

Harsh acceleration

0x91

Harsh braking


0x92

Harsh cornering

0x93

Collision alert

0x8A

Power/fuel cut alert enabled

0x8B

Power/fuel cut alert disabled

0x8D

Switched to land transport

0x8E

Environment exception

0x95

Switched to waterborne transport mode

0x96

Switched to parking mode

0x8C

Fatigue driving

0x97

Driver in a call

0x9A

Driver smoking

0x8F

Driver distracted

0x94

Driver strange

0x98

Active capture

0x99

Driver changed

0xA0

Yawn alert (added on Nov. 04, 2019)

0xA1

Shelter alert (added on Nov. 04, 2019)

Alarm codes (ET110N)

0xC0

Illegally moved alert

0xC3

Backup battery low alert

0xC4

Cross line alert

0xC5

Fuel insufficient alert



Other devices

0xD0

GPS antenna open circuited alert

0xD1

GPS antenna short circuited alert

0xD2

Magnetic sensor alert

0xD3

Signal shielded alert