Ce programme permet de lire les données envoyées par le traceur GPS de marque TK-STAR. Vous pouvez l'acheter sur Internet pour une soixantaine d'euros.
Les données sont envoyés par le traceur au serveur à intervalle régulier. Vous pouvez configurer l'adresse IP du serveur et le port TCP avec la commande "adminip" envoyé par SMS au traceur.
Deux types de format de données sont utilisés par le traceur. Un format texte qui ressemble au format utilisé habituellement par les récepteurs GPS (NMEA) :
*HQ,4109179026,V1,201727,A,5037.7039,N,00304.6602,E,000.00,000,150117,FFFFFBFF,208,01,0,0,6#
Ce type de donnée n'est pas envoyé à l'intervalle donné, mais de manière aléatoire.
L'autre format de donnée est binaire et est envoyé à intervalle régulier (définit par la commande "upload" du traceur). La trame envoyée par le traceur en binaire à une longueur fixe de 45 octets et est décomposée ainsi :
0 : magic number (0x24)
1-5 : identifiant du traceur
6 : heure
7 : minute
8 : seconde
9 : jour
10 : mois
11 : année (deux chiffres)
12-16 : Latitude au format ddmm.mmmm
17-21 : Longitude au format ddmm.mmmm
22-24 : ?
25-28 : ?
29-37 : ?
38 : ?
39 : ?
40 : ?
41 : ?
42-44 : numéro de séquence
Exemple de trame exprimée en hexadécimal :
24:41:09:17:90:26:11:09:27:16:01:17:50:37:69:30:05:00:30:46:75:0e:00:00:00:ff:ff:fb:ff:ff:00:1e:04:00:00:00:00:00:d0:01:00:00:00:00:2e
En le décodant on trouve :
ID : 4109179026
Time : Sun Jan 17 11:09:27 2016
Latitude : 50.628217
Longitude : 3.077917
On peut remarquer que l'encodage des entiers et flottants est très particulier. Par exemple, l'heure (ici 17) est encodé en 0x17 (23 en décimale) et non 0x11 (17 en décimale). Pour la position, le format est décomposé ainsi : degré/partie entière de la minute/première partie de la partie décimale de la minute/seconde partie décimale de la minute. Par exemple la latitude 50°37.6930' (50.628217 ou 50°37'41.58'') est encodé par 50:37:69:30.