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.
Disclaimer: We are not selling this device, we have simply tested it. Although you currently can't automatically track the location of items in Itefy, you are able to track location and usage manually using our mobile app. Sign up for a free trial of Itefy if you're looking for a professional equipment management system.
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!