Nous sommes le Ven 20 Juin, 2025 12:24
Supprimer les cookies

Page 2 sur 3Précédent 1, 2, 3 Suivantrecherche logiciel pour piloter gps keymaze 300

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Jeu 10 Nov, 2011 10:02

Welcome vincenzo1234 sur Framasoft, :D

Je regarde tes trames serialmon...
janolap1

Avatar de l’utilisateur
Messages : 348
Géo : Bourges

Jeu 10 Nov, 2011 10:09

M'oui, je n'y pige pas grand-chose.
Avec SerialMon, tu ne peux pas lui dire de loguer dans un autre format ?

Ou plutôt, dans le menu View, tu n'as pas un mode d'affichage qui te donne des choses qui commencent par $PSRF ou GGA ou GLL ou GSA ou GSV ou RMC ou VTG ?
janolap1

Avatar de l’utilisateur
Messages : 348
Géo : Bourges

Jeu 10 Nov, 2011 10:29

merci pour l'accueil

mais je n'ai pas l'impression de trouver ce dont tu parles

au mieux, je l'ai en hexa, ascii, ou plain
mais à aucun moment je vois tes GGA....
vincenzo1234

Messages : 8

Jeu 10 Nov, 2011 10:31

En essayant avec SerialMon ton dump, je ne vois effectivement rien de probant...
Pourtant, il envoit bien des infos en clair.
J'imagine que l'on peut considérer que les infos sur la transmission son bien positionnées (sinon, on ne verrait rien en clair...)

En cherchant sur le web, il s'avère que le keymaze 500 a un protocole de communication propriétaire. Donc pas basé sur NMEA. Ca, c'est le point noir.
Il semble que certains ont réussi à le décoder : http://pypi.python.org/pypi/pykmaze/0.2.0
Python existe pour Windows, donc tu es sauvé !

Il existe un utilitaire qui le fait sous linux : gpsD4 : http://gpsd4.tuxfamily.org/

A lire aussi : http://linuxfr.org/news/une-interface-p ... sous-linux
janolap1

Avatar de l’utilisateur
Messages : 348
Géo : Bourges

Jeu 10 Nov, 2011 10:33

janolap1 a écrit:En essayant avec SerialMon ton dump, je ne vois effectivement rien de probant...
Pourtant, il envoit bien des infos en clair.
J'imagine que l'on peut considérer que les infos sur la transmission son bien positionnées (sinon, on ne verrait rien en clair...)

En cherchant sur le web, il s'avère que le keymaze 500 a un protocole de communication propriétaire. Donc pas basé sur NMEA. Ca, c'est le point noir.
Il semble que certains ont réussi à le décoder : http://pypi.python.org/pypi/pykmaze/0.2.0
Python existe pour Windows, donc tu es sauvé !

Il existe un utilitaire qui le fait sous linux : gpsD4 : http://gpsd4.tuxfamily.org/

A lire aussi : http://linuxfr.org/news/une-interface-p ... sous-linux


sauvé c'est un grand mot ! j'y comprend pas grand chose !
vincenzo1234

Messages : 8

Jeu 10 Nov, 2011 10:36

le lien que je mettais en 1ere page (top10.free)

semble l'avoir fait en vb. c'est qu'il a bien réussi à décoder les trames passées et recues
vincenzo1234

Messages : 8

Jeu 10 Nov, 2011 11:32

http://top10.free.fr/ ne donne rien chez moi...
Si il a décodé les trames, c'est effectivement réalisable.

Quand tu regardes le code python de pykmaze, tu te rend compte que la structure est compréhensible...
https://github.com/eblot/pykmaze/blob/m ... keymaze.py

Le mieux est de regarder en python comment ils ont codé le GPSD4 (code source dispo ici : http://download.tuxfamily.org/gpsd4/) et de le retranscrire dans un autre langage.

Enfin, je dis ça, mais je ne sais pas ce quel est ton niveau.

Tu sais programmer ?
janolap1

Avatar de l’utilisateur
Messages : 348
Géo : Bourges

Jeu 10 Nov, 2011 11:52

je débute

j'ai commencé à regarder les sources mais je seche vite.
dans ce code :


# Note: device use big-endian encoding
TP_CAT_FMT = '3B3BBIIHHBB2h3H' # 31
TP_HDR_FMT = 'IIIHHBBI' # 22
TP_ENT_FMT = 'iihHHB' # 15
INFO_FMT = '12s13x17s11sBBxBxBxBxBx3x3B16x'


je pige pas à quoi correspondent les dernières valeurs et donc comment les convertir
vincenzo1234

Messages : 8

Jeu 10 Nov, 2011 12:07

Non, regarde plutôt celui de gpsd4, qui est vraiment fait pour ton modèle.
Il n'est pas certain que le pykmaze fonctionne puisqu'il est prévu pour les modèles 500 et 700.

En fait, que fait le programme downloadkeymaze300.py du fichier gpsd4-1.0.6.tar.gz :
- Il initialise le port COM (fonction configure_serial_port)
- Ensuite en fonction de ce que l'on souhaite faire, par exemple récupérer les trackpoints (fonction read_trackpoints)
- Il envoit la séquence "qui va bien" au GPS pour lui dire "hé, je veux les trackpoints". Il lui envoit en binaire (pas du texte compréhensible par nous) le contenu du fichier firsttrackpoints.bin
- Et puis il écoute la réponse via la fonction read_track. C'est elle qui extrait (décode) les informations et les enregistre dans un fichier texte format GPX ou KML
- et il retourne à read_trackpoints pour passer à la trame suivante (on lui dit que l'on veut les infos suivantes en lui balançant nexttrackpoints.bin) et on retourne à read_track
- Quand il ne reçoit plus rien de valide, il ferme la connexion serie.

Voilà.

On peut faire cela dans n'importe quel langage qui sait : lire et écrire en binaire, sur un port série. Donc C, C++, VB, PHP, basic, ...
janolap1

Avatar de l’utilisateur
Messages : 348
Géo : Bourges

Jeu 10 Nov, 2011 13:10

en effet cela semble plus clair comme ca
hormis le contenu des fichiers binaires. (donc les commandes à passer)
comment les traduire en hexa ou ascii ?


vincenzo1234

Messages : 8

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit