CRX3 NEW Communication Protocol
CRX3 NEW Communication Protocol
br
Version:V3.0
Level:Confidential
GPS Tracker
Communication Protocol
(CRX3)
www.concox.com.br 1
www.concoxcom.br
Content
1. code fragment of the CRC-ITU lookup table algorithm implemented based on C language .................................. 23
2. Data Flow Diagram................................................................................................................................................... 24
www.concox.com.br 2
www.concoxcom.br
Length
Format Description
(Byte)
Start Bit 2 0x780x78(packet length : 1bit)or 0x79x79(packet length 2 bits)
Length = Protocol Number + Information Content + Information Serial Number
Packet Length 1(2)
+ Error Check
Protocol Number 1 Transmission packet type(see the following diagram for details)
Information The specific contents are determined by the protocol numbers corresponding to
N
Content different applications.
The serial number of the first GPRS data (including status packet and data packet
Information Serial
2 such as GPS, LBS) sent after booting is ‘1’, and the serial number of data sent
Number
later at each time will be automatically added ‘1’.
Error check (From “Packet Length” to“Information Serial Number”) , are
Error Check 2 values of CRC-ITU. CRC error occur when the received information is
calculated, the receiver will ignore and discard the data packet. (See Appendix 1)
Stop Bit 2 Fixed value:0x0D0x0A
www.concox.com.br 3
www.concoxcom.br
www.concox.com.br 4
www.concoxcom.br
10
9
8
7
6
5
4
3 GMT
Lower
2 No definition
half
1 Language Select Bit Chinese
bit4-bit0
0 Language Select Bit English
Bit3 0-------Eastern time
1-------Western time
Example: Extended bit: 0x32 0x00 means GMT+8
Calculation method: 8*100=800 converts to HEX: 0X0320
Extended bit: 0x4D 0xD8 means GMT-12:45
Calculation method: 12.45*100=1245 converts to HEX: 0x04 0xDD
Here, to save 4 bytes, calculation result left shifted 4 bits and combined eastern time, western time and
language bit.
www.concox.com.br 5
www.concoxcom.br
2. Heartbeat Packet
Description:
a) Heartbeat packet is a data packet to maintain the connection between the terminal and the server.
b) If a GPRS connection is established successfully, the terminal will send a first login message packet to the
server and, within five seconds, if the terminal receives a data packet responded by the server, the
connection is considered to be a normal connection; if not, the terminal will send login packet again.
c) If no packet returned by server within 5 seconds, then the response of heartbeat packet is timeout.
d) Terminal reboot automatically after 3 timeouts.
www.concox.com.br 6
www.concoxcom.br
Terminal Information
One byte is consumed defining for various status information of the mobile phone.
Bit Code Meaning
1: Oil and electricity disconnected
Bit7
0: Oil and electricity connected
1: GPS tracking is on
Bit6
0: GPS tracking is off
Bit3~Bit5 Extended Bit
BYTE 1: Charge On
Bit2
0: Charge Off
1: ACC high
Bit1
0: ACC Low
1: Defense Activated
Bit0
0: Defense Deactivated
2.2 Server responds the heartbeat packet
Length
Description
(Byte)
Start Bit 2 0x780x78
Length = Protocol Number + Information Content + Information
Packet Length 1
Serial Number + Error Check
Protocol Number 1 0x13
Serial number of data sent later at each time will be automatically
Serial Number 2
added ‘1’.
Error check (From “Packet Length” to“Information Serial
Number”) , are values of CRC-ITU. CRC error occur when the
Error Check 2
received information is calculated, the receiver will ignore and
discard the data packet. (See Appendix 1)
Stop Bit 2 Fixed value: 0x0D0x0A
Example :78 78 05 13 01 00 E1 A0 0D 0A
www.concox.com.br 7
www.concoxcom.br
Description:
a) Data packet used to transmit terminal location
b) Upload locating data based on rule after successfully connected and positioned.
c) Re-upload locating data after successfully connected.
Length Description
Start Bit 2 0x78 0x78
Length = Protocol Number + Information Content + Information
Packet Length 1
Serial Number + Error Check
Protocol Number 1 0x22 (UTC)
Year(1byte)Month(1byte)Day(1byte)Hour(1byte)Min
Date Time 6
(1byte)Second(1byte)(converted to decimal)(Date Time)
Quantity of The first character is GPS information length. The second
1
GPS satellites character is positioning satellite number(converted to a decimal)
Latitude 4 Convert to a decimal and divide 1800000
Longitude 4 Convert to a decimal and divide 1800000
Speed 1 Convert to a decimal
Convert to binary number of 16 bits and calculate by bits (see the
Course, Status 2
following diagram)
MCC 2 Mobile Country Code(MCC) (converted to a decimal)
MNC 1 Mobile Network Code(MNC)(converted to a decimal)
LAC 2 Location Area Code (LAC) (converted to a decimal)
Information
Content Cell ID 3 Cell Tower ID(Cell ID)(converted to a decimal)
ACC 1 ACC Status ACC low: 00, ACC high: 01(not available for 06 )
GPS data upload mode(06 series are excluded)
0x00 Upload by time interval
0x01 Upload by distance interval
Data Upload
1 0x02 Inflection point upload
Mode
0x03 ACC status upload
0x04 Re-upload the last GPS point when back to static.
0x05 Upload the last effective point when network recovers.
GPS Real-Time
1 0x00 Real time upload 0x01 Re-upload(06 series are excluded)
Re-upload
Divided by 100 after turn HEX into decimal. (Only available for
Mileage 4
devices with this function)
Serial number of data sent later at each time will be automatically
Serial Number 2
added ‘1’.
Error Check 2 Error check (From “Packet Length” to“Information Serial
www.concox.com.br 8
www.concoxcom.br
For example: the value is 0x15 0x4C, the corresponding binary is 00010101 01001100,
BYTE_1 Bit7 0
BYTE_1 Bit6 0
BYTE_1 Bit5 0 (real time GPS)
BYTE_1 Bit4 1 (GPS has been positioned)
BYTE_1 Bit3 0 (East Longitude)
BYTE_1 Bit2 1 (North Latitude)
BYTE_1 Bit1 0
BYTE_1 Bit0 1
BYTE_2 Bit7 0
BYTE_2 Bit6 1
BYTE_2 Bit5 0 Course 332° (0101001100 in Binary, or 332 in decimal)
BYTE_2 Bit4 0
BYTE_2 Bit3 1
www.concox.com.br 9
www.concoxcom.br
BYTE_2 Bit2 1
BYTE_2 Bit1 0
BYTE_2 Bit0 0
which means GPS tracking is on, real time GPS, location at north latitude, east longitude and the course is
332°.
www.concox.com.br 10
www.concoxcom.br
www.concox.com.br 11
www.concoxcom.br
www.concox.com.br 12
www.concoxcom.br
5 Alarm Packet
Description:
a) Transmit alarm content defined by terminal
b) Server response and parse longitude and latitude into address and re-upload to terminal after receiving the
alarm content
c) Terminal send address to pre-set SOS number of device.
www.concox.com.br 13
www.concoxcom.br
i. Terminal Information
Bit Code Meaning
1:Oil and electricity disconnected
Bit7
0: Oil and electricity connected
1: GPS tracking is on
Bit6
0: GPS tracking is off
100: SOS
011: Low Battery Alarm
Bit3~Bit5 010: Power Cut Alarm
BYTE 001:Vibration Alarm
000: Normal
1: Charging
Bit2
0: Not Charge
1: ACC high
Bit1
0: ACC Low
1: Defense Activated
Bit0
0: Defense Deactivated
i. Alarm language
0x00:normal
0x01:SOS
0x02:Power cut alarm
Byte 1 0x03: Vibration alarm
0x04:Enter fence alarm
0x05:Exit fence alarm
0x06 Over speed alarm
www.concox.com.br 14
www.concoxcom.br
www.concox.com.br 15
www.concoxcom.br
6 Online command
Description:
a) Use server online command to control terminal to execute task.
b) Terminal response results to server.
www.concox.com.br 17
www.concoxcom.br
7 Time Packet
Description:
7.1.1.1 Used for checking time request sent by terminal to server, avoiding wrong time.
7.1.1.2 Server response right time and format. Time is UTC time.
7.2 Time request sent by terminal
Length
Description
(Byte)
Start Bit 2 0x78 0x78
Length = Protocol Number + Information Content +
Packet Length 1
Information Serial Number + Error Check
Protocol Number 1 0x8A
Serial number of data sent later at each time will be
Serial Number 2
automatically added ‘1’.
Error check (From “Packet Length” to“Information Serial
Number”) , are values of CRC-ITU. CRC error occur when
Error Check 2
the received information is calculated, the receiver will ignore
and discard the data packet. (See Appendix 1)
Stop Bit 2 Fixed value: 0x0D0x0A
Example:78 78 05 8A 00 06 88 29 0D 0A
www.concox.com.br 18
www.concoxcom.br
www.concox.com.br 19
www.concoxcom.br
Definition Identifier
Alarm Bit1 ALM1
Alarm Bit 2 ALM2
Alarm Bit 3 ALM3
Status Bit 1 STA1
SOS Number SOS
Centre Number CENTER
Fence FENCE
Fuel/Electricity
DYD
Cutoff Status
Mode MODE
ALM1 Definition (Status)
Bit Definition Mark
bit7 Vibration Alarm 1 ON 0 OFF
bit6 Network Alarm 1 ON 0 OFF
bit5 Phone Alarm 1 ON 0 OFF
bit4 SMS Alarm 1 ON 0 OFF
bit3 Displacement Alarm 1 ON 0 OFF
bit2 Network Alarm 1 ON 0 OFF
bit1 Phone Alarm 1 ON 0 OFF
bit0 SMS Alarm 1 ON 0 OFF
ALM2 Definition (Status)
Bit Definition Mark
Low Internal Battery
bit7 1 ON 0 OFF
Alarm
bit6 Network Alarm 1 ON 0 OFF
bit5 Phone Alarm 1 ON 0 OFF
bit4 SMS Alarm 1 ON 0 OFF
Low External Battery
bit3 1 ON 0 OFF
Alarm
bit2 Network Alarm 1 ON 0 OFF
bit1 Phone Alarm 1 ON 0 OFF
bit0 SMS Alarm 1 ON 0 OFF
ALM3 Definition (Status)
Bit Definition Mark
bit7 Overspeed Alarm 1 ON 0 OFF
bit6 Network Alarm 1 ON 0 OFF
bit5 Phone Alarm 1 ON 0 OFF
bit4 SMSAlarm 1 ON 0 OFF
bit3 Power Off Alarm 1 ON 0 OFF
bit2 Network Alarm 1 ON 0 OFF
bit1 Phone Alarm 1 ON 0 OFF
www.concox.com.br 20
www.concoxcom.br
When type is 05,this bit transmit external IO detection( door checking). Transmission is hexadecimal.
Bit Definition Mark
bit7 To Be Defined
bit6 To Be Defined
bit5 To Be Defined
bit4 To Be Defined
bit3 To Be Defined
bit2 IO Status 1 High 0 Low
bit1 Triggering Status 1High triggering
www.concox.com.br 21
www.concoxcom.br
0 Low triggering
bit0 Door Status 1ON 0 OFF
www.concox.com.br 22
www.concoxcom.br
iii. Appendix
1. code fragment of the CRC-ITU lookup table algorithm implemented based on C language
staticconstU16crctab16[]=
{
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,
};
www.concox.com.br 23
www.concoxcom.br
greater than
establish GPRS reconnection time
fail 20 min,
connection? ?
reboot
successful
send login data packet to server send login message packet less than 20min, reconnect reconnection time?
Yes
backend data server
connection is
alarm status
successful
interval of
alarm packet location data packet heartbeat packet
heartbeat packet
www.concox.com.br 24