Vous êtes sur la page 1sur 12

TK06A

Communication Protocol
Check the device corresponding message according to different
message contents

1. Data Format
Communicating transmission is asynchronous mode in Bytes
Packet Length total :10+NByte
Format

Start
bit

length(Byte) 2

Packet Protocol Message Message Mistake Stop


length No.
contents serial
verify
bit
No.
1
1
N
2
2
2

1.1start bit
Fixed value, Unified as hexadecimal 0x78 0x78

1.2 Packet Length


Length= Protocol No.+ Message contents + Message serial No.+ Mistake verify,
Total5+NBytebecause message contents is unfixed length.

1.3 Protocol No.


Check the corresponding protocol No. according to different message
contents
Type

value

Login message

0x01

GPS message

0x10

LBS message

0x11

GPSLBS combined message

0x12

Status message
Satellite Signal
message

0x13
to

Noise

ratir\o 0x14
0x15

Character string message


GPS LBS status
message

0x16
combined

0x17

0x18
LBS phone number check location
message
0x1A
LBS complete message

0x80

GPS phone number check location


message
Server send command message

to

terminal

1.4. message serials No.


The 1st GPRS data serials No. is 1after turn on power (include status packet,
GPS, and LBS data packet), after this all the serials No. will add 1
automatically at every time send data (include status packet, GPS, and LBS
data packet)
1.5 message contents
1.5.1 login message packet
format

message contents
terminal ID

Length

Login message packet is using to confirm the connection to server is working


well, submit the terminal ID to server.
1.5.1.1. terminal ID
terminal ID uses 15 digits IMEI number.
Eg123456789012345
Then the terminal ID is0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45
1.5.1.2. server response
Eg

Terminal send login message packet as below to serverhere the


terminal ID example is 123456789012345

0x78 0x78 0x0D 0x01 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 0x00 0x01 0x8C 0xDD
0x0D 0x0A
Start bit Legnth P.N

terminal ID

Serials No. CRC correct stop bit

Server response to terminal


0x78 0x78 0x05 0x01 0x00 0x01 0xD9 0xDC 0x0D 0x0A
Start bit

Legnth P.N

Serials No. CRC correct stop bit

1.5.2 GPS Data packet


Format

length
byte

Info contents
Data
,
time

GPS info
GPS
info
length

satellite
quantity
include
d

Lastitud
e

Longitud
e

Spee
d

Status,headin
g

Reserve
Extensio
n Digit

1.5.2.1 Data, time


Format

Year

Month

Date

Hour

Minute

second

length
byte

Eg2010, March, 23th,15:50:23


It is0x0A 0x03 0x17 0x0F 0x32 0x17

1.5.2.2. GPS info lengthsatellite quantity included


1Byte switch to binary system is 8Bitfront 4Bit is GPS info lengthlatter 4Bit is the
satellite quantity included

NoteLength include itself occupied 1 byte .


Egwhen value is 0x9C means GPS info length is 9Bytesatellite quantity included is
12
1.5.2.3. Latitude
Occupy 4 bytes means Latitude value of tracking data. The data range is 0-162000000,
means 0 degree to 90 degree range , unit : 1/500seconds, switch method as below:
Turns Lat and Long value input by GPS module into decimals at minute unit; then
multiply by 30000, and turn the multiply result into hexadecimal number system
Eg2232.7658, (22x60+32.7658)X30000=40582974turn into hexadecimal number
system is :0x020x6B0x3F0x3E.
1.5.2.4. Longitude
Occupy 4 bytes means Longitude value of tracking dataThe data range is 0324000000means 0 degree to 180 degree rangeunit : 1/500seconds, switch method
is same as Latitude.
1.5.2.5. Speed
Occupy 1 bytesmeans GPS operating speedvalue range is 0x000xFF mean range
0255km/h
1.5.2.6. status/ heading
Ocuupy 2 bytes means GPS operating heading, range 0360Unitdegreeuse
north as 0 degree,clockwise.
Front 6 digits of the 1st byte 8-bit binary means status, the latter 2 bits and 8 bits of the
2nd bytes, total 10-bit means heading degree.

1st byte
8 7 6
Real time/difference
GPS

5
4
GPS East
locate Long
or not
West
Long

0South Lat

1North Lat

0East Long

1West Long

0GPS not locate

3
2 1
South heading
Lat
North
Lat

1GPS located

2nd byte
8 7 6

0real time GPS

1difference GPS

Egvalue is 0x15 0x4Cturns to binary is 00010101 01001100namely means GPS located


real time
GPSnorth lateast Longheading 332.

5.3 Status message packet

Format

Message contents
Terminal
Message

Voltage grade

GSM
Message
strength grade

Length
byte

5.3.1. terminal message


Occupy 1 byte means various status message of mobile phone. Regard 1st byte as 8-bit,
lowest bit is 0-bit, highest bit is 7-bit, transmit highest bit firstly, then lowest bit.
Represents as below:
upper bit

lower bit

0-bit

0cancel anti-theft
1set up anti-theft

1-bit

0ACC low
1ACC high

2-bit

0charging without
power supply
1charging with
power supply

3,4,5-bit

000normal
001vibration alarm
010power failure alarm
011low power alarm
100SOS alarm

6-bit

0GPS not locate


1GPS located

7-bit

0oil circuit connected


1oil circuit cut

Eg0x4Ecorresponding binary is 01001110


Mean s cancel anti-theft status, ACC high , connected power supply charging, vibration
alarm, GPS located, oil circuit connected.

1.5.4. server response


After server received terminal data packet, response contents is empty data packet.
Note message serials No.of data packet must same as message serials No. of terminal
response.
Eg
Terminal send status packet to server as below
0x78 0x78 0x08 0x13 0x4B 0x04 0x03 0x00 0x01

0x00 0x1 1 0x06 0x1F

Start bit Legnth P.N message contents reserved bit Serials No. CRC correct

0x78 0x78 0x05 0x13 0x00 0x01

0x0D 0x0A

stop bit

0x00 0x11 0x0D 0x0A

Start bit Legnth P.N Serials No. CRC correct

stop bit

5.10. server send command to terminal

Format
Command
length

Message contents
Server zone
bit

Command
contents

Reserved
extend bit

Lengthbyte
Protocol No.0x80
5.10.1. command length

Use byte length as unit, 0x0A means command contents occupy 10 bytes .

5.10.2. server zone bit


Reserve for server to identify, terminal will receive the original binary data in the returned
packet.

5.10.3. Command contents


Use ASCof character string to represent command contents and message command.

2. Stop bit
Fixed value unified hexadecimal 0x0D 0x0A

3. Attach A CRC-ITU checking table algorithm C language code snippet


CRC-ITU checking table algorithm C language code snippet
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 fixed length data 16-bit CRC


U16 GetCrc16(const U8* pData, int nLength)
{
U16 fcs = 0xffff;

// initialization

while(nLength>0){
fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff];
nLength--;
pData++;
}
return ~fcs;

// negation

4.. Attach B communication protocol data packet fragment sample


The following data is intercepted from the communication between the terminal and
server, hexadecimal display data, sent out means terminal send out, receiving means
returned by the server:
Login packet:
sending: 78 78 0D 01 03 53 41 35 32 15 03 62 00 02 2D 06 0D 0A
receiving: 78 78 05 01 00 02 EB 47 0D 0A
GPS data packet (06 use GPSLBS combined message packet):
sending: 78 78 1F 12 0B 08 1D 11 2E 10 CF 02 7A C7 EB 0C 46 5849 00 14 8F 01 CC
00 28 7D 00 1F B8 00 03 80 81 0D 0A
status packet:
sending: 78 78 0A 13 44 01 04 00 01 00 05 08 45 0D 0A
receiving: 78 78 05 13 00 05 AF D5 0D 0A

online check location :


receiving: 78 78 16 80 10 00 01 A9 67 44 57 58 58 2C 30 30 30 30 30 30 23 00 A0 06 2D 0D
0A
sending : 78 78 64 15 5C 00 01 A9 67 44 57 58 58 3D 4C 61 74 3A 4E 32 33 2E 31 31 31 36
38 32 2C 4C 6F 6E 3A 45 31 31 34 2E 34 30 39 32 31 37 2C 43 6F 75 72 73 65 3A 30 2E 30
30 2C 53 70 65 65 64 3A 30 2E 33 35 31 38 2C 44 61 74 65 54 69 6D 65 3A 31 31 2D 31 31
2D 31 35 20 20 31 31 3A 35 33 3A 34 33 00 02 00 23 07 AE 0D 0A

terminal uoloading
message :DWXX=Lat:N23.111682,Lon:E114.409217,Course:0.00,Speed:0.3518,DateTime:11-11-15
11:53:43

terminal quiry address message from server:


Chinese:
Sending : 78 78 2E 1A 0B 0B 0F 0E 21 17 CF 02 7A C8 87 0C 46 57 E3 00 14 02 36 36 33
36 36 00 03 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 34 AD E9 0D 0A
receiving : 78 78 94 17 8E 00 00 00 01 41 44 44 52 45 53 53 26 26 4F 4D 7F 6E 00 3A 5E 7F
4E 1C 77 01 60 E0 5D DE 5E 02 4E 91 5C 71 89 7F 8D EF 00 2E 65 87 53 4E 4E 00 8D EF
00 2E 79 BB 60 E0 5D DE 5B 89 4F 17 4F 1A 8B A1 5E 08 4E 8B 52 A1 62 40 7E A6 00 33
00 32 7C 73 00 2E 79 BB 60 E0 5D DE 5E 02 59 16 55 46 62 95 8D 44 67 0D 52 A1 4E 2D
5F C3 7E A6 00 33 00 32 7C 73 00 2E 26 26 36 36 33 36 36 00 03 00 04 00 00 00 00 00 00
00 00 00 00 00 00 23 23 00 01 E4 2A 0D 0A

server send out contents::..


32,32.
:66366

English:
Sending: 78 78 2E 1A 0B 0B 0F 0E 1E 08 CF 02 7A C8 A2 0C 46 57 D7 00 14 02 36 36 33
36 36 00 03 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 32 04 3A 0D 0A
receiving: 78 78 00 E9 97 00 E2 00 00 00 01 41 44 44 52 45 53 53 26 26 00 50 00 72 00 65
00 63 00 69 00 73 00 65 00 6C 00 79 00 20 00 4C 00 6F 00 63 00 61 00 74 00 69 00 6E 00
67 00 3A 00 31 00 30 53 F7 00 20 00 59 00 75 00 6E 00 73 00 68 00 61 00 6E 00 20 00 57
00 65 00 73 00 74 00 20 00 52 00 64 00 2C 00 48 00 75 00 69 00 63 00 68 00 65 00 6E 00
67 00 2C 00 48 00 75 00 69 00 7A 00 68 00 6F 00 75 00 2C 00 47 00 75 00 61 00 6E 00 67
00 64 00 6F 00 6E 00 67 00 2C 00 35 00 31 00 36 00 30 00 30 00 33 00 28 00 4E 00 32 00
33 00 2E 00 31 00 31 00 31 00 37 00 37 00 2C 00 45 00 31 00 31 00 34 00 2E 00 34 00 30
00 39 00 32 00 32 00 29 26 26 36 36 33 36 36 00 03 00 04 00 00 00 00 00 00 00 00 00 00 00
00 23 23 00 01 AF 4D 0D 0A

server send out contents: Precisely Locating: Yunshan West


Rd,Huicheng,Huizhou,Guangdong,516003(N23.11177,E114.40922)
Mobile phone is: 66366

5. Attach C message packet complete format


Aterminal send data packet to server

Login message packet18 Byte


Packet
length
1

Start bit
2

Protocol
No.
1

Terminal
ID
8

Check
bit
2

Message serials No.


2

Stop bit
2

GPS message packet26+N Byte

Start
bit

Packet
length

Protocol
No.

Date
time

message contents
Reserved
GPS
extend
bit

GPS
message
length
located
satellite
qty

Lat

Long

speed

heading
status

Message
serial
No.

Check
bit

LBS message packet23+N Byte


message contents
Message
serial
No.

LBS
Start
bit

Packet
length

Protocol
No.

Date
time

MCC

MNC

LAC

Cell
ID

Reserved
extend
bit

Stop
bit
Check
bit

Star
t bit

Pack
et
lengt
h

Protoc
ol No.

D
at
e
ti
m
e

LBS complete message packet42+N


Byte
Message contents
LBS message
M
C
C

M
N
C

L
A
C

M
M
CI
C
S
I
S

N
CI
1

N
CI
S
S
1

N
CI
2

N
CI
S
S
22

N
C
I
3

N
C
I
S
S
3

N
C
I
4

N
C
I
S
S
4

N
C
I
5

N
C N
I C
S I
S 6
5

N
C Ext
I end
S bit
S
6

N
o.

Check
bit

Stop
bit

2 1 2 1 2 1 2 1 N

GPSLBS message packet34+M+N Byte


message contents
LBS message

Sta
rt
bit

Pack
et
lengt
h

Prot
ocol
No.

Date
time

GPS
lengt
h
satelli
te qty

Lat

Lon
g

Spe
ed

Hea
ding
stat
us

Exten
d bit

Status packet13+N Byte


Message contents
GSM
Terminal
signal
Voltag
Exten
Messag
Strengt
e
d
e
h
Grade
Bit
Content
grade

Satellite SNR message11+M+N Byte


message contents
SNR
re
se
messa
rv
protoc
ge
Located
ed
ol No.
serials

satellites
1 2 3
n ex
No.
..
te
nd
bit
1
1
M
N
2

check
bit

stop
bit

Ext
end
bit

Protoco
l
No.

Cel
l ID

Chec
k
Bit

Lengt
h

packet
length

LA
C

Seria
l
No.

Star
t bit

Start
bit

MCC

MN
C

Sto
p
bit

Ser
ials
No.

C
h
e
c
k
bi
t

Sto
p bit

Sta
rt
bit
2

Terminal response commands sent by server15+M+N Byte


Character string contents
pack
messa
reserved
Serv
et
protoc Comma
ge
Comma
extend bit
er
lengt ol No.
serials
nd
nd
Languag
Zone
h
No.
Length
contents
bit
e
1
1
1
4
M
2
2

GPSLBSstatus message packet40+M+N+L Byte


S p
pr message contents
t
ac ot D
a ke oc a G
L L S He res L M M
rt t
ol
t
PS a o p
adi erv B C N
b le No e m
t n e
ng ed S C C
it n
.
ti es
g e
sta ext le
gt
m ag
d
tus en n
h
e e
d
gt
len
bit h
gt
h

sat
elli
te
qty
2 1
1
6 1
4 4 1
2
M
1 2 1

L
A
C

C
e
ll
I
D

res
erv
ed
ext
en
d
bit

de
vic
e
me
ss
ag
e
co
nte
nts

vo
lta
ge

G
S
M
si
g
n
al

Chec
k bit

sto
p
bit

res
erv
ed
ext
en
d
bit

me
ss
ag
e
ser
ial
s
No
.

c
h
e
c
k
bi
t

s
t
o
p
b
it

Bserver send data packet to terminal


Response after server get the status packet from terminal10 Byte

Start bit
2

packet
length
1

protocol No.
1

message
serials No.
2

check bit

stop bit

Server send command packet to terminal15+M+N Byte


message contents
Star
t bit

packe
t
length

protoc
ol No.

Comman
d length

Zon
e bit

Comman
d
contents

reserve
d
extend
bit
N

messag
e serials
No.

chec
k bit

sto
p
bit