SP12-18-48 Standard Protocol V3.2
SP12-18-48 Standard Protocol V3.2
Change fatigue drive alarm mode, add clear value for illegal ignition 2009-3-16By George
V1.20
alarm , add penetrate transmit data for serial 2-7
V2.00 Format change and add protocol for new functions in 108 2012.5-15By liven
Add command 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, update Appendix 3 2015.06-10 By Lisa
V2.1
peripheral data.
Update Appendix 3, add sub-command 0x0B used for bar code; add 2015.09-15 By Lisa
V2.2
sub-command 0x10 used for main voltage.
2
I Command Format
Commands format of GPRS Packets are defined as following:
Note:
1. Do not input ‘<’ and ‘>’ in the command content.
2. All Muti-byte data complies with the following sequence: High byte prior to the
low byte (Big Endian).
3. The size of one location data packet is about 50 bytes.
Item Specification
)) 2bytes. It is header for all correct packets. ‘))’ is ASCII code, in
hex code it is 0x29 0x29.
Command 1 byte. It is in hex code, every packet have one and only
command word. For detail, please refer to Part II Command
List
L 2 bytes. It means the length from Length byte (not include
length byte) to packet end, include the end byte. It is in hex
code.
ID 4bytes. It is in hex code. Every device has one and only ID, It is
calculate from the device SN.
For example: Suppose the device SN is: 29800298
Divide into 4 parts: 29 80 02 98
Convert to hex: 1D 50 02 62
Add 0x80 to 2nd,3rd part: 1D D0 82 62
Then you get the device ID: 1DD08262
Parameter/data Minimum 0 byte, maximum 200byte, see appendix 1 for data
description.
Checksum 1 bytes, it is xor checksum, for example:
if the packet is: 29 29 B1 00 07 0A 9F 95 38 0C 82 0D
0x82= 29 xor 29 xor B1 xor 00 xor 07 xor 0A xor 9F xor 95 xor
38 xor 0C
\r 1 bytes, it is end byte of package, in hex it is 0D
3
III Command Details
1. Login – 0xB1
Command: ))<0xB1><L><ID><reserved><Checksum><\r>
After your device installed properly, device will send this packet
to server for login. It will send every 30s, like heart beat.It must
be reply, If server does not give reply (see
Description:
Loginconfirmation), device will keep send this packet
without any other packet; after get reply, other commands start
work.
Example: 29 29 B100 07 0A 9F 95 38 0C 82 0D
In example, the ID is 0A9F9538, change to device SN, it is
Note: 10312156. In <content> part 0x0C, we keep it as future use;
do not have certain meaning now.
4
4. Server Confirmation date and time– 0x23
Command: ))<0x23><L><date and time><Checksum><\r>
This command is send from server to device, to confirm the
Description:
date and time.
Example: 29 29 2300 0817 07 08 13 25 30 35 0D
Date range:Year,2000-2099; Month 1-12; Day, 1-31;
Time range: Hour, 00-23; Min, 00-59; Second, 00-59.
Note:
Hour/min/second use compressed BCD code
For example: 17 07 08 13 25 30 means 2017-07-08 13:25:30
5
8. Blind Area Data re-Upload – 0x8E
Command: ))<0x8E><L><ID><data><Checksum><\r>
This packet is for blind area data resend to server, both works
for 0x80 and 0xA3 packages,About the <data> description,
Description:
please see Appendix 1 Positon data and Appendix 3
peripheral data.
Blind data for 0x80:
29 29 8E00 280F 80 81 5A 12 12 18 20 31 16 02 23 18 46 11
40 22 70 00 72 02 62 FB 00 07 7C 7F BF 56 00 00 1E 3C 32 00
00 00 00 85 0D
Example:
Blind data for 0xA3:
29298E002D1580831F1802280722230223557611352270000
00072FB0000007FFF590000000000000000000005200164FA0
D
Note: The data between <ID> and <Checksum> is Position data.
6
35 31 26 03 80 00 00 00 00 00 00 00 02 23 52 56 11 35
32 10 02 23 54 24 11 35 34 80 04 80 00 00 00 00 00 00
00 02 23 52 28 11 35 28 18 02 23 53 34 11 35 30 18 05
80 00 00 00 00 00 00 00 79 0d
In example, it have set 5 Geo-fences, the meaning of the
parameters shows below:
05 //Geo-fences quantities, in this example have 5 Areas.
02 23 55 50//1st Geo-Fence. Latitude for upper left corner
It is 22°33.995′
11 35 28 92//1st Geo-Fence. Longitude for upper left corner
It is 113°58.869′
02 23 56 05//1st Geo-Fence. Latitude for lower right corner
It is 22°32.123′
11 35 30 86//1st Geo-Fence. Longitude for lower right corner
It is 114°1.584′
01//Geo-Fence number, 1st one start with 01
80 //Alarm type, byte 0-1:
0x00 means in region alarm
0x01 means out region alarm
0x02 means alarm when both in/out alarm
0x03 means forbidden alarm
Byte 7:
0x80 means in region alarm, and use extend alarm
0x81 means out region alarm, and use extend alarm
0x82 means in/out region alarm, and use extend alarm
Note: 00 00 00 00//extend alarm byte, reserved.
00 00 00 //extend alarm byte, reserved.
8
About the instruction for the <data> the parse shows below:
14 10 24 15 10 58 02 23 57 72 11 35 28 35 00 00 00 00
FB 00 00this 21 byte data check in section Appendix 1 Position
Dataplease;
00 01 00this part is alarm status data, please check the
Note:
instruction in section Appendix 2 Alarm Data; for this example,
it is SOS alarm happen.
00 00 00 00 00 this part is alarm parameters data, please
check the instruction in section Appendix 2 Alarm Data.
Note:
1. Each alarm after first time trigger, will only send 0x82 alarm once, if still under trigger state, will save
the alarm status in 0x80 position package;
2. Need server to give 0x21 confirmation for each alarm.
For example(SOS alarm):
29 29 82 00 23 0C 80 80 32 14 10 24 15 10 58 02 23 57 72 11 35 28 35 00 00 00 00 FB 00 00 00 01 00 00
00 00 00 00 25 0D
The reply should be:
29 29 21 00 05 258214 97 0D.
9
Example: 29 29 3700 060A 9F 95 3809 0D
This command only clear the alarm status happens before, if
the alarm status is continuously, like overspeed alarm, if you
Note:
speed not low down, and you send cancel command, it will
keep sending this overspeed alarm.
Note:
This command can only send by manual, please do not send 0x37 command once received 0x82 alarm,
in case the alarm is continuous.
11
22. Add RFID card No. To device– 0xDF(T20)
Command: ))<0xDE><L><ID><Parameter><Checksum><\r>
This command is used to set the device odometer value.
Description:
14
11:mileage unit Km
In the example FB =1111 1011, means located/gps normal/power
normal/mileage is Km.
15
D6 1 DEF(1) alarm 1 over speed 1 need reply 0x21 1 OUT2 enabled;
0 normal 0 normal 0 do not need reply 0 OUT2 disable
V5 1 v5
V6 1 v6
V7 1 v7
V8 1 v8
00
16
GPS status 1 80 D7 0 Not located 1 Located
D6
D5
D4
D3 Reserved
D2
D1
D0
In the example 80 =10000000, means located.
AT10 battery 1 45 Hex data;
percent Battery power percent, range: 0% - 100%
For example:
0x45=69%
AT10D unlock 1 1
medium D7 Reserved
D6
D5
D4
D3 Unlock by auto unlock
D2 Unlock by SMS
D1 Unlock by GPRS
D0 Unlock by RFID
About the 8 bytes of data, first 3 bytes for alarm status and 5 bytes for alarm
parameters.
17
D3 DEF(5) alarm Power cut alarm Harsh turning
D2 DEF(2) alarm Stop over time alarm Temperature abnormal
D1 DEF(1) alarm Over speed alarm GSM Jamming alarm
Sign up status 1 sign Use compress BCD code, 1=sign in; 0=sign
out
All KLV data length 2 The data length of all KLV list, including length byte.
KLV data list N KLV list, see Peripheral data KLV list as follow.
18
Peripheral data KLV list:
K(key) L(length) V(value)
0x01 N Reserve.
0x02 N Reserve.
RFID action info:
0x03 11 Byte1(0:sign off, 1:sign on) + Byte2~Byte11(ascii string, filling 0x00 to the
remaining bytes when less than 10 bytes).
0x04 N Reserve.
0x05 N Reserve.
0x06 N Reserve.
0x07 N Reserve.
0x08 N Reserve.
0x09 3
0x0A N Reserve.
Bar code value(T20 device)
Example:
0x0B N
0B0C323031353034313031303133
The bar code ID is:201504101013
0x0C N Reserve.
Temperature value. Bit15: signed mark; Bit0-14:temperature value. The unit
0x0D 2 is 0.1℃.
For example: 0x000A = 1℃, 0x800A=-1℃.
0x0E 1 Fuel level percent: 0-100%.
0x0F N Reserve.
Main power voltage value, HEX data.
0x10 2 For example: 10 02 00 EF
voltage value=(0xEF)/10=239/10=23.9
0x11 N Reserve.
RFID/MIFARE Card:
Format:
Sign status(1BYTE)+CARD NO.(n BYTE,ASCII)
Explain:
0x16 N+1
0x00 sign in start+CARD NO.(n BYTE,ASCII)
0x01 sign in status+CARD NO.(n BYTE,ASCII)
0X02 sign out+CARD NO.(n BYTE,ASCII)
0x03 unauthorized RFID+CARD NO.(n BYTE,ASCII)
Fuel level percent(2 byte, accuracy is 0.01%)(Customized for JT fuel
sensor)
0x17 2 percent(2 byte)
For example: 170219DD
0x19DD means 66.21%
ACC ON time counting, unit: minute
0x18 4 For example:
00 00 FF FF= 65535min
19
Fuel value: upload unit 0.1%(0.0% - 99.9%)
2/4 For example:
0x03E7=(999/10)*100%=99.9%
0x19
Duel fuel sensor:
19 04 03 A9 0219
No.1 fuel value=0x(03 A9)=93.7%
No.1 fuel value=0x(02 19)=53.7%
1+6 Ibutton(HEX):
Format:
Sign status(1BYTE)+CARD NO.(6 BYTE,hex)
0x1A Explain:
0x00 sign in start+CARD NO.(6 BYTE,hex)
0x01 sign in status+CARD NO.(6 BYTE,hex)
0X02 sign out+CARD NO.(6 BYTE,hex)
Battery power percent, range: 0% - 100%
0X20 1 For example:
0x45=69%
TPMS data:
Tyre ID(1byte)+Pressure value(1byte)+Temp(1byte)+status(1byte)
1+4*n
0x21
Data sample:
2929A300441580831F0000000004390000000000000000000000D73B000000
FFFF15000000000000000000001C211801124B0002124C0003124D80
04114C0005000000060000008D0D
3*N Multiple temp data:
0x22 Temp ID(1byte)+temp value(2byte)
20
4 One Ultrasonic fuel sensor, unit is 0.1mm
For example: 25 04 01 25 01 26
Smooth Height=0x(0125)=29.3mm
Real time height=0x(0126)=29.4mm
0x26
Note:
We just transmit the fatigue sensor data, but not handle the content.
2 Battery voltage
unit: 0.01V
2 Engine Speed, Unit: RPM
21
2 Trip time, unit: s
9 LBS data
0x2B
22
0x31
31 Group number & G-Sensor x-y-z value
Group number,X1,y1,z1,x2,y2,z2,.......
For example:
0x3F
29 29 A3 00 54 16 B4 87 59 19 04 13 14 20 16 02 24 24 56 11 41 58 81 00
00 00 00 7F 00 00 00 7F FF 16 00 00 00 00 00 00 07 00 00 00 2C 3F 1F 01
0D B4 C0 00 B4 C6 10 B6 C2 00 B5 B6 08 B1 C9 01 B2 C2 02 B9 DC 02 B4 BC
07 AF BE 00 B6 C6 FF 0D
2 Fuel temp for DUT-E fuel sensor(customized)
Temperature value. Bit15: signed mark; Bit0-14:temperature value. The unit
0x40
is 0.1℃.
For example: 0x000A = 1℃, 0x800A=-1℃.
10 SIM ICCID:
For example:
0x41
29 29 A3 00 3A 2A AA DC 26 19 12 12 13 26 57 02 24 24 28 11 41 58 91 00
00 01 78 7B 00 00 00 FF FF 18 00 00 00 00 00 00 02 00 00 00 12 2F 02 00
03 41 0A 89 86 04 07 11 19 80 36 41 71 C6 0D
1+N
Salve amount 1byte max 10 salve
Salve ID1 4bytes 16000001, no convert
Lock status+lock rope 1byte D0=1 unlock,D0=0 locked on;
status D1=1 rope in,D1=0 rope not in
Battery voltage 2bytes Unit: 0.01V
battery percent 1byte
Temp 2bytes 0.1degree
Unlock by RFID or 1byte D0=1 RFID authorized;
GPRS+RFID D0=0 RFID unauthorized;
authorized or not D1=1 unlock by GPRS
RFID card No. 10bytes
Salve ID2
0x42 ...
Example:
42160116000001010FB85F00CE0130303133353233383537
42 ->salve lock data sub-command
22 ->11 bytes, salve lock data length
01 ->salve lock amount, 1 salve
16000001 ->salve lock ID,no convert
02 ->salve Lock on | lock rope In
0FB8 ->salve lock battery voltage, 4.024V
5F ->salve lock battery percent, 95%
00CE ->salve lock temp, 20.6 degree
01 ->salve unlock by authorized RFID
30303133353233383537 ->RFID number:0013523857
23
BT Temp& Connected BT sensor total amount(1byte) + (BT ID(3 byte) + temp(2
humidity byte)+humidity (2 byte)+ battery percent(1 byte) )*N
sensor
1+8*N ID/MAC Temp value Humidity Battery
address value percent
3 byte 2 byte 2 byte 1 byte
0x43
Humidity value:
hex format, 2 bytes, unit: 0.01%
SEN003 PP(1byte)+Group1(24bytes)+Group2(14bytes)+Group3(24bytes)+Grou
sensor p4(8bytes)
Group1(24bytes):
24
Liters >RTT,19,000007D0,00000FA0,0006D600,00002EE0,000001F4,000032C8<
Shipping Totalizers Protocol: 19
Total Fuel Idle: 1000 Liters
Total Hours Idle: 200 Hours
Total Distance: 56000 Km
Total Hours: 600 Hours
Total Hours PTO: 25 Hours
Total Consumption: 6500
Group2(14bytes):
25
Example:
>RTE,19,007D,0069,0C51,0AD1,006C,005F,0BB1<
Temperature Shipping Protocol: 19
Temp. Refrigerant: 85 °C
Temp. Fuel: 65 °C
Temp. Motor Oil: 90 °C
Temp. Turbo Oil: 78 °C
Temp. Intercooler Motor: 68 °C
Tmep. PTO Oil: 55 °C
Temp. Transmission Oil: 85 °C
Group3(24bytes):
26
27
Example;
>RTI,19,0032,00BC,0000,00A2,044C,2800,4600,00F0,00F0,00AC,0000,00EE<
Sending Information Protocol: 19
Porc. Engine load: 50%
Engine Oil Level: 75%
Engine Oil Pressure: 2 KPa
Coolant Level: 65%
Fuel Rate: 55ltsh
Fuel Economy: 20 kmlt
Avg. Fuel Economy: 35 kmlt
Alternator Volts: 12 volt
Battery Volts: 12 volt
Transmission Oil Level: 69%
Transmission Oil Pressure: 4 KPa
Combustible Level: 95%
Group4(8bytes):
28
Unlock by SMS Phone No.(AT10D)(without country code 13bit, if number not have
phone No. 13 bit fill 0 at the head)
Example:
1+13 45 0d 31 32 33 34 35 36 37 38 39 31 32 33 34
0x45 The phone No. is:1234567891234
45 0d 30 30 33 34 35 36 37 38 39 31 32 33 34
The phone No. is:34567891234
29
About the instruction for the <data> the parse shows below:
14 10 24 15 10 58 02 23 57 72 11 35 28 35 00 00 00 00
FB 00 00 this 21 byte data, PLS check in section Appendix 1
Note: Position Data;
00 01 00 00 this part is Bluetooth ID which triggered alarm;
00 00 00 00 this part is alarm parameters data, please check
the instruction in section Appendix 4 Alarm Data.
30
1=BT low battery alarm Reserved Reserved Reserved
D6 0=BT low battery normal
D5 Reserved Reserved Reserved Reserved
D4 Reserved Reserved Reserved Reserved
D3 Reserved Reserved Reserved Reserved
D2 Reserved Reserved Reserved Reserved
31