Date Tags GPS

Ongeveer 4 jaar geleden heb ik een GPS-tracker gekocht via eBay. Een TLT-1C welke prima werkte tot een paar maanden geleden. Ik kreeg geen locaties meer door van de tracker hoewel deze wel gewoon op SMS-commando's reageerde en keurig een locatie doorgaf via SMS. Via GPRS bleef het echter erg stil. Na een harde reset werkte de tracker weer eventjes maar na ongeveer 10 minuten rijden ontving ik wederom geen puntjes meer. Ik vermoed dat het geheugen van de tracker beschadigd is geraakt. Tijd voor een nieuwe tracker dus. Leuk! Kan ik weer iets bestellen via eBay!

Na wat gevergelijk ben ik uitgekomen op de TK103B. Je kunt op eBay verschillende setjes bestellen, met bijvoorbeeld een sirene of "shock sensor". Ik heb de meest eenvoudige versie besteld met alleen een tracker en afstandbediening. (Ik heb overigens alsnog een bewegingsensor besteld.) De details van deze tracker zijn als volgt:

General

Network GSM / GPRS
2G GSM 850/900/1800/1900MHz
GSM/GPRS Module SIMCOM300/SIMCOM340

GPS

GPS Chip SIRF III chip
GPS Sensitivity -159 dBM
GPS Accuracy 5 M
Altitude Limit 18,000 meters (60,000 feet) max
Velocity Limit 515 meters/second (1000 knots) max
Acceleration Limit Less than 4g
Cold Status 35s
Hot Status 15s (Indoor)
Hot Status 1s (Outside)

Alarms, Alerts, Security Functions

  • Real-Time Tracking
  • Remote Fuel Cut Off
  • Geo-Fence
  • Shock Sensor
  • Movement Alarm
  • Siren

Ports

  • SIM Card Slot - GSM
  • GSM Antenna
  • GPS Antenna
  • Sensor Jack
  • 3.5mm MIC IN

Dimensions

Main product dimensions: 103x54x25mm (L x W x D)

TK103B

Verder heeft de tracker dus ook een afstandbediening waar je bepaalde acties mee uit kunt voeren, zoals een SOS-oproep of het bewegingalarm inschakelen. Wanneer de auto dan wordt verplaatst (gestolen) wordt er automatisch een SMS naar het ingestelde nummer gestuurd. Ook meld de tracker deze alarmen via GPRS naar de ingestelde trackingserver. Het zwarte draadje op de foto is overigens de antenne voor de afstandbediening.

Instellen van de tracker

Voordat je de tracker kunt gebruiken en data van de tracker kunt ontvangen dien je deze in te stellen. Dit kan met SMS-commando's of met de bijgeleverde software en een USB-kabeltje. Het USB-kabeltje heb ik niet en Chinese software vertrouw ik niet dus ik ga de tracker instellen via SMS-commando's.

Als eerste zetten we de tracker in setup modus. NB: Let overigens goed op het spatie- en hoofdlettergebruik in de commando's. Dit is erg belangrijk.

begin123456

Het standaard wachtwoord van de tracker is 123456. Dit wachtwoord zal je bij de meeste commando's mee moeten sturen. Je kunt dit wachtwoord overigens veranderen in wat je maar wilt.

Als het goed is reageert de tracker met de volgende respons.

begin ok!

Nu stel ik het IP-adres in van mijn trackingserver en de TCP-poort waar de trackingdaemon op draait.

adminip123456 149.210.131.143 10083

De tracker zal als het goed is reageren met.

adminip ok!

In mijn tracker heb ik een T-Mobile SIM-kaart zitten en om gebruik te kunnen maken van het T-Mobile GPRS-netwerk is het nodig de juiste APN in te stellen. De APN van T-Mobile is "internet". Check even wat de juiste APN van jouw mobiele provider is en stel deze in op de tracker.

APN123456 internet

De tracker zal dan heel consequent reageren met.

APN ok

Activeer nu de GPRS-modus met.

GPRS123456

De respons zal dan zijn, geheel in lijn met het voorgaande responsformaat.

GPRS OK!

Om de juiste tijdcode te ontvangen in de berichten van de tracker is het verstandig de tijdzone in te stellen. In Nederland is dit op dit moment GMT+2 (zomertijd). De tijdzone stel je als volgt in.

time zone123456 2

Als de tijdzone is geaccepteerd zal de tracker reageren met.

time ok

De tracker kan op verschillende manieren de locatie doorgeven aan de trackingserver. Een handigheidje wat je met de TK103B kunt doen is het laten sturen van een locatie op basis van afgelegde afstand en verstreken tijd. Ik heb mijn tracker zo ingesteld dat deze, wanneer de motor van de auto draait, de tracker iedere 10 meter een locatie doorgeeft of iedere 10 seconden. De tracker zal een locatie doorgeven als aan een van deze 2 voorwaarden wordt voldaan. Het instellen hiervan gaat als volgt.

Eerst stellen we in dat er iedere 10 seconden een locatie moet worden gestuurd.

fix010s***n123456

Het formaat van dit commando is als volgt: 010s geeft uiteraard aan dat er iedere 10 seconden een locatie (fix) moet worden verstuurd. Het tweede deel van het commando geeft aan hoe vaak dit moet gebeuren. ***n zorgt ervoor dat er oneindig veel locaties worden verstuurd.

Stel je wilt iedere 10 seconden een locatie ontvangen maar slechts 5 locaties in totaal dan kun je als commando  fix010s005n123456 opgeven. Nadat de 5 locaties zijn verzonden gaat de tracker in slaapstand.

NB: De tracker geeft op het fix-commando geen respons.

Als tweede stellen we in dat er iedere 10 meter een locatie wordt doorgegeven.

distance123456 010

De tracker reageert dan met.

Distance ok

Nu beide voorwaarden zijn ingesteld zal de tracker als we stil staan iedere 10 seconden een locatie doorgeven en als we rijden waarschijnlijk iedere 10 meter een locatie doorgeven. Echter, wanneer we de auto ergens parkeren en de motor uitzetten zal de tracker gewoon door blijven gaan met het sturen van locaties. Om dit te voorkomen moeten we het volgende instellen.

suppress123456

De tracker zal reageren met.

suppress drift ok

Nu is de configuratie bijna compleet. De tracker zal na iedere 10 afgelegde meters of na iedere 10 verstreken seconden een locatie sturen. Wanneer we nu de auto ergens parkeren en de motor uitschakelen zal de tracker nog 5 minuten locaties blijven sturen waarna de tracker in slaapstand gaat. Pas wanneer de motor weer wordt gestart ontwaakt de tracker en gaat hij weer verder met locaties verzenden naar de trackingserver.

De tracker zal bij een uitgeschakelde motor na 5 minuten geen locaties meer doorgeven, maar blijft zich wel iedere 10 seconden melden bij de trackingserver. Om dit te voorkomen kun je het volgende commando sturen.

less gprs123456 on

De tracker reageert met.

Less gprs on ok

Als laatste stellen we nog het telefoonnummer in waarnaar SMSjes zullen worden gestuurd in het geval dat er op de SOS-knop wordt gedrukt.

centernum123456 0031612345678

De tracker zal reageren met.

centernum ok

Uiteraard is mijn telefoonnummer niet 0612345678 maar dat begrijp je natuurlijk zelf ook wel. De tracker is nu helemaal geconfigureerd en stuurt zijn locaties op basis van de ingestelde voorwaarden door naar de trackingserver. Laten we nu eens gaan kijken naar wat de tracker voor data verstuurt.

De data

De tracker stuurt zijn data in 2 stappen. Eerst zal de tracker zich melden bij de trackingserver met zijn IMEI. De trackingserver controleert of dit IMEI data mag sturen en wanneer dit mag zal de trackingserver reageren met het LOAD-commando. De tracker zal hierna 1 locatiepunt sturen met nog wat extra data. De gegevenstransactie is als volgt.

De tracker meld zich eerst bij de trackingserver met de volgende data.

##,imei:359710012345678,A;

Nu zal de trackingserver controleren of dit IMEI data mag sturen en als dit is toegestaan reageert de trackingserver met.

LOAD

De tracker ontvangt het LOAD-commando en zal 1 locatiepunt sturen.

imei:359710012345678,tracker,1408301522,,F,132252.000,A,5207.2820,N,00516.9545,E,0.00,0;

De data die de tracker stuurt bestaat uit een stukje specifieke data gevolgt door een  GPRMC-bericht. De data is als volgt opgebouwd.

imei:359710012345678 Het IMEI van de tracker
tracker Onderwerp van dit bericht. Ik heb voorbij zien komen: - tracker (normale locatie) - acc on (motor draait) - help me (SOS-knop 3 sec. ingedrukt) - ac alarm (auto accu ontkoppeld) - acc alarm (motor stop)
1408301522 Tijdcode van fix op basis van ingestelde tijdzone. 2014-08-30 15:22
F
132252.000 GPS-tijd. 13:22:52
A GPS-ontvanger status. A = OK, V = niet OK
5207.2820 Breedtegraad. 52º 07.2820
N Oriëntatie N of S (Noord of Zuid)
00516.9545 Lengtegraad. 5º 16.9545
E Oriëntatie E of W (Oost of West)
0.00 Snelheid over land in knopen
0 Richting. Afwijking in graden vanaf het magnetisch noorden

Als extra cadeautje zal ik een stukje PHP laten zien waarmee je zelf de data kunt ontvangen en gebruiken in je eigen applicatie.

if( preg_match("/##,imei:(?<imei>\d{15,16}),(?<status>.*);/", $payload, $matches )) {
  // Check $matches["imei"] if it is allowed to send data
  // If so, return LOAD to tracking unit
  return "LOAD"; // Request unit to load GPS data
}

// After unit is authenticated it loads its data
if( preg_match("/imei:(?<imei>.*),(?<status>.*),(?<timestamp_fix>\d{10}),,(?<type>[A-Z]),(?<timestamp>[0-9\.]*),(?<gps_status>A|V),(?<latitude>[0-9\.]{9}),(?<latitude_direction>N|S),(?<longitude>[0-9\.]{10}),(?<longitude_direction>E|W),(?<speed>[0-9\.]+),(?<bearing>[0-9\.]+);/", $payload, $matches )) {
  // Process GPS data
}