Piloter un garmin forerunner
Piloter un garmin forerunner
Dernière modification le 2 novembre 2012
Présentation
Cette page a pour objet de présenter les outils permettant de
piloter
un garmin forerunner sous linux, en particulier comment récupérer et
visualiser les trajets et uploader des fichiers de point vers le GPS.
Vous pouvez trouver sur internet un certain nombre de sites qui
proposent des traces GPS, cela permet de préparer une sortie et
notamment d'uploader la trace dans le GPS afin de la suivre. Parmi ces
sites, on peut citer
http://www.utagawavtt.com/ et
http://www.tracegps.com/.
Je dispose pour cela d'un garmin forerunner 205.
quand on branche le forerunner voilà ce qu'on peut observer dans le fichier
/var/log/messages
Nov 2 11:01:07 huahine kernel:
[ 171.093636] garmin_gps ttyUSB0: Garmin GPS usb/tty converter
now disconnected from ttyUSB0
Nov 2 11:01:07 huahine kernel: [ 171.093656] garmin_gps 1-1.1:1.0: device disconnected
Nov 2 11:01:09 huahine kernel: [ 172.806276] usb 1-1.1: new full-speed USB device number 5 using ehci_hcd
Nov 2 11:01:09 huahine kernel: [ 172.892888] usb 1-1.1: New USB device found, idVendor=091e, idProduct=0003
Nov 2 11:01:09 huahine kernel: [ 172.892893] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Nov 2 11:01:09 huahine kernel: [ 172.893391] garmin_gps 1-1.1:1.0: Garmin GPS usb/tty converter detected
Nov 2 11:01:09 huahine kernel: [ 172.893610] usb 1-1.1: Garmin GPS usb/tty converter now attached to ttyUSB0
par défaut on peut trouver sur n'importe quelle distribution linux
moderne le module
garmin_gps dont on peut visualiser le chargement en
tapant
lsmod|grep garmin
voilà le résultat
garmin_gps 23105 0
usbserial 47070 1 garmin_gps
usbcore
207173 9
ehci_hcd,usb_storage,usbhid,usbserial,garmin_gps,snd_usbmidi_lib,snd_usb_audio,uvcvideo
Au branchement un fichier
/dev/ttyUSB0 est créé automatiquement, voici le mien
crw-rw---- 1 root dialout 188, 0 nov. 2 10:52 /dev/ttyUSB0
Si
vous avez des problèmes de droit d'accés sur le port USB, il sera sans
doute utile de rajouter votre utilisateur dans le groupe
dialout et
lp (fichier
/etc/group) ou bien encore de taper (il faudra le faire à chaque fois) en tant que root
chmod 666 /dev/ttyUSB0
lsusb me donne
Bus 001 Device 005: ID 091e:0003 Garmin International GPS (various models)
On crée ensuite un fichier
/etc/udev/rules.d/51-garmin.rules contenant
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="0666"
et on rajoute au fichier
/etc/modprobe.d/blacklist-mga.conf (pour une mageia 2) la ligne
blacklist garmin_gps
Installation de Google Earth
On commencera par installer
GoogleEarth qui est utilse pour visualiser
les trajets. On récupérera une version binaire à cette adresse
http://www.google.fr/earth/index.html
j'ai choisi le rpm 64 bits qu'on installera de manière classique avec urpmi
Garmintools
Installation
Garmintools est un ensemble d'utilitaire permettant de piloter
spécifiquement les GPS garmin, on installera préalablement la bibliothèque
lib64usb-devel. On récupèrera ensuite
garmintools à l'adresse suivante
http://code.google.com/p/garmintools/downloads/list. On décompresse
l'archive en tant
tar xvfz garmintools-0.10.tar.gz
Cela donne le répertoire
garmintools-0.10 dans lequel on tape
./configure --with-pic
make
A noter que l'option
--with-pic est nécessaire en architecture 64 bits. Puis en tant que root
make intall
Utilisation
La commande
garmin_get_info permet d'obtenir des infos sur le périphérique, voilà le résultat
<garmin_unit id="e3cf5040">
<garmin_product id="484" software_version="2.90">
<product_description>Forerunner205 Software Version 2.90</product_description>
</garmin_product>
<extended_data_list>
<extended_data>SIRFGPS N/A a
</extended_data>
</extended_data_list>
<garmin_protocols>
<garmin_physical protocol="P000"/>
<garmin_link protocol="L001"/>
<garmin_command protocol="A010"/>
<garmin_waypoint>
<garmin_waypoint_waypoint protocol="A100" waypoint="D110"/>
</garmin_waypoint>
<garmin_route protocol="A201" header="D202" waypoint="D110" link="D210"/>
<garmin_track protocol="A302" header="D311" data="D304"/>
<garmin_almanac protocol="A500" almanac="D501"/>
<garmin_date_time protocol="A600" date_time="D600"/>
<garmin_position protocol="A700" position="D700"/>
<garmin_pvt protocol="A800" pvt="D800"/>
<garmin_lap protocol="A906" lap="D1015"/>
<garmin_run protocol="A1000" run="D1009"/>
<garmin_workout>
<garmin_workout_workout protocol="A1002" workout="D1008"/>
<garmin_workout_occurrence protocol="A1003" occurrence="D1003"/>
<garmin_workout_limits protocol="A1005" limits="D1005"/>
</garmin_workout>
<garmin_fitness protocol="A1004" fitness="D1004"/>
<garmin_course>
<garmin_course_course protocol="A1006" course="D1006"/>
<garmin_course_lap protocol="A1007" lap="D1007"/>
<garmin_course_point protocol="A1008" point="D1012"/>
<garmin_course_limits protocol="A1009" limits="D1013"/>
</garmin_course>
</garmin_protocols>
</garmin_unit>
La commande
garmin_save_runs récupère les fichiers d'un forerunner et
les sauve dans le répertoire courant. L'extension des fichiers est
.gnm, c'est un fichier binaire qui peut être ensuite décodé par les
commandes
garmin_dump et
garmin_gmap. Les fichiers sont sauvegardés en
créant automatiquement les répertoires pour l'année et le mois. Voilà
ce que ça donne à l'exécution
Extracting data from Garmin Forerunner205 Software Version 2.90
Files will be saved in '/raiatea/video/embarque/test'
Wrote: /raiatea/video/embarque/test/2011/07/20110707T182216.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110710T143302.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110711T071437.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110716T101059.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110719T072116.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110720T080519.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110722T145846.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110723T152942.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110728T080944.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110730T143423.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110730T144217.gmn
Wrote: /raiatea/video/embarque/test/2011/07/20110731T144905.gmn
on peut changer l'emplacement de sauvegarde par défaut en modifiant la variable d'environnement
GARMIN_SAVE_RUNS
la conversion en fichier xml s'effectue avec
garmin_dump avec la syntaxe suivante
garmin_dump 20110731T144905.gmn > 20110731T144905.xml
garmin_gmap a la même syntaxe et permet de sauvegarder un fichier lisible par
googlemaps.
garmin_gpx a la même syntaxe et permet de sauvegarder un fichier lisible par
OpenStreetMap.
GPSBabel
Installation
GPSBabel convertit des points de passage (waypoint), des trajectoires
(tracks) suivant différents formats en entrée et en sortie. Le site
officiel est
http://www.gpsbabel.org/. On y récupèrera l'archive qu'on
décompressera en tapant
tar xvfz gpsbabel-1.4.4.tar.gz
Cela donne le répertoire
gpsbabel-1.4.4 dans lequel on tape successivement
./configure
make
puis en tant que root
make install
Utilisation
La syntaxe est la suivante
gpsbabel -i format d'entrée -f nom du fichier d'entrée -o format de sortie -F nom du fichier de sortie
On obtient la liste des formats à l'adresse suivante
http://www.gpsbabel.org/htmldoc-1.4.2/The_Formats.html
Pour le garmin on retiendra par exemple
Garmin Training Center (.tcx) (gtrnctr)
GPX XML (gpx)
Google Earth (Keyhole) Markup Language (kml)
Garmin serial/USB protocol (garmin)
La commande suivante permet de télécharger les fichiers d'un forerunner et de les sauver dans un fichier
.gpx
gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F fichier.gpx
La commande suivante permet d'uploader dans un forerunner un fichier d'entraînement
.tcx
gpsbabel -i gtrnctr -f fichier.tcx -o garmin -F /dev/ttyUSB0
Pour par exemple télécharger dans le forerunner une trace afin de pouvoir la suivre, généralement on récupère une trace
.gpx qu'il faudra convertir au format entraînement
.tcx comme ceci
gpsbabel -i gpx -f fichier.gpx -o gtrnctr -F fichier.tcx
Pour uploader il suffit ensuite de taper
gpsbabel -i gtrnctr -f fichier.tcx -o garmin -F /dev/ttyUSB0
Turtlesport
Installation
Turtlesport est une application permettant de télécharger les fichiers
d'un forerunner et de visualiser les données, pour cela il est même
interfacé à
google earth. Le site officiel est
http://turtlesport.sourceforge.net/FR/home.html. On y récupèrera
l'archive qu'on décompressera dans le répertoire
turtle-sport-1.2
préalablement créé
tar xvf turtlesport-linux-1.2.tar
on lance l'application en tapant dans ce répertoire
./turtlesport.sh on peut également créer le lien suivant
ln -s /usr/local/linux/web/turtlesport-1.2/turtlesport.sh /usr/local/bin/turtlesport
Utilisation
On configure l'appli à partir de l'icône de préférence (celle du
milieu), on télécharge ensuite les fichiers à partir de l'icone verte
la plus à gauche. Vous disposez ensuite de différentes fonctionnalités
plus ou moins intuitives permettant de visualiser vos exploits.
Une des fonctionnalités les plus intéressantes est le couplage directe
avec google earth à partir de la petite icône en haut à droite.
Mytourbook
Mytourbook est un outil similaire à
turtlesport, il dispose d'une
fonctionnalité intéressante qui permet sur un trajet de visualiser en
un seul coup d'oeil les différences de vitesse suivant la couleur
(copie d'écran ci-dessous). Le site officiel est
http://mytourbook.sourceforge.net/mytourbook/. On y récupèrera
l'archive qu'on décompresse en tapant
unzip mytourbook_12.6.1.linux.gtk.x86.zip
Cela donne le répertoire
mytourbook dans lequel on tape
./mytourbook
Plugin firefox garmin
Installation
Le plugin Garmin de
firefox vous permet de bénéficier des
fonctionnalités du site
connect.garmin.com. Vous pouvez y télécharger
vos courses, les visualiser et uploader des trajets vers le forerunner
tout cela à partir de votre navigateur. On installera préalablement le package
lib64tinyxml-devel. Le site officiel est
http://www.andreas-diesner.de/garminplugin/doku.php?id=source on y
téléchargera l'archive qu'on décompresse en tapant
tar xvfz adiesner-GarminPlugin-V0.3.12-0-gea7d0db.tar.gz
cela donne le répertoire
adiesner-GarminPlugin-072a60e on se déplace dans le répertoire des sources
cd adiesner-GarminPlugin-072a60e/src
et on tape successivement
./configure --with-garmintools-incdir=/usr/local/include --with-garmintools-libdir=/usr/local/lib
make
puis en tant que root, on copie le plugin dans le répertoire adéquat
cp npGarminPlugin.so /usr/lib64/mozilla/plugins/
Utilisation
Connectez vous maintenant à
connect.garmin.com, il faudra d'abord créer un compte, puis le personnalisez en choisissant notamment la langue française.
Si vous cliquez sur
Télécharger à partir d'un liste, vous obtenez tous les trajets présents sur votre forerunner
Mettant si on visualiser un trajet particulier on obtient des
informations très riches. Vous pouvez les garder privées ou les rendres
publiques sur le site de garmin.
Vous pouvez maintenant uploader des trajets vers le forerunner en choisissant
Téléchargement manuel dans ce cas il faut veiller à uploader des fichiers d'entraînement (
.tcx)
A noter qu'il faut souvent que je lance turtlesport préalablement avant qu'il ne voit mon forerunner.