Testing and configuring TK102B GPS & GPRS/GSM tracker to our own API

A GPS tracker gives you the location of your equipment at any time. It doesn't cost much, uses very little power and only needs a GSM/GPRS connection in addition to GPS satellite reception to work. Our goal was to make it talk to our own software (API), here's the result.

Updated

GPS tracker TK102B

The TK102b tracker is similar to TK102, TK102-2, TK103, TK103-2 and TK103-A/B/C, and can be purchested from multiple sources, like Amazon, eBay, AliExpress and similar. We bought ours from AliExpress for about $13, and it took about 3-4 weeks for it to arrive. 

The tracker is pre-programmed to work with an online tracking service, but it is also possible to configure it to send tracking data to a custom service. This is what we aim to do!
You can also communicate with it by just sending SMS messages with commands, both to configure it and to receive its current location as a Google Map link.

Specifications of the TK102B

Size 64mm x 46mm x 17mm(1.8”*2.5”*0.65”) 
Weight 50g
Network GSM/GPRS
Band 850/900/1800/1900Mhz 
GPS chip SIRF3
GPS sensitivity -159dBm
GPS accuracy 5m
Battery Chargeable changeable 3.7V 800mAh Li-ion battery
Standby time 80hours
Charging 5V micro-USB


First run

The TK102b seems like a well built, compact device, and it comes with a chargable battery and a micro-USB cable. Since we mostly want to use data (GPRS) and not som much SMS og voice, we've got a prepaid SIM card.

First, you need to disable the PIN code on the SIM card. Since the TK102b requires a full size SIM card, it's most convenient to use an old phone that also uses the full sized SIM card, so you don't have to break it up.

After charging the TK102b for about 30 minutes, we inserted the SIM card into it and powered it up, and it went online right away.

According to the manual, you can both call the device and send the command "smslink 123456" to the device, and then receive its status. We called it, but didn't receive any message. Then we sent the SMS command, only to receive "password err!" back. The solution was to write

smslink123456

in one word, without space between smslink and the passord (123456).

We then received a status message with the GPS position and a Google Maps link where we could check the position, and it turned out to be pretty accurate, only about 2 meters / 6 feet from its actual position.

Enabling internet access (GPRS)

Receiving position only through text messages is both expensive and inconveniente. Instead, using the mobile internet connection through GPRS is much better and cheaper, since it only spends a few kilobytes at most each time it reports the location. To be able to use data traffic, the device needs to be configured for it. First, you need to determine the APN name from our carrier. In our case, it was "telenor", so we sent a new text message to the device with the following content:

GPRS123456

We received "gprs ok!", the texted:

APN123456 telenor

receiving "apn ok!"

Checking if it works

Before setting up an API test suite of our own, you might want to make sure that it is online and sending data. Fortunatly, the device is set up to send data to a Chinese service called www.gps110.org by default. By logging in with the ID on the device, and the default password (123456), you are able to check if tracking is working.

In our case, it worked right away. Only a few minutes after the APN had been configured, the device had sent its position to gps110.org.

It also turned out that you can make configuration changes on the device from the website as well, which is good news, because it enables to manage (and do more advanced configuration) without having to send SMS commands. In other words, further configuration can the built into the API and even be automated!

Setting up an test API server and connect the device to our own system coming soon...

Published | Updated | By Morten TangerĂ¥s