Le mode GPRS du TK-102

0.00 avg. rating (0% score) - 0 votes
Partager:

Dans l’article précédent, j’ai expliqué que j’aime mon TK-102 qui ma permit de localiser et retrouvé ma voiture volé en quelques minutes. C’est surtout mon assurance qui à du être contente^^.

Par contre on ne peut pas suivre son itinéraire de cette façon ainsi on à pas pu voir ce qu’a fait ma voiture et donc identifier les personnes qui ont volé ma voiture plus facilement.

C’est ainsi que le tracker propose une option bien pratique: le mode GPRS qui permet de recevoir la position du traker presque en temps réel et j’ai décider d’y mettre en place!!! Le seul truck pas cool c’est qu’on reçoit pas les données comme on à l’habitude en GET ou POST, mais c’est pas si grave^^.
Pour l’activer, voila comment je fais:

Je reset le tracker pour remettre la conf par défaut(c’est mieux):


begin123456

Ensuite je définie l’apn pour se connecter au net, pour FreeMobile c’est tout simplement free:


apn123456 free

Ensuite on définie l’ip du serveur qui va recevoir les données et un port:


adminip123456 ip port

Pour finir on demande une position toute les 20 secondes:


t020s***n123456

Le serveur reçoit maintenant les données envoyé par le tracker. Pour voir qu’on reçoit bien les données, on peut utiliser netcat:


nc -vv -l -p port

Une trame reçus ressemble à ça:


150723104176,+33601020304,GPRMC,085931.000,A,4540.8835,N,00447.6083,E,0.00,234.40,250715,,,A*64,F,, imei:013949015332020,07,208.8,F:4.24V,1,140,18098,208,01,0703,AFD0

On a tout ce qu’il faut comme imei pour identifier le tracker si on en à plusieurs, l’altitude, latitude, longitude, vitesse, la date la trame… Bref le pied.

On peut maintenant tester rapidement pour voir ou est le tracker en prenant juste cette partie de la trame:


$GPRMC,085931.000,A,4540.8835,N,00447.6083,E,0.00,234.40,250715,,,A*64

Ce site permet de les décoder: http://rl.se/gprmc, mais c’est pas pratique.

Maintenant, il reste plus qu’a sauvegarder ces trames dans une BDD. Pour cela j’utilise un script python que j’ai lancé dans un screen:


import socket
import time
import MySQLdb

print 'On commence:'
	
conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
cursor = conn.cursor()
		

s = socket.socket()
host = socket.gethostname()
port = port
s.bind((host, port))
 
s.listen(5)
while True:
   c, addr = s.accept()
   RequeteDuClient = c.recv(1000)
   timetrame = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
   print 'Date: ', timetrame, '\nIP: ', addr, '\nTrame: ', RequeteDuClient
      
   ip_port = str(addr)
   trame = str(RequeteDuClient)
   # client=(ip_port, timetrame, trame)
   # print client, "\n"
   
   # sqlvar = 'Insert into gps Values(?, ?, ?)'
   sqlvar = ('Insert into gps(info, datetime, texte) Values(%s, %s, %s)')
   cursor.execute(sqlvar, (ip_port, timetrame, trame))
   
   
   c.close()

La seul chose à modifier c’est le port et les info de connexion pour la BDD.

Pour finir ? Traiter les trames, mais ça c’est une autre histoire ce qui va permettre plein de chose!!! Voila ce qu’on peut obtenir une fois les données traitées:

parcours tracker

parcours tracker

Chaque itinéraire à une couleur différente sur la map…

PS: je dev pas en python donc le code est pas forcément top, mais il marche.


Tous les codes sont testés et sont fonctionnels, si un de ces codes ne marche pas chez vous, merci de me le signaler.
Partager:
0.00 avg. rating (0% score) - 0 votes

Vous aimerez aussi...

Laisser un commentaire