| Versions |
 |
|
|
Note: You must be registered in order to post a reply. To register, click here. Registration is FREE!
|
| T O P I C R E V I E W |
| Quatrys |
Posted - 19 oct. 2010 : 09:07:52 Bonjour,
Dans un précédent topic, j'avais demandé que l'on m'aide sur comment récupérer les informations que m'envoie le trackeur GPS (Trackeur : TK-102).
Tous ca c'est OK !
Maintenant, il parait que je peux envoyer une comande à mon trackeur GPS, et recevoir la réponse.
La doc technique des trames : http://www.docstoc.com/docs/15682578...ker-and-Server
Mais le truc c'est comment envoyer cette commande ??
J'utilise PHP
Pour la réception des donnée j'utilise soket_read().
Et l'envoie de donnée, je me suis dit que c'est surement soket_write(), mais bon, en fesant cela j'écris pas au trackeur mais directement à mon serveur donc ca sert un peu à rien.
Comment écrire à mon trackeur, il à peut être une ip sécifique ? comment ca marche vous connaissez ?
Comment récupérer l'IP il y a la fonctionn socket_getpeername, mais comment on s'en sert ? ci-dessous le script qui me sert à récupérer les donnée Code :
<?php $ip = '127.0.0.1'; $port = 8050; $__server_listening = true; error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); declare(ticks = 1); become_daemon(); /* nobody/nogroup, change to your host's uid/gid of the non-priv user */ change_identity(65534, 65534); /* handle signals */ pcntl_signal(SIGTERM, 'sig_handler'); pcntl_signal(SIGINT, 'sig_handler'); pcntl_signal(SIGCHLD, 'sig_handler'); /* change this to your own host / port */ server_loop($ip, $port); /** * Change the identity to a non-priv user */ function change_identity( $uid, $gid ) { if( !posix_setgid( $gid ) ) { print "Unable to setgid to " . $gid . "!\n"; exit; } if( !posix_setuid( $uid ) ) { print "Unable to setuid to " . $uid . "!\n"; exit; } } /** * Creates a server socket and listens for incoming client connections * @param string $address The address to listen on * @param int $port The port to listen on */ function server_loop($address, $port) { GLOBAL $__server_listening; if(($sock = socket_create(AF_INET, SOCK_STREAM, 0)) < 0) { echo "failed to create socket: ".socket_strerror($sock)."\n"; exit(); } if(($ret = socket_bind($sock, $address, $port)) < 0) { echo "failed to bind socket: ".socket_strerror($ret)."\n"; exit(); } if( ( $ret = socket_listen( $sock, 0 ) ) < 0 ) { echo "failed to listen to socket: ".socket_strerror($ret)."\n"; exit(); } socket_set_nonblock($sock); echo "waiting for clients to connect\n"; while ($__server_listening) { $connection = @socket_accept($sock); if ($connection === false) { usleep(100); }elseif ($connection > 0) { handle_client($sock, $connection); }else { echo "error: ".socket_strerror($connection); die; } } } /** * Signal handler */ function sig_handler($sig) { switch($sig) { case SIGTERM: case SIGINT: //exit(); break; case SIGCHLD: pcntl_waitpid(-1, $status); break; } } /** * Handle a new client connection */ function handle_client($ssock, $csock) { GLOBAL $__server_listening; $pid = pcntl_fork(); if ($pid == -1) { /* fork failed */ echo "fork failure!\n"; die; }elseif ($pid == 0) { /* child process */ $__server_listening = false; socket_close($ssock); interact($csock); socket_close($csock); }else { socket_close($csock); } } function interact($socket) { /* TALK TO YOUR CLIENT */ $rec = ""; socket_recv($socket, $rec, 20480, 0); $parts = preg_split(',',$rec); $cnx = mysql_connect('localhost', 'user', 'password'); /* Array ( [0] => 0908242216 [1] => 0033663282263 [2] => GPRMC [3] => 212442.000 [4] => A [5] => 4849.0475 [6] => N [7] => 00219.4763 => E [9] => 2.29 [10] => [11] => 220809 [12] => [13] => [14] => A*70 [15] => L [16] => imei:359587017313647 [17] => 101Q [18] => ) */ $trackerdate = mysql_real_escape_string($parts[0]); $phone = mysql_real_escape_string($parts[1]); $gprmc = mysql_real_escape_string($parts[2]); $satelliteDerivedTime = mysql_real_escape_string($parts[3]); $satelliteFixStatus = mysql_real_escape_string($parts[4]); $latitudeDecimalDegrees = mysql_real_escape_string($parts[5]); $latitudeHemisphere = mysql_real_escape_string($parts[6]); $longitudeDecimalDegrees = mysql_real_escape_string($parts[7]); $longitudeHemisphere = mysql_real_escape_string($parts ); $speed = mysql_real_escape_string($parts[9]); $bearing = mysql_real_escape_string($parts[10]); $utcDate = mysql_real_escape_string($parts[11]); // = $parts[12]; // = $parts[13]; $checksum = mysql_real_escape_string($parts[14]); $gpsSignalIndicator = mysql_real_escape_string($parts[15]); if(ereg("imei",$parts[16])) { $imei = mysql_real_escape_string($parts[16]); $other = mysql_real_escape_string($parts[17].' '.$parts[18]); } else { $imei = mysql_real_escape_string($parts[17]); $other = mysql_real_escape_string($parts[18].' '.$parts[19]); } $imei = substr($imei,5); $other=$rec; mysql_select_db('tracker', $cnx); if($gpsSignalIndicator != 'L') mysql_query("INSERT INTO gprmc (date, imei, phone, trackerdate, satelliteDerivedTime, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, Bearing, utcDate, Checksum, gpsSignalIndicator, other) VALUES (now(), '$imei', '$phone', '$trackerdate', '$satelliteDerivedTime', '$satelliteFixStatus', '$latitudeDecimalDegrees', '$latitudeHemisphere', '$longitudeDecimalDegrees', '$longitudeHemisphere', '$speed', '$bearing', '$utcDate', '$checksum', '$gpsSignalIndicator', '$other')", $cnx); mysql_close($cnx); } /** * Become a daemon by forking and closing the parent */ function become_daemon() { $pid = pcntl_fork(); if ($pid == -1) { /* fork failed */ echo "fork failure!\n"; exit(); }elseif ($pid) { /* close the parent */ exit(); }else { /* child becomes our daemon */ posix_setsid(); chdir('/'); umask(0); return posix_getpid(); } } ?>
|
| 15 L A T E S T R E P L I E S (Newest First) |
| andreb42 |
Posted - 23 mai 2013 : 10:09:16 Bonjour
Mon tk 102
Affiche la latitude et longitude
comment faire pour avoir directement le lien google maps
|
| barbudor |
Posted - 13 mai 2013 : 22:41:13 Bonjour Cherche du coté de socket_send |
| msall |
Posted - 13 mai 2013 : 21:44:13 bonsoir j'ai le meme probleme que quartrys, je developpe en php,je peux recevoir via le serveur les donnees envoyées par le traceur et je voudrais savoir comment faire en php pour l'envoyer des commandes qui sont dans le protocol de communication$merci |
| barbudor |
Posted - 22 févr. 2013 : 20:06:32 La commande a été donné déjà dans de mes réponses a tes questions. C'est t ou fix suivant les marques. |
| bomomonet |
Posted - 21 févr. 2013 : 16:19:43 Bonjour a tous Voila l'avancement de mon affaire! sur le cite gps trace orange je reçois bien mon traqueur, par contre ? il y a t'il un mode poursuite.car il faut que je telephone ou que je fasse a retour la commande t****** pour que le traqueur transmet de nouveau la position. Par contre il y aurait il un tutos pour recevoir directement sur le pc sans passé par un serveur merci a tous |
| bomomonet |
Posted - 20 févr. 2013 : 07:51:56 Bonjour a vous tous Je viens de vérifier chez xexun apparemment mon imei pas dans leur liste ? j'essaye de voir chez coban si imei viens de chez eux!! merci |
| bomomonet |
Posted - 19 févr. 2013 : 19:37:15 ok merci infiniment j'essaye cela demain merci pour tout cela es vital pour moi
|
| Emeres |
Posted - 19 févr. 2013 : 18:37:06 Je crois que tu mélanges deux choses : vouloir faire ton propre serveur sur ton PC avec box à paramétrer ou utiliser le service de gps-trace qui est déjà prêt !
Pour ce dernier, tu crées ton compte puis tu rentres juste n° de téléphone et IMEI de ton traceur dans les paramètres sur leur site. Ensuite tu envoies des SMS à ton TK 102 (Xexun ou Coban, regarde ce qu'a dit Barbudor) pour lui déclarer le serveur de gps-trace : apn123456 free Réponse apn OK adminip123456 193.193.165.166 20157 Réponse adminip OK (tout ça pour xexun)
mts que tu as vu, c'est un exemple ! Ensuite demande au traceur une position toutes les 30 s par ex avec t030sn***123456 (si c'est un xexun --> teste son IMEI sur leur site xexun.com)
Et sur gps-trace, tu verras que ton traceur est "unitée connectée", et tu verras sa position toutes les 30 s. Magique !
Je ferai un mini tuto avec copie d'écrans demain, si je trouve le temps.
|
| bomomonet |
Posted - 19 févr. 2013 : 17:38:22 suite le numeros de tel +44*************** dois je le rentrer dans le tracker SMS admin+password+espace+N°téléphone +44************* ? L'Apn devient mts a la place de free?
Aie |
| bomomonet |
Posted - 19 févr. 2013 : 17:34:38 suite autre info qui me laisse perplexe! venant directement de gps trace Orange
IP du serveur: 193.193.165.166 Port du serveur: 20157 Numéro de téléphone du serveur: +447624804309 Afin GPS Trace d'Orange GPS gratuit service de suivi d'identifier correctement les données entrantes depuis Xexun TK-102 suivi dans les paramètres, utilisez les paramètres suivants: ID unique: IMEI (15 chiffres) Numéro de téléphone: Numéro de téléphone de la carte SIM périphérique au format international, à partir de '+'
Pour configurer l'objet, vous devez suivre ces étapes en envoyant des commandes SMS sur le tracker: "Begin123456" - réinitialise tous les réglages du contrôleur, mot de passe 123456 est fixé par défaut faire un appel au contrôleur, qui devrait attendre jusqu'à deux bips, briser l'appel et envoyer des SMS avec ses coordonnées "Apn123456 mts" - définit l'apn requis pour la configuration gprs "Apnuser123456 mts" - définit l'utilisateur pour la configuration gprs "Apnpasswd123456 mts" - définit le mot de passe pour la configuration gprs. Pour les équipements versions d'utilisateur et mot de passe sont définis avec une seule commande "admin123456 mts mts" "GPRS123456" - nous mettons en mode GPRS "Adminip123456 <IP> 20157" - définit l'adresse du serveur pour l'envoi de colis, <IP> remplacer pour IP du système de surveillance "T030s *** n123456" - définit l'intervalle de l'envoi de messages à 30 secondes. Pour les versions de nouveaux équipements de cette commande peut avoir le format suivant: "fix030s *** n123456"
Dois je modifier le port de la box pour orienté 20157 vers mon ip 1**.1**.*.** de mon ordi! je suis perdu... |
| bomomonet |
Posted - 19 févr. 2013 : 14:56:00 suite voila pour la redirection des ports tcp 12345 1**.1**.*.* 12345 reboot ok par contre sur nc espace -l espace -p espace 12345 toujours rien de plus une fenetre qui dur 4 a 6 secondes un message qui passe tre vite et rien d'autre? sur gps trace d'orange voici comment j'ai remplis:
* Nom: de 4 à 50 caractères bomomonet Type Terminal: xexun tk 102 ID unique: 35***************** Numéro de téléphone: n°carte sim 06.*********** Mot de passe d'accès Terminal: 123456 Créateur: bomomonet Compte: bomomonet j’espère que c'est cela sinon mea-culpa
|
| bomomonet |
Posted - 19 févr. 2013 : 14:14:09 Merci Barbudor
effectivement des erreurs: Bien entendu l'adresse ip de ma box est bien celle que vous avez citez. pas contre oui je penne sur la programmation de la box pour re diriger les ports. mauvaise interpretation je ne suis pas informaticien!
j'essaye de rectifier le tire sur upd
par contre cette commande Adminip123456 193.193.165.166 20157
il y a t'il une information complementaire pour ma box!!
Pour info quand je lance nc -l -p 12345 cela dur 5 a 6 secondes une phrase apparait un bref instant je ne sait pas la lire.
Désolé d'etre aussi Nul et merci |
| barbudor |
Posted - 18 févr. 2013 : 20:51:11 Traceur si Xexun
admin 069XXXXXX
tracker123456
apn123456 free
apnuser123456 free free <-- pas forcement necessaire pour free
adminip 95.1xx.1x.230 12345
t030s***n123456
Traceur si Coban
admin 069XXXXXX
track123456
apn123456 free
up123456 free free
adminip 95.1xx.1x.230 12345
gprs123456
fix030s***n123456
Pour les autres ? un mix des 2 ?
Etes vous sur que 95.1xx.1x.230 est la bonne IP de votre box ? Ce n'est pas celle dont vous postez sur le forum (82.2xx.1xx.1xx)
Coté freebox, ca devrait ressembler a cela
 Avec la bonne adresse du PC sur le réseau local, et en supposant que le port est bien 12345
Et la commande nc :
nc -l -p 12345 (moins L minuscule moins P minuscule 12345)
|
| Emeres |
Posted - 18 févr. 2013 : 20:37:20 Bonjour.
Tu as bien sûr envoyé les commandes suivantes : apn123456 free Réponse apn OK
adminip123456 193.193.165.166 20157
Réponse adminip OK du traceur ?
Je ne sais plus si c'est dans cet ordre, ou l'inverse.
Ton traceur est en extérieur et a fixé les satellites ?
Pour ma part, ça a fonctionné assez "vite"... |
| bomomonet |
Posted - 18 févr. 2013 : 14:32:54 Re voila je me suis inscrit sur gps-trace orange identifier imei, tel, etc mais je ne reçois toujour pas de localisation!!!! |
|
|
| This page was generated in 0,45 seconds. |
 |
|