This is general post about Xexun TK102 GPS tracker and many of its clones. You’ll find here a bunch of useful information, including some tech specs, list of differences between original tracker and clones and some more.
The localizer and its clones
We’re talking about “Xexun TK102 Tracker” here. The original one, because there are many clones under other companies from China, selling similar hardware, with the same cover and logo, but with:
- lesser performance (able to report location once per 20-30 seconds, not once per 5 seconds),
- lesser information (lack of direction/bearing, altitude, number of satellites used for location fix and more),
- different format of data or non-standard protocols (unable to use UDP protocol, using non-standard data packets).
“Coban” / “Kintech” are just two of many clones sold on eBay etc., claiming to be original “Xexun” trackers.
On the other hand, original “Xexun” and some clones (like “Coban” for example) are harder to control from own script, because they require a correct answer from the server, where data is sent over GPRS. If unit does not receive such reply, it breaks connection. The cheapest unit does not have this checking and will always sent location data to specified IP address over provided port.
Possible buyer must be very careful (and should secure return policy, for which buying directly in China is not recommended) as there are many reports about sellers claiming to sell original “Xexun” device and sending a clone actually.
Though this device is five years old, it is still sold at many places (including eBay), but even at theses sources it is very hard to get anything worth for developers, except some simple, very basic user guide.
I have confirmed information (from two different sources) that there is no official API available for this device. The only option is to Google around, ask other users or use forums (see below).
If you own original “Xexun” localizer, you may try to contact company international departament and ask their technicians to include some changes to device source code and to send you updated firmware, with your changes – wow! That was confirmed by company itself.
I found a perfect forum for TK102 device, with a lot of questions and answers:
- here is a general forum on TK102 device (kept alive for 5 years with 174 pages and 2000+ posts!),
- here you’ll find more specific topic on receiving data from this localizer,
- this forum is also about TK102 unit, but it is entirely in French.
There are many other devices dissussed and in general, this is the biggest forum in the world, with topics for localizers and similar information.
GPRS Protocol Specs
In general, any TK102 related devices is opening a socket for a direct TCP transmission (original one can be switched to use UDP protocol). Data is being transmitted over port specified by user, in configuration and using GPRS only (requires SIM card with enabled GPRS, there is no way to use WiFi).
Sending frequency, format and amount of data being send, entirely depends on kind of device is being used — it is more extensive and more configurable in original one than in clones.
Correct server response problem
Take into consideration, that many TK102 clones requires a correct response from the server after each data, it send. It breaks connection after sending some welcome garbage UDP packet, as it does not receive response, it waits for.
It is quite hard (quite impossible?) to find any guide to many of these clones, on what kind of responses server should sent. This often leads into situation of developer being unable to establish two-way communication between server and localizer. Many localizers are sold to be used only via SMS communication or throughs paid services that had signed and agreement with producer and received protocol specification that contains valid responses server should generate for particular TK102 clone.
Double check, if this is not source of problem, if you can’t communicate with your localizer from your app.
This is all the information, I managed to get up until now. I don’t found any API for this tracker so far. I found some technical documentation, but it did not helped me much in the area of programming this device on server-side. If you need more information, look around this blog or make Google your friend.