0% found this document useful (0 votes)
223 views16 pages

GPRS Communication Protocol - V1.11

The document describes the GPRS communication protocol between GPS trackers and servers. It includes the command formats, common data fields, checksum validation, and a list of supported commands. Some key commands are for login, setting tracking intervals, authorizing phone numbers, setting speed/movement alarms, and configuring geo-fence boundaries for in/out alerts. The protocol aims to securely transmit tracker locations, statuses, and alarms using GPRS packets up to 100 bytes in length.

Uploaded by

cjgr1990
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
223 views16 pages

GPRS Communication Protocol - V1.11

The document describes the GPRS communication protocol between GPS trackers and servers. It includes the command formats, common data fields, checksum validation, and a list of supported commands. Some key commands are for login, setting tracking intervals, authorizing phone numbers, setting speed/movement alarms, and configuring geo-fence boundaries for in/out alerts. The protocol aims to securely transmit tracker locations, statuses, and alarms using GPRS packets up to 100 bytes in length.

Uploaded by

cjgr1990
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 16

GPRS Communication Protocol Between GPS Tracker and Server

Version 1.11

TK300 TK310

Change Version V1.00 V1.01 V1.02 V1.03

Reason of Change Initial Document Addition of Alarms Addition of Output Control Addition of Stats in GPRS String Add command 4107/4207/4126/4130/4131/4132/9016 TK310 integrated Change 4116 Delete 9014

Date 2005-6-25 2006-10-8 2007-1-26 2008-7-10

V1.04 V1.05 V1.06 V1.07 V1.10 V1.11

Add 5114 Add AD of TK310 Add Power-cut Alarm Add 9001 to get SN and IMEI Add 5101/5115/5199 Add 4136 Change 4136 Add 4902/5503 Fixed some small bugs

2008-12-2 2009-02-04 2009-3-18 2009-08-03 2009-12-15 2010-04-18

I Command Format
Command format of GPRS packets are as follows: From server to tracker: @@<L (2 bytes)><ID (7 bytes)><command (2 bytes)><data><checksum (2 bytes)>\r\n From tracker to server:

$$<L (2 bytes)><ID (7 bytes)><command (2 bytes)><data><checksum (2 bytes)>\r\n Note: Do NOT input < and > when writing a command. All multi-byte data complies with the following sequence: High byte prior to low byte. The size of a GPRS packet (including data) is about 100 bytes Item
@@ $$ L ID

Specification
2 bytes. It means the header of packet from server to tracker. It is in ASCII code (Hex code: 0x40) 2 bytes. It is the header of packet from tracker to server, It is in ASCII code (Hex code: 0x24) 2 bytes. It means the length of the whole packet including the header and ending character and it is in hex code 7 bytes, ID must be digit and not over 14 digits, the unused byte will be stuffed by f or 0xff. It is in the format of hex code. For example, if ID is 13612345678, then it will be shown as follows: 0x13, 0x61, 0x23, 0x45, 0x67, 0x8f, 0xff. If all 7 bytes are 0xff, it is a broadcasting command. ID is in hex code 2 bytes. The command code is in hex code. Please refer to the command list below. Min 0 byte and max 100 bytes. See Annex 1 for description of data. 2 bytes. It indicates CRC-CCITT (default is 0xffff) checksum of all data (not including CRC itself and the ending character). It is in hex code. For example: 24 24 00 11 13 61 23 45 67 8f ff 50 00 05 d8 0d 0a 0x05d8 = CRC-CCITT (24 24 00 11 13 61 23 45 67 8f ff 50 00) 2 bytes. It is the ending character and in hex code (0x0d,0x0a in hex code)

command data checksum

\r\n

II Command List
Command 0x4000 0x5000 0x4101 0x4102 0x4103 0x4104 0x4105 0x4106 Definition Login Confirmation Login Track on Demand Track by Interval Authorization Reserved Overspeed Movement Alarm

0x4107 0x4207 0x4108 0x4109 0x4110 0x4111 0x4112 0x4113 0x4114 0x5114 0x4115 0x4116 0x4126 0x4130 0x4131 0x4132 0X4136 0x4902 0x5199 0x5503 0x9000 0x9001 0x9002 0x9003 0x9016 0x9955 0x9999

Geo-fence (Out) Geo-fence (In) Extended Settings Reserved Initialization Reserved Reserved Sleep Mode Output Control (limited to 10km/h) Output Control (limited to 20km/h) Output Control (General) Triggered Alarms Power Down Listen (Wiretapping) Log by Interval Time Zone Veer Report Reboot GPS Heartbeat Format Reserved Get SN & IMEI Read Interval Read Authorization Read Logged Data Position Report Alarms

III Command Details


1. Login 0x5000 Command: Description: Example: Note: $$<L><ID><0x5000><checksum><\r\n> After tracker is properly setup, it will apply for a GPRS connection by sending this login command every 30 seconds to the server until the server confirms its login. 24 24 00 11 12 34 56 FF FF FF FF 50 00 8B 9B 0D 0A Tracker ID here is 123456 and same for the following examples.

2. Login Confirmation 0x4000 Command: Description: Note: @@<L><ID><0x4000><Flag><checksum>\r\n Server sends this command back to the tracker to confirm trackers login. Flag (1 byte) = 0x00, login fails and will try again. Example: = 0x01, login succeeded. 40 40 00 11 12 34 56 FF FF FF FF 40 00 44 C9 0D 0A

3. Track on Demand 0x4101 Command: Description: Example: @@<L><ID><0x4101><checksum>\r\n Get the current location of the tracker 40 40 00 11 12 34 56 FF FF FF FF 41 01 67 D9 0D 0A

Response: Example:

Note:

$$<L><ID><0x9955><data><checksum>\r\n 24 24 00 60 12 34 56 FF FF FF FF 99 55 30 33 35 36 34 34 2E 30 30 30 2C 41 2C 32 32 33 32 2E 36 30 38 33 2C 4E 2C 31 31 34 30 34 2E 38 31 33 37 2C 45 2C 30 2E 30 30 2C 2C 30 31 30 38 30 39 2C 2C 2A 31 43 7C 31 31 2E 35 7C 31 39 34 7C 30 30 30 30 7C 30 30 30 30 2C 30 30 30 30 69 62 0D 0A See Annex 1 for description of data.

4. Track by Interval 0x4102 Command: Description: Note: @@<L><ID><0x4102><Interval(2 bytes in hex code)><checksum>\r\n Set time interval for automatic timed report (GPRS tracking). Interval is in unit of 10 seconds. =0x00 0x00, stop tracking by interval. Max time interval = 65535*10 seconds. Example: 40 40 00 13 12 34 56 FF FF FF FF 41 02 00 0A 36 19 0D 0A Above command will set 10 (0x00 0x0A)*10=100s as tracking interval. $$<L><ID><0x5100><Flag (1byte)> <Interval (2 bytes)><checksum>\r\n Flag =0x00, failure response. =0x01, success response. Once the interval successfully set, the tracker will send the following position report to the server at the interval specified: $$<L><ID><0x9955><data><checksum>\r\n 5. Authorization 0x4103 Command: Description: Note: @@<L><ID><0x4103><button no (1 byte)><phone no for SMS><phone no for call><checksum>\r\n Set authorized phone number for buttons (inputs) button no is in hex code. It supports up to 3 buttons. If button no = 0x01, set authorized phone number for SOS button (input1); = 0x02, set authorized phone number for Button B (input2); = 0x03, set authorized phone number for Button C (input3). phone no for SMS: Authorized phone number for receiving SMS. phone no for call: Authorized phone number for receiving phone call. phone no is 16 bytes in ASCII. If the phone number is less than 16 bytes, the blank byte(s) should be stuffed by 0x00. For example: If the authorized number is 1234567890, then it should be written as follows: 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x30 0x00 0x00 0x00 0x00 0x00 0x00 If all 16 bytes data are 0x00, the authorized number is invalid. Example: 40 40 00 32 12 34 56 FF FF FF FF 41 03 01 38 38 38 38 38 38 38 38 38 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 99 68 0D 0A Above command will set 8888888888 as authorized phone number for SOS button. $$<L><ID><0x4103><Flag><checksum>\r\n Flag =0x00, failure response. =0x01, success response.

Response: Note:

Response: Note:

6. Overspeed 0x4105 Command: Description: @@<L><ID><0x4105><speed (1 byte in hex code)><checksum>\r\n Set overspeed alarm for the tracker. When the tracker is over this preset speed limit, SMS alarms will be sent to the authorized phone number for SOS button and GPRS alarms will be sent to the server every 30 seconds until the tracker speed is lower than this speed limit. speed =0x00, cancel overspeed alarm; =0x01, speed limit is set to 10km/h; =0x02, speed limit is set to 20km/h; . =0x0A, speed limit is set to 100km/h; . =0x14, speed limit is set to 200km/h; Max speed limit is 200km/h. Example: 40 40 00 12 12 34 56 FF FF FF FF 41 05 0B C0 14 0D 0A Above command will set speed limit: 110km/h. $$<L><ID><0x4105><Flag><checksum>\r\n If Flag =0x00, failure response. =0x01, success response. 7. Movement Alarm 0x4106 Command: Description: Note: @@<L><ID><0x4106><area (1byte in hex code)><checksum>\r\n When the tracker moves out of a preset square scope, three SMS alarms and three GPRS alarms will be sent to the authorized phone number for SOS button and the server every 30 seconds. area =0x00, cancel movement alarm function =0x01, it is set in a square with current location as center and with side length=2x30m; =0x02, it is set in a square with current location as center and with side length=2x50m; =0x03, it is set in a square with current location as center and with side length=2x100m; =0x04, it is set in a square with current location as center and with side length=2x200m; =0x05, it is set in a square with current location as center and with side length=2x300m; =0x06, it is set in a square with current location as center and with side length=2x500m; =0x07, it is set in a square with current location as center and with side length=2x1000m; =0x08, it is set in a square with current location as center and with side length=2x2000m. Example: 40 40 00 12 12 34 56 FF FF FF FF 41 06 04 64 A8 0D 0A Above command will set a square with current location as center and with side length=2x200m. Response: Note: $$<L><ID><0x4106><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response.

Note:

Response: Note:

8. Geo-fence Alarm - 0x4107, 0x4207 Command: Description: Note: @@<L><ID><0x4107 or 0x4207><coordinates><checksum>\r\n Sets geo-fence alarm. When the tracker moves out of (in) a preset scope, three SMS alarms and three GPRS alarms will be sent to the authorized phone number for SOS button and the server every 30 seconds. 0x4107 is the command for exiting the geo-fencing area (Out). 0x4207 is the command for entering the geo-fencing area (In). Coordinates includes: Lower-left X,Lower-left Y,Upper-right X,Upper-right Y Lower-left X should be less than Upper-right X; All longitudes and latitudes should be in ASCII format as follows:Longitude: DDDFF.FFFF,E/W. 4 places of decimal. 0 is needed to be stuffed if no value available. Latitude: DDFF.FFFF,N/S. 4 places of decimal. 0 is needed to be stuffed if no value available Only one alarm can be set in either In or Out. Only one alarm can be set in either Movement Alarm or Geo-fence Alarm. The latest setting will overwrite the previous one. Example 40 40 00 42 12 34 56 FF FF FF FF 41 07 31 31 34 30 34 2E 30 30 30 30 2C 45 2C 32 32 33 32 2E 30 30 31 30 2C 4E 2C 31 31 35 30 35 2E 31 32 33 34 2C 45 2C 32 33 33 33 2E 35 36 37 38 2C 4E E5 90 0D 0A Above command will set Geo-fence: 11404.0000,E,2232.0010,N,11505.1234,E,2333.5678,N Response: Note: $$<L><ID><0x4107 or 0x4207><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response. Cancel Geofence Example: @@<L><ID><0x4107 or 0x4207><checksum>\r\n 40 40 00 11 12 34 56 FF FF FF FF 41 07 07 1F 0D 0A

9. Extended Settings 0x4108 Command: Description: @@<L><ID><0x4108><ABCDEFGHIJ><checksum>\r\n Set extended functions with details as follows: ABCDEFGHIJ (defaulted as 0x01 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01): A=0x00, turn off the function of replying with an SMS position report after a call is made to the tracker. A=0x01, turn on the function of replying an SMS position report after a call is made to the tracker. B=0x00, location data of NMEA 0183 GPRMC will be interpreted into normal text for easy reading. B=0x01, location data complies with NMEA 0183 GPRMC protocol. C=0x00, turn off the function to automatically hang up an incoming call. C=0x01, turn on the function to automatically hang up an incoming call after 5 rings.

D=0x00, turn off the function of sending alarms when the tracker is turned on. D=0x01, turn on the function of sending an SMS alarm to the authorized phone number for SOS and a GPRS alarm to the server when the tracker is turned on. E: reserved and defaulted as 0x01. F=0x00, turn off the function of sending alarms when the tracker enters GPS blind area. F=0x01, turn on the function of sending an SMS alarm to the authorized phone number for SOS and a GPRS alarm to the server when the tracker enters GPS blind area. G=0x00, all LED lights work normally. G=0x01, all LED lights stop flashing when the tracker is working. H: reserved and defaulted as 0x00. I=0x00, turn off the function of sending an SMS alarm when the extra power of the vehicle tracker is cut. I=0x01, turn on the function of sending an SMS alarm to the authorized phone number for SOS when the extra power of the vehicle tracker is cut. J=0x00, turn off the buzzer for the incoming call. J=0x01, turn on the buzzer for the incoming call. Example: Response: Note: 40 40 00 1B 12 34 56 FF FF FF FF 41 08 01 00 00 00 01 00 00 00 00 01 B0 78 0D 0A $$<L><ID><0x4108><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response. 10. Initialization 0x4110 Command: Description: Example: Response: Note: @@<L><ID><0x4110><checksum>\r\n Make all settings (except for the password, IP, Port, APN, ID and GPRS interval) back to factory default. 40 40 00 11 12 34 56 FF FF FF FF 41 10 65 C9 0D 0A $$<L><ID><0x4110><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response. 11. Sleep Mode 0x4113 Command: Description: Note: @@<L><ID><0x4113><power-saving level (1 byte in hex code)><checksum>\r\n Set sleep mode for power saving. If power-saving level =0x00, to close sleep function; =0x01, level 1; =0x02, level 2. Description of power-saving level: Assume that the GPS acquisition time is ONE minute. In level 1, the GPS module will be working for the first three minutes and then shut down for ONE minute, and then work again for another three minutes In level 2, the GPS module will be working for the first two minutes and then shut down for ONE minute, and then work again for another two minutes

Example:

40 40 00 12 12 34 56 FF FF FF FF 41 13 01 C8 8B 0D 0A Above command will set sleep mode to level 1. $$<L><ID><0x4113><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response.

Response: Note:

12. Output Control (limited) 0x4114 or 0x5114 Description: Note: This command is to control the outputs of the trackers with a speed limit and used for vehicle trackers (TK300 and TK310) only. Advised Caution in Using this Function This function is only achievable when the speed is below 10km/h (0x4114) or 20km/h (0x5114) and meantime GPS is available.

For TK300 Command: Note: Example: For TK310 Command: Note:

@@<L><ID><0x4114 or 0x5114><A><checksum>\r\n A=0x00, close output (OUT1) - open drain A=0x01, open output (OUT1) - connect to GND 40 40 00 12 12 34 56 FF FF FF FF 41 14 01 51 1C 0D 0A Above command will open output1. @@<L><ID><0x4114 or 0x5114><ABCDE><checksum>\r\n A=0x00, close output (OUT1) -open drain A=0x01, open output (OUT1) -connect to GND A=0x02, remain previous status. B=0x00, close output (OUT2) -open drain B=0x01, open output (OUT2) -connect to GND B=0x02, remain previous status. C=0x00, close output (OUT3) -open drain C=0x01, open output (OUT3) -connect to GND C=0x02, remain previous status. D=0x00, close output (OUT4) -open drain D=0x01, open output (OUT4) -connect to GND D=0x02, remain previous status. E=0x00, close output (OUT5) -open drain E=0x01, open output (OUT5) -connect to GND E=0x02, remain previous status.

Example:

40 40 00 16 12 34 56 FF FF FF FF 41 14 01 00 01 00 01 89 2E 0D 0A Above command will open output1, output3 and output5 and close output2 and output4. $$<L><ID><0x4114 or 0x5114><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response.

Response: Note:

13. Output Control (unlimited) 0x4115 Description: This command is to control the outputs of the trackers and used for vehicle trackers (TK300 and TK310) only. Advised Caution in Using this Function

For TK300

Command: Note: Example: For TK310 Command: Note:

@@<L><ID><0x4115><A><checksum>\r\n A=0x00, close output (OUT1) - open drain A=0x01, open output (OUT1) - connect to GND 40 40 00 12 12 34 56 FF FF FF FF 41 15 01 62 2D 0D 0A @@<L><ID><0x4115><ABCDE><checksum>\r\n A=0x00, close output (OUT1) -open drain A=0x01, open output (OUT1) -connect to GND A=0x02, remain previous status. B=0x00, close output (OUT2) -open drain B=0x01, open output (OUT2) -connect to GND B=0x02, remain previous status. C=0x00, close output (OUT3) -open drain C=0x01, open output (OUT3) -connect to GND C=0x02, remain previous status. D=0x00, close output (OUT4) -open drain D=0x01, open output (OUT4) -connect to GND D=0x02, remain previous status. E=0x00, close output (OUT5) -open drain E=0x01, open output (OUT5) -connect to GND E=0x02, remain previous status.

Example: Response: Note:

40 40 00 16 12 34 56 FF FF FF FF 41 15 01 00 01 00 01 CC 8E 0D 0A $$<L><ID><0x4115><Flag><checksum>\r\n Flag =0x00, failure response; =0x01, success response.

14. Triggered Alarms 0x4116 Description: For TK300 Command: Note: For TK310 Command: Note: This command is to get alarms when trackers button (or input) is triggered. @@<L><ID><0x4116><A><checksum>\r\n As the Input of TK300 is linked with SOS button, only active alarm (SOS button is pressed) is available. A=1 (0x31). @@<L><ID><0x4116><ABCDE><checksum>\r\n A=Input1 (SOS Button) B=Input2 C=Input3 D=Input4 E=Input5 When A or B or C or D or E (in ASCII) =1 (0x31), to enable alarm when input is active =2 (0x32), to enable alarm when input is inactive =3 (0x33), to enable alarm when input is either active or inactive SOS button only alarms when it is pressed (active alarm).

Input1, Input2 and Input3 are negative triggering; Input4 and Input5 are positive triggering. Example: 40 40 00 16 12 34 56 FF FF FF FF 41 16 31 32 33 31 32 54 50 0D 0A Above command will enable alarms when Input1 is active, Input2 is inactive, Input3 is either active or inactive, Input4 is active and Input5 is inactive. Response: Note: $$<L><ID><0x4116><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 15. Power Down 0x4126 Command: Description: @@<L><ID><0x4126><data><checksum>\r\n Makes the tracker into power down mode (for power-saving purpose) when it is inactive or stationary for a period of time. In Power Down states, GPS stops working and GSM enters sleep and stop sending out message until it is activated by message, incoming calls, movement or any input changes. data is in ASCII code and in unit of minute. = 00 (0x30 0x30), to turn off this function; = [01,99], to set Power Down mode. Example: 40 40 00 13 12 34 56 FF FF FF FF 41 26 31 35 9D 07 0D 0A Above command will set the tracker to enter Power Down mode after it is inactive for 15 (0x31 0x35) minutes. Response: Note: $$<L><ID><0x4126><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 16. Listen (Wiretapping) 0x4130 Command: Description: Note: Example: @@<L><ID><0x4130><data><checksum>\r\n Authorize a phone number to make a silence call to the tracker, the track answers the call automatically and allows the caller to listen to what happens around the tracker. There is no voice indication that the call is in progress. data is the telephone number for wiretapping and it should be numbers or numbers started with +. Max 16 digits. In ASCII code. 40 40 00 1B 12 34 56 FF FF FF FF 41 30 38 38 38 38 38 38 38 38 38 38 AD 3A 0D 0A Above command will authorize phone number 8888888888 for wiretapping. $$<L><ID><0x4130><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 17. Log by Interval 0x4131 Command: Description: Note: @@<L><ID><0x4131><data><checksum>\r\n Set time interval for logging GPS information. The information is stored within the device memory. When the memory gets full, the newest record will be overwritten on top of the oldest (FIFO - First In, First Out). In that case, only the newest information is stored. data is in ASCII code and in unit of second. If data

Note:

Response: Note:

10

= 0 (0x30), to close this function. = [1,65535], to set interval for logging. Example: 40 40 00 13 12 34 56 FF FF FF FF 41 31 31 35 5B F4 0D 0A Above command will make the tracker to log every 15 (0x31 0x35) seconds when it gets GPS fix. Response: Note: $$<L><ID><0x4131><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 18. Time Zone 0x4132 Command: Description: Note: @@<L><ID><0x4132><data><checksum>\r\n Corrects time into your local time Default GPS time is GMT. data is to set time difference in minutes to GMT data = [0,65535]/[-1,-65535]. In ASCII code and in unit of minute This correction is applied to location reports by SMS and SMS alarms, NOT GPRS. Example: 40 40 00 14 12 34 56 FF FF FF FF 41 32 34 38 30 E5 B5 0D 0A Above command will set 480 minutes as time difference; 40 40 00 15 12 34 56 FF FF FF FF 41 32 2D 34 38 30 41 A1 0D 0A Above command will set -480 minutes as time difference. Response: Note: $$<L><ID><0x4132><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 19. Veer Report 0x4136 Command: Description: Note: Example: @@<L><ID><0x4136><data><checksum>\r\n When the heading direction of the tracker changes over the preset degree, a message with location data will be sent back to the server by GPRS. This is to enhance the accuracy when the tracker makes a direction change. data=[0,359],in ASCII code; 40 40 00 13 12 34 56 FF FF FF FF 41 36 31 30 A4 BE 0D 0A Above data is 10 degree. When the tracker turns over 10 degree, a message will be sent back to the server. Response: Note: $$<L><ID><0x4136><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 20. Reboot GPS 0x4902 Command: Description: Example: Response: Note: @@<L><ID><0x4902> <checksum>\r\n Reboot the GPS module of the tracker. 40 40 00 11 12 34 56 FF FF FF FF 49 02 71 AC 0D 0A $$<L><ID><0x4902><Flag><checksum> \r\n Flag

11

=0x00, failure response; =0x01, success response. 21. Heartbeat 0x5119 Command: Description: Note: Example: @@<L><ID><0x5119><data><checksum> \r\n Set time interval for heartbeat data=[0,65535], in ASCII code and in unit of minute 40 40 00 13 12 34 56 FF FF FF FF 51 19 31 32 AC E0 0D 0A Above command will set interval as 12 minutes and the tracker will send heartbeat (0x00) data to the server at every 12 minutes. Response: Note: $$<L><ID><0x5119><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 22. Format 0x5503 Command: Description: Note: Example: Response: Note: @@<L><ID><0x5503><checksum> \r\n Clear all auto logged data in memory (temp buffer) . This command is to clear those data logged when no GPRS connection. 40 40 00 11 12 34 56 FF FF FF FF 55 03 AC E0 0D 0A $$<L><ID><0x5503><Flag><checksum> \r\n Flag =0x00, failure response; =0x01, success response. 23. Get SN & IMEI 0x9001 Command: Description: Example: Response @@<L><ID><0x9001><checksum> \r\n Get trackers Serial Number, IMEI and firmware version. 40 40 00 11 12 34 56 FF FF FF FF 90 01 41 CF 0D 0A 24 24 00 33 12 34 56 FF FF FF FF 90 01 33 30 33 37 38 31 35 30 35 39 2C 33 35 33 33 35 38 30 31 31 30 31 38 31 34 35 2C 56 31 2E 34 35 2D 4E FE D0 0D 0A Here we can see: SN=3037815059 IMEI=353358011018145 Firmware Version= V1.45-N 24. Read Interval 0x9002 Command: Description: Example Response: Example: @@<L><ID><0x9002><checksum>\r\n Read preset time interval of automatic timed report (GPRS tracking). 40 40 00 11 12 34 56 FF FF FF FF 90 02 71 AC 0D 0A $$<L><ID><0x9002><preset time interval (2 bytes in hex code)><checksum> \r\n 24 24 00 13 12 34 56 FF FF FF FF 90 02 00 0A 8F D4 0D 0A The preset time interval is 10 (0x00 0x0A)*10=100 seconds.

25. Read Authorization 0x9003 Command: Description: @@<L><ID><0x9003><button no (1 byte in hex code)><checksum>\r\n To get the authorized phone number.

12

Note: Example: Response: Example: Note:

button no should be 0x01, 0x02 or 0x03. If button no is 0xff, it is to read all authorized numbers. 40 40 00 12 12 34 56 FF FF FF FF 90 03 01 99 5C 0D 0A $$<L><ID><0x9003><phone no for SMS><phone no for call><checksum>\r\n 24 24 00 31 12 34 56 FF FF FF FF 90 03 38 38 38 38 38 38 38 38 38 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 8A 0D 0A phone no is 16 bytes in ASCII. If the phone no is less than 16 bytes, the blank byte(s) read as 0x00.

26. Read Logged Data 0x9016 Command: Description: Response: Note:


@@<L><ID><0x9016><device random(1B)><PC random(1B)><Flag(2B)><checksum>\r\n

To read logged data (logged by preset interval) in memory.


$$<L><ID><0x9016><device random(1B)><PC random(1B)><waypoints(4B)><data><checksum>\r\n

device random and PC random are random data, for example, 0x03, 0x2A, etc. waypoints is the total number of waypoints that have been saved in memory. High byte prior to low byte. data is the first record of the logged waypoints which is in GPRMC format. If Flag =0x00 0x00, read the first waypoint. =0x00 0x01, delete the received waypoint from memory on the condition that sent device random(1B)=latest received device random(1B) and read the next waypoint.

Example:

If you first send: 40 40 00 15 12 34 56 FF FF FF FF 90 16 03 15 00 01 AF AB 0D 0A Then device maybe return: 24 24 00 4B 12 34 56 FF FF FF FF 90 16 2B 15 00 00 00 59 30 33 34 34 33 33 2E 30 30 30 2C 41 2C 32 32 33 32 2E 35 32 30 39 2C 4E 2C 31 31 34 30 34 2E 36 36 35 39 2C 45 2C 30 2C 30 2C 30 31 30 38 30 39 2C 41 30 7C A0 18 0D 0A Next time you should send: 40 40 00 15 12 34 56 FF FF FF FF 90 16 2B 15 00 01 1D 26 0D 0A Where device random (0x2B) must equal to the latest received.

27. Alarms 0x9999 Command: Description: Alarms Alarm =0x01 =0x02 =0x03 =0x04 =0x05 =0x10 =0x11 =0x12 =0x13 =0x14 =0x15 =0x16 $$<L><ID><0x9999><Alarm><data><checksum>\r\n When there is an alarm detected described as below, this command will be sent from the tracker to the server 1 byte in Hex code and details as follows Definition SOS button is pressed / Input 1 active Call B button is pressed / Input 2 active Call C button is pressed / Input 3 active Input 4 active Input 5 active Low battery alarm Overspeed alarm Movement alarm Geo-fence alarm Alarm of tracker being turned on Alarm of tracker entering GPS blind area Alarm of tracker exiting GPS blind area

13

=0x31 =0x32 =0x33 =0x34 =0x35 =0x50 =0x52 Example:

SOS button is released/Input 1 inactive Call B button is released/Input 2 inactive Call C button is released/Input 3 inactive Input 4 inactive Input 5 inactive External power cut alarm Veer report 24 24 00 61 12 34 56 FF FF FF FF 99 99 03 30 33 35 39 30 31 2E 30 30 30 2C 41 2C 32 32 33 32 2E 36 30 38 33 2C 4E 2C 31 31 34 30 34 2E 38 31 33 37 2C 45 2C 30 2E 30 30 2C 2C 30 31 30 38 30 39 2C 2C 2A 31 32 7C 31 32 2E 32 7C 31 39 34 7C 30 34 30 30 7C 30 30 30 30 2C 30 30 30 30 83 4B 0D 0A It means button C is pressed / Input 3 is active. See Annex 1 for description of data.

Note:

Annex 1: Description of data


Data Format: GPRMC | HDOP | Altitude | State | AD1,AD2 Example: 094506.000,A,2232.5412,N,11404.6919,E,0.00,,290709,,*12|1.7|110|0000|00AA,0267 (1) GPRMC includes: hhmmss.dd,S,xxmm.dddd,<N|S>,yyymm.dddd,<E|W>,s.s,h.h,ddmmyy,d.d,D*HH Example: 134829.486,A,2232.6083,N,11404.8137,E, 58.31,309.62,010809,,*1A Note: Parameter hhmmss.dd Description UTC time hh = hours; mm = minutes; ss = seconds; dd = decimal part of seconds S xxmm.dddd GPS status indicator, A = valid, V = invalid Latitude xx = degrees; mm = minutes; dddd = decimal part of minutes <N|S> yyymm.dddd Either character N or character S N = North, S = South Longitude yyy = degrees; mm = minutes; dddd = decimal part of minutes <E|W> s.s h.h Either character E or character W E = East, W = West Speed, in unit of knot. (1 knot = 1.852 km) Heading, in unit of degree E = East 58.31 Knots 309.62 deg. 14 N = North 114 deg. 04.8137 min. A=Valid 22 deg. 32.6083 min. Example 13:48:29.486

ddmmyy

Date dd = date; mm = month yy = year

01,08,09

d.d D * HH

Magnetic variation Either character W or character E W = West ,E=East

Normally blank Normally blank In case there would be one more comma (,) prior to *, GPRMC is still to be ended by *. 1A

checksum delimiter: Checksum

(2) | is list separator in ASCII (0x7c) (3) HDOP, in ASCII code, 0.5-99.9. HDOP is blank when the tracker has no GPS fix. (4) Altitude, in algorism. (5) State: Status of inputs and outputs: For TK300 Bit 0: Status of Output1. If Bit0=0: Out1 is closed; Bit0=1:Out1 is open. Bit8: Status of Input1 If Bit8=0: Input1 is inactive; Bit8=1: Input1 is active (SOS button is pressed) Bit1~Bit7 and Bit8~Bit15: Reserved and default as 0 For TK310 Bit0: Status of Out1 If Bit0=0: Out1 is closed; Bit0=1:Out1 is open. Bit1: Status of Out2 If Bit1=0: Out2 is closed; Bit1=1:Out2 is open. Bit2: Status of Out3 If Bit2=0: Out3 is closed; Bit2=1:Out3 is open. Bit3: Status of Out4 If Bit3=0: Out4 is closed; Bit3=1:Out4 is open. Bit4: Status of Out5 If Bit4=0: Out5 is closed; Bit4=1:Out5 is open. Bit5~Bit7: Reserved. Bit8: Status of Input1 If Bit8=0: Input1 is inactive; Bit8=1: Input1 is active. Bit9: Status of Input2 If Bit9=0: Input2 is inactive; Bit9=1: Input2 is active. Bit10: Status of Input3

15

If Bit10=0: Input3 is inactive; Bit10=1: Input3 is active. Bit11: Status of Input4 If Bit11=0: Input4 is inactive; Bit11=1: Input4 is active. Bit12: Status of Input5 If Bit12=0: Input5 is inactive; Bit12=1: Input5 is active. Bit13~Bit15: Reserved and default as 0 (6) AD1, AD2: 10 bit analog input (only for voltage) for TK310 only, 0x0000~0x03ff in HEX, separated by , (comma). Example: 094506.000,A,2232.5412,N,11404.6919,E,0.00,,290709,,*12|1.7|110|0000|00AA,0267 AD1 is 0x00AA and AD2 is 0x0267. Voltage Formula: Input Voltage=(AD*6)/1024 0x00AA=>170(decimal)=>(170*6)/1024=0.99609375V(voltage) 0x0267=>615(decimal)=>(615*6)/1024=3.603515625V(voltage)

16

You might also like