Vous êtes sur la page 1sur 23

GPRSCommunicationProtocol

BetweenGPSTrackerandServer

I. CommandFormat

CommandformatofGPRSpacketsareasfollows:

Fromservertotracker:

@@<L(2bytes)><ID(7bytes)><command(2bytes)><parameter><checksum(2bytes)>\r\n

Fromtrackertoserver:

$$<L(2bytes)><ID(7bytes)><command(2bytes)><data><checksum(2bytes)>\r\n

Note:

DoNOTinput<and>whenwritingacommand.

Allmultibytedatacomplieswiththefollowingsequence:Highbytepriortolowbyte.
ThesizeofaGPRSpacket(includingdata)isabout100bytes.
Item Specification
@@ 2bytes.Thisistheheaderofpacketfromservertotracker.ItisinASCIIcode.(Hexcode:0x40)
$$ 2bytes.Thisistheheaderofpacketfromtrackertoserver,ItisinASCIIcode.(Hexcode:0x24)
L 2bytes.Thisisthelengthofthewholepacketincludingtheheaderandendingcharacteranditisinhexcode.
ID 7bytes,IDmustbeindigitsandnotover14digits,theunusedbytewillbestuffedbyfor0xff.Itisintheformatofhex
code.
Forexample,ifIDis13612345678,thenitwillbeshownasfollows:0x13,0x61,0x23,0x45,0x67,0x8f,0xff.
Ifall7bytesare0xff,itisabroadcastingcommand.IDisinhexcode.
command 2bytes.Thecommandcodeisinhexcode.Pleaserefertothecommandlistbelow.
data Min0byteandmax100bytes.
SeeAnnex1fordescriptionofdata.
checksum 2bytes.ItindicatesCRCCCITT(defaultis0xffff)checksumofalldata(notincludingCRCitselfandtheendingcharacter).It
isinhexcode.
Forexample:
2424001113612345678fff500005d80d0a
0x05d8=CRCCCITT(2424001113612345678fff5000)
\r\n 2bytes.Itistheendingcharacterandinhexcode.(0x0d,0x0ainhexcode)

II.CommandList

Command Page

1.Login0x5000......................................................................................................................... - 5 -
2.LoginConfirmation0x4000.......................................................................................................... - 5 -
3.TrackonDemand0x4101............................................................................................................ - 5 -
4.TrackbyInterval0x4102............................................................................................................. - 5 -
5.Authorization0x4103................................................................................................................ - 6 -
6.SpeedingAlarm0x4105.............................................................................................................. - 6 -
7.MovementAlarm0x4106 ........................................................................................................... - 7 -
8.ExtendedSettings0x4108........................................................................................................... - 8 -
9.Initialization0x4110................................................................................................................. - 8 -
10.SleepMode0x4113 ................................................................................................................ - 9 -
11.OutputControl(Conditional)0x4114or0x5114.................................................................................. - 9 -
12.OutputControl(Immediate)0x4115.............................................................................................- 10 -
13.TriggeredAlarms0x4116..........................................................................................................- 11 -
14.PowerDown0x4126..............................................................................................................- 13 -
15.Listenin(VoiceMonitoring)0x4130.............................................................................................- 13 -
16.LogbyInterval0x4131............................................................................................................- 14 -
17.TimeZone0x4132.................................................................................................................- 14 -
18.SetSensitivityofTrembleSensor0x4135........................................................................................- 15 -
19.HeadingChangeReport0x4136..................................................................................................- 15 -
20.SetGPSAntennaCutAlarm0x4150(ForVT400only)...........................................................................- 15 -
21.SetGPRSParameters0x4155.....................................................................................................- 16 -
22.SetGeofenceAlarm0x4302......................................................................................................- 16 -
23.TrackbyDistance0x4303.........................................................................................................- 17 -
24.DeleteMileage0x4351............................................................................................................- 17 -
25.RebootGPS0x4902................................................................................................................- 17 -
26.Heartbeat0x5199 .................................................................................................................- 18 -
27.ClearMessageQueue0x5503....................................................................................................- 18 -
28.GetSN&IMEI0x9001.............................................................................................................- 18 -
29.ReadInterval0x9002..............................................................................................................- 19 -
30.ReadAuthorization0x9003.......................................................................................................- 19 -
31.ReadLoggedData0x9016.........................................................................................................- 19 -
32.Alarms0x9999.....................................................................................................................- 20 -
Annex1:Descriptionofdata............................................................................................................- 21 -

III.CommandDetails

1.Login0x5000

Command: $$<L><ID><0x5000><checksum><\r\n>
Description: Aftertrackerisproperlysetup,itwillapplyforaGPRSconnectionbysendingthislogincommandevery30
secondstotheserveruntiltheserverconfirmsitslogin.
Example: 24240011123456FFFFFFFF50008B9B0D0A
Note: TrackerIDhereis123456andsameforthefollowingexamples.

2.LoginConfirmation0x4000

Command: @@<L><ID><0x4000><Flag><checksum>\r\n
Description: Serversendsthiscommandbacktothetrackertoconfirmtrackerslogin.
Note: Flag(1byte)

=0x00,loginfailsandwilltryagain;

=0x01,loginsucceeded.

Example: 40400012123456FFFFFFFF400001A99B0D0A

3.TrackonDemand0x4101

Command: @@<L><ID><0x4101><checksum>\r\n
Description: Getthecurrentlocationofthetracker.
Example: 40400011123456FFFFFFFF410167D90D0A

Response: $$<L><ID><0x9955><data><checksum>\r\n
Example: 24240060123456FFFFFFFF99553033353634342E3030302C412C323233322E363038332C
4E2C31313430342E383133372C452C302E30302C2C3031303830392C2C2A31437C3131
2E357C3139347C303030307C303030302C3030303069620D0A
Note: SeeAnnex1fordescriptionofdata.

4.TrackbyInterval0x4102

Command: @@<L><ID><0x4102><Interval(2bytesinhexcode)><checksum>\r\n
Description: Settimeintervalforautomatictimedreport(GPRStracking).
Note: Intervalisinunitof10seconds.
=0x000x00,stoptrackingbyinterval.
Maxtimeinterval=65535*10seconds.
Example: 40400013123456FFFFFFFF4102000A36190D0A
Abovecommandwillset10(0x000x0A)*10=100sastrackinginterval.

Response: $$<L><ID><0x5100><Flag(1byte)><Interval(2bytes)><checksum>\r\n

Note: Flag
=0x00,failureresponse;
=0x01,successresponse.
Oncetheintervalissuccessfullyset,thetrackerwillsendthefollowingpositionreporttotheserveratthe
intervalspecified:
$$<L><ID><0x9955><data><checksum>\r\n

5.Authorization0x4103

Command: @@<L><ID><0x4103><buttonno(1byte)><phonenoforSMS><phonenoforcall><checksum>\r\n
Description: Setauthorizedphonenumberforbuttons(inputs).
Note: ButtonNo(inputNo)isinhexcode.Itsupportsupto3buttons.
Ifbuttonno
=0x01,setauthorizedphonenumberforSOSbutton(input1);
=0x02,setauthorizedphonenumberforButtonB(input2);
=0x03,setauthorizedphonenumberforButtonC(input3).PhoneNo
forSMS:AuthorizedphonenumberforreceivingSMS.PhoneNofor
call:Authorizedphonenumberforreceivingphonecall.
PhoneNois16bytesinASCII.Ifthephonenumberislessthan16bytes,theblankbyte(s)shouldbestuffed
by0x00.Forexample:
Iftheauthorizednumberis1234567890,thenitshouldbewrittenasfollows:
0x310x320x330x340x350x360x370x380x390x300x000x000x000x000x000x00
Ifall16bytesdataare0x00,theauthorizednumberisinvalid.
Example: 40400032123456FFFFFFFF41030138383838383838383838000000000000000000000000
0000000000000000000099680D0A
Abovecommandwillset8888888888asauthorizedphonenumberforSOSbutton.

Response: $$<L><ID><0x4103><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

6.SpeedingAlarm0x4105

Command: @@<L><ID><0x4105><speed(1byteinhexcode)><checksum>\r\n
Description: Setspeedingalarmforthetracker.Whenthetrackerisoverthispresetspeedlimit,SMSalarmswillbesentto
theauthorizedphonenumberforSOSbutton.GPRSalarmswillbesenttotheserverevery30secondsuntil
thetrackerspeedislowerthanthepresetspeedlimit.

Note: Speed
=0x00,cancelspeedingalarm;

=0x01,speedlimitissetto10km/h;
=0x02,speedlimitissetto20km/h;
.
=0x0A,speedlimitissetto100km/h;
.
=0x14,speedlimitissetto200km/h.
Maxspeedlimitis200km/h.
Example: 40400012123456FFFFFFFF41050BC0140D0A
Abovecommandwillsetspeedlimit:110km/h.

Response: $$<L><ID><0x4105><Flag><checksum>\r\n
Note: IfFlag
=0x00,failureresponse.
=0x01,successresponse.

7.MovementAlarm0x4106

Command: @@<L><ID><0x4106><area(1byteinhexcode)><checksum>\r\n
Description: Whenthetrackermovesoutofapresetcirclescope,oneSMSalarmandoneGPRSalarmwillbesenttothe
authorizedphonenumberforSOSbuttonandtheserver.Radiiaresuggestedtobesetabove100meters.
Note: area
=0x00,cancelmovementalarmfunction;
=0x01,itissetinacirclewithcurrentlocationascenterandwithradii=30m;
=0x02,itissetinacirclewithcurrentlocationascenterandwithradii=50m;
=0x03,itissetinacirclewithcurrentlocationascenterandwithradii=100m;
=0x04,itissetinacirclewithcurrentlocationascenterandwithradii=200m;
=0x05,itissetinacirclewithcurrentlocationascenterandwithradii=300m;
=0x06,itissetinacirclewithcurrentlocationascenterandwithradii=500m;
=0x07,itissetinacirclewithcurrentlocationascenterandwithradii=1000m;
=0x08,itissetinacirclewithcurrentlocationascenterandwithradii=2000m.
Ifabove08,itshouldbecorrespondingradii,Max.FFFFFFFF(4294967295),unitismeter.
OnlyonealarmcanbesetineitherMovementAlarmorGeofenceAlarm.
Example: 4040001340205020814FFF410603E812F40D0A
Abovecommandwillsetacirclewithcurrentlocationascenterandwithsideradii=1000m.

Response: $$<L><ID><0x4106><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

8.ExtendedSettings0x4108

Command: @@<L><ID><0x4108><ABCDEFGHIJ><checksum>\r\n
Description: Setextendedfunctionswithdetailsasfollows:
ABCDEFGHIJ(defaultedas0x010x000x000x000x010x000x000x000x000x01):
A=0x00,turnoffthefunctionofreplyingwithanSMSpositionreportafteracallismadetothetracker;
A=0x01,turnonthefunctionofreplyingwithanSMSpositionreportafteracallismadetothetracker.
B=0x00,locationdataofNMEA0183GPRMCwillbeinterpretedintonormaltextforeasyreading;
B=0x01,locationdatacomplieswithNMEA0183GPRMCprotocol.
C=0x00,turnoffthefunctiontoautomaticallyhangupanincomingcall;
C=0x01,turnonthefunctiontoautomaticallyhangupanincomingcallafter5rings.
D=0x00,turnoffthefunctionofsendingalarmswhenthetrackeristurnedon;
D=0x01,turnonthefunctionofsendinganSMSalarmtotheauthorizedphonenumberforSOS,andaGPRS
alarmtotheserver,whenthetrackeristurnedon.
E:reservedanddefaultedas0x01.
F=0x00,turnoffthefunctionofsendingalarmswhenthetrackerentersGPSblindarea;
F=0x01,turnonthefunctionofsendinganSMSalarmtotheauthorizedphonenumberforSOSandaGPRS
alarmtotheserverwhenthetrackerentersGPSblindarea.
G=0x00,allLEDlightsworknormally;
G=0x01,allLEDlightsstopflashingwhenthetrackerisworking.
H:reservedanddefaultedas0x00.
I=0x00,turnoffthefunctionofsendinganSMSalarmwhenthepowerofthevehicletrackeriscut;
I=0x01, turn on the function of sending an SMS alarm to the authorized phone number for SOS when the
powerofthevehicletrackeriscut.
J=0x00,turnoffthebuzzerfortheincomingcall;
J=0x01,turnonthebuzzerfortheincomingcall.
Example: 4040001B123456FFFFFFFF410801000000010000000001B0780D0A

Response: $$<L><ID><0x4108><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

9.Initialization0x4110

Command: @@<L><ID><0x4110><checksum>\r\n
Description: Makeallsettings(exceptforthepassword,IP,Port,APN,IDandGPRSinterval)backtofactorydefault.
Example: 40400011123456FFFFFFFF411065C90D0A

Response: $$<L><ID><0x4110><Flag><checksum>\r\n
Note: Flag

=0x00,failureresponse;
=0x01,successresponse.

10.SleepMode0x4113

Command: @@<L><ID><0x4113><powersavinglevel(1byteinhexcode)><checksum>\r\n
Description: Setsleepmodeforpowersaving.
Note: Ifpowersavinglevel
=0x00,toclosesleepfunction;
=0x01,level1;
=0x02,level2;
=0x03,level3.
Descriptionofpowersavinglevel:
GPS module will be closed for 64 seconds * X (X=1, 2, 3), if it gets continuous GPS fixed for 32 times or
NonGPSfixedfor128times.Afterthat,GPSmodulewillperiodicallyworkandclose.
Example: 40400012123456FFFFFFFF411301C88B0D0A
Abovecommandwillsetsleepmodetolevel1.

Response: $$<L><ID><0x4113><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

11.OutputControl(Conditional)0x4114or0x5114

Description: This commandis to controlthe outputs of the trackerswitha speed limit.This is usedfor vehicletrackers
(GT06, V310 andVT400)only.AdvisedCautioninusingthisfunction
Note: Thisfunctionisonlyachievablewhenthespeedisbelow10km/h(0x4114)or20km/h(0x5114)andwhileGPS
isavailable.

ForGT06
Command: @@<L><ID><0x4114or0x5114><A><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND.
Example: 40400012123456FFFFFFFF411401511C0D0A
Abovecommandwillopenoutput1.
ForVT310
Command: @@<L><ID><0x4114or0x5114><ABCDE><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND;
A=0x02,remainpreviousstatus.

B=0x00,closeoutput(OUT2)opendrain;
B=0x01,openoutput(OUT2)connecttoGND;
B=0x02,remainpreviousstatus.
C=0x00,closeoutput(OUT3)opendrain;
C=0x01,openoutput(OUT3)connecttoGND;
C=0x02,remainpreviousstatus.
D=0x00,closeoutput(OUT4)opendrain;
D=0x01,openoutput(OUT4)connecttoGND;
D=0x02,remainpreviousstatus.
E=0x00,closeoutput(OUT5)opendrain;
E=0x01,openoutput(OUT5)connecttoGND;
E=0x02,remainpreviousstatus.
Example: 40400016123456FFFFFFFF41140100010001892E0D0A
Abovecommandwillopenoutput1,output3andoutput5andcloseoutput2andoutput4.
ForVT400
Command: @@<L><ID><0x4114or0x5114><AB><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND;
A=0x02,remainpreviousstatus.
B=0x00,closeoutput(OUT2)opendrain;
B=0x01,openoutput(OUT2)connecttoGND;
B=0x02,remainpreviousstatus.
Example: 40400016123456FFFFFFFF411401005B000D0A.
Abovecommandwillopenoutput1,output3andoutput5andcloseoutput2andoutput4.

Response: $$<L><ID><0x4114or0x5114><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

12.OutputControl(Immediate)0x4115

Description: This command controls the outputs of the trackers and used for vehicle trackers only. Advised Caution in
usingthisfunction.(GT06,VT310and VT400)

For GT06
Command: @@<L><ID><0x4115><A><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND.
Example: 40400012123456FFFFFFFF411501622D0D0A
ForVT310

Command: @@<L><ID><0x4115><ABCDE><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND;
A=0x02,remainpreviousstatus.
B=0x00,closeoutput(OUT2)opendrain;
B=0x01,openoutput(OUT2)connecttoGND;
B=0x02,remainpreviousstatus.
C=0x00,closeoutput(OUT3)opendrain;
C=0x01,openoutput(OUT3)connecttoGND;
C=0x02,remainpreviousstatus.
D=0x00,closeoutput(OUT4)opendrain;
D=0x01,openoutput(OUT4)connecttoGND;
D=0x02,remainpreviousstatus.
E=0x00,closeoutput(OUT5)opendrain;
E=0x01,openoutput(OUT5)connecttoGND;
E=0x02,remainpreviousstatus.
Example: 40400016123456FFFFFFFF41150100010001CC8E0D0A
ForVT400
Command: @@<L><ID><0x4114or0x5114><AB><checksum>\r\n
Note: A=0x00,closeoutput(OUT1)opendrain;
A=0x01,openoutput(OUT1)connecttoGND;
A=0x02,remainpreviousstatus.
B=0x00,closeoutput(OUT2)opendrain;
B=0x01,openoutput(OUT2)connecttoGND;
B=0x02,remainpreviousstatus.
Example: 40400016123456FFFFFFFF411401005B000D0A.

Response: $$<L><ID><0x4115><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

13.TriggeredAlarms0x4116

Description: Thiscommandactivatesalarmswhentrackersbutton(orinput)istriggered.
ForGT30iandGT60
Command: @@<L><ID><0x4116><ABC><checksum>\r\n
Note: A=SOSButton
B=ButtonB
C=ButtonC
WhenAorBorC(inASCII)

=0(0x30),cancelthebuttonalarm;
=1(0x31),toenablealarmwhenbuttonispressed;
=2(0x32),toenablealarmwhenbuttonisreleased;
=3(0x33),toenablealarmwhenbuttoniseitherpressedorreleased.
Example: 40400014123456FFFFFFFF41163132332C520D0A
AbovecommandwillenablealarmswhenSOSbuttonispressed,ButtonBisreleasedandButtonCiseither
pressedorreleased.
ForVT300
Command: @@<L><ID><0x4116><A><checksum>\r\n
Note: AstheInputofVT300islinkedwithSOSbutton.
=0(0x30),canceltheinputalarm;
=1(0x31),toenablealarmwheninputisactive;
=2(0x32),toenablealarmwheninputisinactive;
=3(0x33),toenablealarmwheninputiseitheractiveorinactive.
ForVT310and GT06
Command: @@<L><ID><0x4116><ABCDE><checksum>\r\n
Note: A=Input1(SOSButton)
B=Input2
C=Input3
D=Input4
E=Input5

(GT06 just having the input1 for SOS button, and input4 for ACC detection)
WhenAorBorCorDorE(inASCII)
=0(0x30),canceltheinputalarm;
=1(0x31),toenablealarmwheninputisactive;
=2(0x32),toenablealarmwheninputisinactive;
=3(0x33),toenablealarmwheninputiseitheractiveorinactive.


Input1,Input2andInput3arenegativetriggering;Input4andInput5arepositivetriggering.
Example: 40400016123456FFFFFFFF4116313233313254500D0A
Above command will enable alarms when Input1 is active, Input2 is inactive, Input3 is either active or
inactive,Input4isactiveandInput5isinactive.

Response: $$<L><ID><0x4116><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.
ForVT400
Command: @@<L><ID><0x4116><ABCDE><checksum>\r\n
Note: A=Input1(SOSButton)
B=Input2




WhenAorB(inASCII)
=0(0x30),canceltheinputalarm;
=1(0x31),toenablealarmwheninputisactive;
=2(0x32),toenablealarmwheninputisinactive;
=3(0x33),toenablealarmwheninputiseitheractiveorinactive.


Input1isnegativetriggering;Input2ispositivetriggering.
Example: 40400013123456FFFFFFFF4116313008070D0A
AbovecommandwillenablealarmswhenInput1isactive;itwillnotenablealarmsbyInput2.

Response: $$<L><ID><0x4116><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

14.PowerDown0x4126

Command: @@<L><ID><0x4126><data><checksum>\r\n
Description: Putstrackerintopowerdownmode(forpowersavingpurpose)whenitisinactiveorstationaryforaperiod
of time. In Power Down mode, GPS stops working while GSM enters sleep mode and stops sending out
messagesuntilitisactivatedbymessage,incomingcalls,movementoranyinputchanges.
Note: dataisinASCIIcodeandinunitofminute.
=00(0x300x30),toturnoffthisfunction;
=[01,99],tosetPowerDownmode.
Example: 40400013123456FFFFFFFF412631359D070D0A
Above command will set the tracker to enter Power Down mode after it is inactive for 15 (0x31 0x35)
minutes.

Response: $$<L><ID><0x4126><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

15.Listenin(VoiceMonitoring)0x4130

Command: @@<L><ID><0x4130><data><checksum>\r\n
Description: Authorizeaphonenumbertomakeasilentcalltothetracker.Thetrackeranswersthecallautomaticallyand
allowsthecallertolistentowhatishappeningaroundthetracker.Thereisnovoiceindicationthatthecallis
inprogress.
Note: Dataisthetelephonenumberforwiretappinganditshould benumbersorstartwith+.Max16digits.In

ASCIIcode.
Example: 4040001B123456FFFFFFFF413038383838383838383838AD3A0D0A
Abovecommandwillauthorizephonenumber8888888888forwiretapping.

Response: $$<L><ID><0x4130><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

16.LogbyInterval0x4131

Command: @@<L><ID><0x4131><data><checksum>\r\n
Description: SettimeintervalforloggingGPSinformation.Theinformationisstoredwithinthedevicememory.Whenthe
memorygetsfull,thenewestrecordwillbeoverwrittenontopoftheoldest(FIFOFirstIn,FirstOut).Inthat
case,onlythenewestinformationisstored.
Note: DataisinASCIIcodeandinunitofsecond.
Ifdata
=0(0x30),toclosethisfunction.
=[1,65535],tosetintervalforlogging.
Example: 40400013123456FFFFFFFF413131355BF40D0A
Abovecommandwillmakethetrackertologevery15(0x310x35)secondswhenitgetsGPSfix.

Response: $$<L><ID><0x4131><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

17.TimeZone0x4132

Command: @@<L><ID><0x4132><data><checksum>\r\n
Description: Correctstimeintoyourlocaltime
Note: DefaultGPStimeisGMT.
DataistosettimedifferenceinminutestoGMT
Data=[32768,32767].InASCIIcodeandinunitofminutes
ThiscorrectionisappliedtolocationreportsbySMSandSMSalarms,NOTGPRS.
Example: 40400014123456FFFFFFFF4132343830E5B50D0A
Abovecommandwillset480minutesastimedifference.
40400015123456FFFFFFFF41322D34383041A10D0A
Abovecommandwillset480minutesastimedifference.

Response: $$<L><ID><0x4132><Flag><checksum>\r\n

Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

18.SetSensitivityofTrembleSensor0x4135

Command: @@<L><ID><0x4135><data><checksum>\r\n
Description: Sensitivityoftremblesensoristhekeyparameterforsleepmode,wakeupandtowalarmetc.
Note: Data=[1,255],Thesmallerthedata,themoresensitivethesensorwillbe.Defaultis30.
Example: 4040001340104720213FFF413533300EBC0D0A

Response: $$<L><ID><0x4135><Flag><checksum>\r\n
Example: 2424001240104720213FFF413501F8510D0A
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

19.HeadingChangeReport0x4136

Command: @@<L><ID><0x4136><data><checksum>\r\n
Description: Whentheheadingdirectionofthetrackerchangesoverthepresetdegree,amessagewithlocationdatawill
besentbacktotheserverbyGPRS.Thisenhancestheaccuracyandcontinuoustracewhenthetrackermakes
adirectionchange.
Note: data=[0,359],inASCIIcode;
Example: 40400013123456FFFFFFFF41363130A4BE0D0A
Abovedatais10degree.Whenthetrackerturnsover10degrees,amessagewillbesentbacktotheserver.

Response: $$<L><ID><0x4136><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

20.SetGPSAntennaCutAlarm0x4150(ForVT400only)

Command: @@<L><ID><0x4150><data><checksum>\r\n
Description: SetGPSantennacutalarm
Note: Data
=0Disablealarm
=1Enablealarm.DefaulttobeableWhenGPSantennaiscut,thetrackerwillsendanalarmtotheserver

Example: 40400012123456FFFFFFFF41500190140D0A

Response: $$<L><ID><0x4150><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

21.SetGPRSParameters0x4155

Command: @@<L><ID><0x4155><data><checksum>\r\n
Description: SetGPRSparameters.Including<mode,IP,port,APN,APNusernameandpassword>.
Note: Communicationmode:
=0,EnableGPRS
=1,TCP
=2,UDP
Example: 4040002E40104720213FFF4155312C3131332E39322E3131312E3232312C383035322C63
6D6E65742C2C95DB0D0A
AbovecommandwillsetIPas113.92.111.221,portas8052.

Response: $$<L><ID><0x4155><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

22.SetGeofenceAlarm0x4302

Command: @@<L><ID><0x4302><data><checksum>\r\n
Description: SetGeofenceAlarm.Whenthetrackermovesoutofapresetcirclescope,anSMSalarmandaGPRSalarms
willbesenttotheauthorizedphonenumberforSOSbuttonandtheserver.
Note: Takethetrackerslatitudeandlongitudeascenterofthecircle.
LatitudeandlongitudesshouldbeinASCIIformatasfollows:
Latitudeisddd.dddddd,0isneededtobestuffedifnovalueavailable.shouldbeaddedforsouth.
Longitudeisdd.dddddd,0isneededtobestuffedifnovalueavailable.shouldbeaddedforwest.
Radii=[1,4294967295]meter(s)
Data:latitude,longitude,radius,in,out
=0,invalid
=1,valid
OnlyonealarmcanbesetineitherMovementAlarmorGeofenceAlarm.
Example: 4040002D40205020814FFF430231322E3132333435352C3132332E3132333435362C3130
302C312C31F70A0D0A
Abovecommandwillsetcenterslatitudeas12.123455,longitudeas123.123456,radiias100meters.Alarm
willbetriggeredwhenenteringandexitingpresetscope.


Response: $$<L><ID><0x4302><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

23.TrackbyDistance0x4303

Command: @@<L><ID><0x4303><data><checksum>\r\n
Description: Set distancereportas per presetinterval.Sends out alarmwhenthecaris moving and stops sending the
reportwhenthecarisstationary.OnlyinGPRS.
Note: Data:
=0,cancle
=[1,4294967295]meter(s)
Distanceintervalissuggestedtobesetabove300meters.
Example: 4040001440205020814FFF43033330309BC50D0A
Abovecommandwillsetintervalas300meters.

Response: $$<L><ID><0x4303><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

24.DeleteMileage0x4351

Command: @@<L><ID><0x4351><checksum>\r\n
Description: DeletetotalmileageofGPRSpackets.
Whenmileageisdeleted,theservershouldhaveacorrespondingprogramtoavoidcalculationmistake.
Note: Ifmileageisacceleratedto4294967295meters,itwillbedeletedautomatically.
Example: 4040001140104720213FFF435140480D0A

Response: $$<L><ID><0x4351><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

25.RebootGPS0x4902

Command: @@<L><ID><0x4902><checksum>\r\n
Description: ReboottheGPSmoduleofthetracker.

Example: 40400011123456FFFFFFFF490271AC0D0A

Response: $$<L><ID><0x4902><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

26.Heartbeat0x5199

Command: @@<L><ID><0x5199><data><checksum>\r\n
Description: Settimeintervalforheartbeatmode.
Note: data=[0,65535],inASCIIcodeandinunitofminute
Example: 40400013123456FFFFFFFF5199313224890D0A
Above commandwill set interval as 12 minutes. The trackerwill send heartbeat (0x00) data to the server
every12minutes.

Response: $$<L><ID><0x5199><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

27.ClearMessageQueue0x5503

Command: @@<L><ID><0x5503><checksum>\r\n
Description: ClearallmessagequeuesloggedwhenthereisnoGPRScoverage.
Note: ThiscommandclearsdataloggedwhenthereisnoGPRSconnection.
Example: 40400011123456FFFFFFFF5503ACE00D0A

Response: $$<L><ID><0x5503><Flag><checksum>\r\n
Note: Flag
=0x00,failureresponse;
=0x01,successresponse.

28.GetSN&IMEI0x9001

Command: @@<L><ID><0x9001><checksum>\r\n
Description: GettrackersSerialNumber,IMEIandfirmwareversion.
Example: 40400011123456FFFFFFFF900141CF0D0A

Response 24240033123456FFFFFFFF9001333033373831353035392C333533333538303131303138
3134352C56312E34352D4EFED00D0A

Herewecansee:
SN=3037815059
IMEI=353358011018145
FirmwareVersion=V1.45N

29.ReadInterval0x9002

Command: @@<L><ID><0x9002><checksum>\r\n
Description: Readpresettimeintervalofautomatictimedreport(GPRStracking).
Example 40400011123456FFFFFFFF900271AC0D0A

Response: $$<L><ID><0x9002><presettimeinterval(2bytesinhexcode)><checksum>\r\n
Example: 24240013123456FFFFFFFF9002000A8FD40D0A
Thepresettimeintervalis10(0x000x0A)*10=100seconds.

30.ReadAuthorization0x9003

Command: @@<L><ID><0x9003><buttonno(1byteinhexcode)><checksum>\r\n
Description: Togettheauthorizedphonenumber.
Note: Buttonnoshouldbe0x01,0x02or0x03.Ifbuttonnois0xff,itwillreadallauthorizednumbers.
Example: 40400012123456FFFFFFFF900301995C0D0A

Response: $$<L><ID><0x9003><phonenoforSMS><phonenoforcall><checksum>\r\n
Example: 24240031123456FFFFFFFF90033838383838383838383800000000000000000000000000
000000000000000000C88A0D0A
Note: phonenois16bytesinASCII.Ifthephonenoislessthan16bytes,theblankbyte(s)readas0x00.

31.ReadLoggedData0x9016

Command: @@<L><ID><0x9016><devicerandom(1B)><PCrandom(1B)><Flag(2B)><checksum>\r\n

Description: Toreadloggeddata(loggedbypresetinterval)inmemory.

Response: $$<L><ID><0x9016><devicerandom(1B)><PCrandom(1B)><waypoints(4B)><data><checksum>\r\n

Note: DevicerandomandPCrandomarerandomdata,forexample,0x03,0x2A,etc.
Waypointsarethetotalnumberofwaypointsthathavebeensavedinmemory.Highbytepriortolowbyte.
DataisthefirstrecordoftheloggedwaypointswhichisinGPRMCformat.


IfFlag
=0x000x00,readthefirstwaypoint.
=0x00 0x01, delete the received waypoint from memory on the condition that sent device random (1B)
=latestreceiveddevicerandom(1B)andreadthenextwaypoint.

Example: Ifyoufirstsend:
40400015123456FFFFFFFF901603150001AFAB0D0A
Thendevicemaybereturn:
2424004B123456FFFFFFFF90162B15000000593033343433332E3030302C412C32323332
2E353230392C4E2C31313430342E363635392C452C302C302C3031303830392C41307C
A0180D0A
Nexttimeyoushouldsend:
40400015123456FFFFFFFF90162B1500011D260D0A
Wheredevicerandom(0x2B)mustequaltothelatestreceived.

32.Alarms0x9999

Command: $$<L><ID><0x9999><Alarm><data><checksum>\r\n
Description: When there is an alarm detected described as below, this command will be sent from the tracker to the
server.
Alarms 1byteinHexcodeanddetailsasfollows
Alarm Definition
=0x01 SOSbuttonispressed/Input1active
=0x02 CallBbuttonispressed/Input2active
=0x03 CallCbuttonispressed/Input3active
=0x04 Input4active
=0x05 Input5active
=0x10 Lowbatteryalarm
=0x11 Speedingalarm
=0x12 MovementalarmoralarmoftrackerexitingGeofencescope
=0x13 AlarmoftrackerenteringGeofencescope
=0x14 Alarmoftrackerbeingturnedon
=0x15 AlarmoftrackerenteringGPSblindarea
=0x16 AlarmoftrackerexitingGPSblindarea
=0x31 SOSbuttonisreleased/Input1inactive
=0x32 CallBbuttonisreleased/Input2inactive
=0x33 CallCbuttonisreleased/Input3inactive
=0x34 Input4inactive
=0x35 Input5inactive
=0x50 Externalpowercutalarm
=0x52 Veerreport
=0x53 GPSantennacutalarm
=0x63 Distancereport
Example: 24240061123456FFFFFFFF9999033033353930312E3030302C412C323233322E36303833
2C4E2C31313430342E383133372C452C302E30302C2C3031303830392C2C2A31327C31

322E327C3139347C303430307C303030302C30303030834B0D0A
ItmeansbuttonCispressed/Input3isactive.


2424007E40205020814FFF9999633032353931302E3030302C562C323233302E37363230
2C4E2C31313430332E343032312C452C302E30302C302C3330303131312C2C2A31447C
302E307C3131337C323130307C303030452C303030427C303143433030303032373932
304538397C31327C30303030303030306AFB0D0A
Itmeansdistancereport(Trackedbydistance)
Note: SeeAnnex1fordescriptionofdata.

Annex1:Descriptionofdata

Dataconsistsof:GPRMC|HDOP|Altitude|State|AD|Journey(1)GPRMC
includes:
hhmmss.dd,S,xxmm.dddd,<N|S>,yyymm.dddd,<E|W>,s.s,h.h,ddmmyy,d.d,D*HH
Forexample:
134829.486,A,2232.6083,N,11404.8137,E,58.31,309.62,010809,12.1,112,230809,,*1A

Details:
Parameter Description Example
hhmmss.dd UTCtime 13:48:29.486
hh=hours;
mm=minutes;
ss=seconds;
dd=decimalpartofseconds
S GPSstatusindicator,A=valid,V=invalid A=Valid
xxmm.dddd Latitude 22deg.32.6083min.
xx=degrees;
mm=minutes;
dddd=decimalpartofminutes
<N|S> EithercharacterNorcharacterS N=North
N=North,S=South

yyymm.dddd Longitude 114deg.04.8137min.


yyy=degrees;
mm=minutes;
dddd=decimalpartofminutes
<E|W> EithercharacterEorcharacterW E=East
E=East,W=West
s.s Speed,inunitofknot.(1knot=1.852km) 58.31Knots
h.h Heading,inunitofdegree 309.62deg.
ddmmyy Date 01,08,09
dd=date;
mm=month
yy=year
d.d Magneticvariation Normalempty

D EithercharacterWorcharacterE Normalempty
W=West,E=East
* Checksum delimiter: follows the last data field Before*,addone,(comma).butGPRMC is
ofthesentence endcheckby*
HH Checksum 1A

(2)|islistseparatorinASCII(0x7c)

(3)HDOP,inASCIIcode,0.599.9.HDOPisblankwhenthetrackingunithasnoGPSfix.

(4)Altitude,indecimalstring.

(5)State:Statusofinputandoutput,inHEXstring:
ForGT30i/GT60
Bit0~Bit7:Reservedanddefaultas0
Bit8:StatusofInput1
IfBit8=0:Input1isinvalid;Bit8=1:Input1isvalid(bepressed/connectedtonegative)
Bit9:StatusofInput2
IfBit9=0:Input2isinvalid;Bit9=1:Input2isvalid(bepressed/connectedtonegative)
Bit10:StatusofInput3
IfBit10=0:Input3isinvalid;Bit10=1:Input3isvalid(bepressed/connectedtonegative)

ForVT300
Bit0:StatusofOutput1.
IfBit0=0:Out1isclosed;Bit0=1:Out1isopen.
Bit8:StatusofInput1
IfBit8=0:Input1isinvalid;Bit8=1:Input1isvalid(bepressed/connectedtonegative)

Bit1~Bit7andBit8~Bit15:Reservedanddefaultas0

ForVT310and GT06 (GT06 is keeping Out1 only)


Bit0:StatusofOut1
IfBit0=0:Out1isclosed;Bit0=1:Out1isopen.
Bit1:StatusofOut2
IfBit1=0:Out2isclosed;Bit1=1:Out2isopen.
Bit2:StatusofOut3
IfBit2=0:Out3isclosed;Bit2=1:Out3isopen.
Bit3:StatusofOut4
IfBit3=0:Out4isclosed;Bit3=1:Out4isopen.
Bit4:StatusofOut5
IfBit4=0:Out5isclosed;Bit4=1:Out5isopen.
Bit5~Bit7:Reserved.
Bit8:StatusofInput1
IfBit8=0:Input1isinvalid;Bit8=1:Input1isvalid(bepressed/connectedtonegative)
Bit9:StatusofInput2
IfBit9=0:Input2isinvalid;Bit9=1:Input2isvalid(bepressed/connectedtonegative)
Bit10:StatusofInput3
IfBit10=0:Input3isinvalid;Bit10=1:Input3isvalid(bepressed/connectedtonegative)
Bit11:StatusofInput4
IfBit11=0:Input4isinvalid;Bit11=1:Input4isvalid(bepressed/connectedtopositive)
Bit12:StatusofInput5
IfBit12=0:Input5isinvalid;Bit12=1:Input5isvalid(bepressed/connectedtopositive)
Bit13~Bit15:Reservedanddefaultas0

ForVT400
Bit0:StatusofOut1
IfBit0=0:Out1isclosed;Bit0=1:Out1isopen.
Bit1:StatusofOut2
IfBit1=0:Out2isclosed;Bit1=1:Out2isopen.
Bit2~Bit7:Reserved.
Bit8:StatusofInput1
IfBit8=0:Input1isinvalid;Bit8=1:Input1isvalid(bepressed/connectedtonegative)
Bit9:StatusofInput2
IfBit9=0:Input2isinvalid;Bit9=1:Input2isvalid(bepressed/connectedtonegative)
Bit10~Bit15:Reservedanddefaultas0

(6)AD:analoginput(defaultvoltageinput)inHEXstring.
ForVT310
AD1,AD2:10bitanaloginput,0x0000~0x03ffinHEX,separatedby,(comma).

ForVT400
AD1,AD2AD8:12bitanaloginput,0x0000~0x0fffinHEX,separatedby,(comma).Note:AD1isthevalueofexternal
power.

(7)Journey
Inunitofmeter.InHEXstring.
ThetotalaccumulatedjourneyandmaxFFFFFFFF(is4294967295)meters.