Tk102 Server

Python server for tk102-2 compatible GPS trackers.
Alternatives To Tk102 Server
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
5 years ago59mitJavaScript
Google Map Gps Cell Phone Tracker
Jt8084603132 months ago67October 19, 2022mitC#
JT/T808 protocol,JT808 protocol, GB808 protocol (support 2011, 2013, 2019 version) JT/T808协议、JT808协议、GB808协议(支持2011、2013、2019版本)
3 days ago20gpl-3.0Kotlin
Open-source satellite tracker and pass predictor for Android, inspired by Gpredict
Android Location Tracker317
a year ago5mitKotlin
Android helper that tracks user location
2 years ago4Shell
4G/LTE softmod for the Parrot Disco
Gps Tracking Nodejs2181452 years ago20October 27, 201711mitJavaScript
Let you work with some GPS trackers that connects through tcp.
Ttgo Tbeam Ttn Tracker208
a year ago20gpl-3.0C++
TTGO T-Beam Tracker for TTN Mapper and TTN Tracker using US (915 MHz) and EU (868 MHz) frequencies
Jt808gateway159104 months ago35December 18, 20221mitC#
JT/T808 Gateway,JT808 Gateway, GB808 Gateway(support 2011, 2013, 2019 version) JT/T808网关、JT808网关、GB808网关(支持2011、2013、2019版本)
Nodejs Tk102112422 years ago12July 17, 20211unlicenseJavaScript
DEPRECATED - Server for Xexun/Coban TK102 GPS tracker devices - Anyone want to take over this project?
4 years ago60gpl-3.0Java
Private Android GPS tracker
Alternatives To Tk102 Server
Select To Compare

Alternative Project Comparisons


Server to handle the GPS strings sent by tk102-2/B compatible GPS trackers (tk103, tk104 ?).

The python script listens on a port and handles connections.

Implements the following protocol:

  1. tracker sends: ##,imei:_IMEI_,A;
  2. server responds: LOAD


  1. tracker sends: _IMEI_;
  2. server responds: ON


  1. tracker sends: imei:_IMEI_,tracker,1212220931,,F,083137.000,A,5620.2932,N,01253.7255,E,0.00,0;
  2. coordinates and other values are calculated and stored.

If server does not receive _IMEI_; every 90 seconds, it times out (after 182 seconds), and kills the thread handling the tracker.

Sending commands

A command can be send to a tracker by writing something to a file in the tracker's directory.

  • cmd : read by the thread for commands. After a command is read, the cmd file is copied to cmd_TIMESTAMP where TIMESTAMP is the current unix epoch timestamp. For example, 'echo "C600" > cmd' sets the interval on the tracker to 10 minutes. It sends the command: **,_IMEI_,C,600s to the tracker. The following are implemented:
  1. Cnnn : sets tracker interval to nnn seconds
  2. E : clears alarm message
  3. G : sets move alarm


Every new thread creates a tk102pid_PID directory which contains the following bookkeeping information:

  • last contains the PID of the process, the file's timestamp is used by main thread to check timeout. Each time a heart beat is received, the file is 'touched'.
  • imei contains the trackers imei number.
  • info last lat/lon/... received by tracker, in Python "pickle" format.
  • bytes total number of bytes received by and sent to the tracker.

After the tracker has disappeared, a file called exit is created in the directory to signify that the directory contents are no long "live". It will be removed on the next start-up of the server.


Protocol partly from this google doc



This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Popular Tracker Projects
Popular Gps Projects
Popular Networking Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.