Table des matières

, ,

GPS

Le Global Positioning System (GPS) – que l'on peut traduire en français par « système de positionnement mondial » – est un système de géolocalisation fonctionnant au niveau mondial. En 2010, c'est le seul système de positionnement par satellites entièrement opérationnel et accessible au grand public.

D'autres système de positionnement existent

Voir aussi :

Logiciels utiles à l'utilisation d'un GPS

Logiciel généraliste

A trier FIXME:

Gps pour navigation automobile

Navigation automobile ou autre véhicule.

A noter que de plus en plus de GPS peuvent se connecter sur Wifi pour leurs mises à jour et que la question de la compatibilité avec le système d'exploitation de votre ordinateur ne se pose plus.

Gps pour navigation maritime

Voir aussi :Navigation maritime

Gps pour avion

Avion ou modélisme.

Gps pour Sport

Autres logiciels

Installation d'un périphérique gps

Intégré au portable

Le GPS est par exemple couplé avec une carte mobile broadband (Exemple pour un Dell avec ID: 413c:818d Dell Computer Corp).

Fonctionnement de base

Par défaut, le driver crée trois interfaces :

Pour initialiser le GPS, dans le terminal, taper :

screen /dev/ttyACM0

Une fois connecté à l'interface série, taper :

AT*E2GPSCTL=1,1,1

Cela a pour effet, dans l'ordre, de démarrer l'envoi de trames NMEA sur /dev/ttyACM2, avec un intervalle de 1 seconde et d'activer le DGPS.

Pour voir les trames NMEA, fermer screen (touches CTRL+A puis touche K et Y pour valider). On ouvre maintenant l'interface /dev/ttyACM2 :

screen /dev/ttyACM2

Puis, pour activer :

AT*E2GPSNPD

Les trames doivent apparaître. Si vous allez à l'extérieur, au bout de quelques minutes, vous aurez une position GPS.

Néanmoins, avec cette méthode, on ne peut pas faire fonctionner le GPS avec gpsd.

Fonctionnement avec gpsd

Le démon gps ne prend pas en charge nativement cette carte GPS car il faut, pour activer les trames, envoyer une commande AT. Il faut donc installer un démon supplémentaire : mbm-gpsd

N'ayant pas de paquets pour Ubuntu, il faut donc compiler soi-même ce logiciel.

Installation manuelle

FIXME liste des dépendances à installer

Les instructions suivantes reprennent celles du wiki du projet.

Dans un terminal exécuter les commandes suivantes :

git clone git://mbm.git.sourceforge.net/gitroot/mbm/mbm-gpsd
cd mbm-gpsd
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install

Lors de la commande autogen, il y aura probablement des erreurs. Installer les paquets manquants, la difficulté étant qu'ils apparaissent un par un et que le fichier README est muet à ce sujet.

Pour avoir une interface graphique, il faut procéder à l'installation de mbm-gps-control.

Dans un terminal exécuter les commandes suivantes :

git clone git://mbm.git.sourceforge.net/gitroot/mbm/mbm-gps-controm
cd mbm-gps-control
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install

Même remarque que précédemment, des dépendances peuvent manquer.

Configuration de gpsd

Avant tout, il faut installer les paquets suivants : gpsd gpsd-clients. Le démon mbm-gpsd va créer une interface /dev/gps0. Il faut que la configuration du démon soit mise à jour. Pour cela, dans un terminal taper :

sudo dpkg-reconfigure gpsd

Et rentrer, quand demandé, le chemin de l'interface : /dev/gps0.

Lancement du GPS

Pour que les changements précédents prennent effet, redémarrer l'ordinateur (ceci est dû à l'utilisation de udev).

Lancer l'application mbm-gps-control (normalement située dans le menu).

Au besoin, lancer le démon mbm-gpsd :

sudo mbm-gpsd

Pour voir la constellation des satellites, utiliser xgps :

xgps

Connexion par USB

Commencez par installer les paquets gpsd et gpsd-clients.

Pour tester l'acquisition des signaux gps, lancer dans un terminal xgps ou gpsmon /dev/ttyUSB0 ou /dev/ttyACM0. Les données satellite ou gps devraient apparaître.

Voir aussi :Comment faire communiquer GPS et PC

Connexion par Bluetooth

Reconnaissance du périphérique gps bluetooth

Si votre GPS est un modèle bluetooth, il supporte très probablement le protocole nmea, qui est un standard pour échanger les données GPS, sur un port de type série. Voici comment établir la connexion série (port COM) avec votre GPS bluetooth.

Lancer la commande suivante pour détecter le GPS bluetooth :

hcitool scan

Vous obtiendrez les périphériques bluetooth disponibles. Notez l'adresse MAC de votre GPS (de la forme XX:XX:XX:XX:XX:XX).

Connectez le GPS avec la commande suivante :

rfcomm connect 0 <adresse_MAC_GPS>

Vous pouvez maintenant paramétrer le GPS en utilisant le port série (généralement /dev/rfcomm0) donné par la commande précédente (arrêter la commande pour couper la connexion au GPS).

Automatisation de la procédure de reconnaissance

Si vous voulez automatiser la reconnaissance du périphérique GPS, il vous faut connaitre le canal utilisé par celui-ci. Tapez la commande :

sdptool browse <adresse_MAC_GPS>

Celle ci retourne (dans mon cas, pour un GPS Holux GPSlim 256) :

 sdptool browse 00:0B:0D:6F:B9:FC
Browsing 00:0B:0D:6F:B9:FC ...
Service Name: SPP slave
Service Description: Bluetooth SPP V1.52
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)"
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Le canal utilisé est le 1 (ligne : "Channel: 1")

L'automatisation de la procédure de reconnaissance du périphérique bluetooth, nécessite l'édition du fichier /etc/bluetooth/rfcomm.conf

Dans mon cas il contient uniquement :

rfcomm4 {
  bind yes; 
  device 00:0B:0D:6F:B9:FC; 
  channel 1; 
  comment "Serial Port"; 
}
Ici, le port série virtuel utilisé est le 4. Le numéro device correspond à l'adresse mac du gps. Le canal est le 1.

Relancez le démon bluetooth :

/etc/init.d/bluetooth restart

Votre périphérique doit alors être reconnu automatiquement. Dans ce cas, vous n'avez plus à taper la commande :

rfcomm connect 4
Le chiffre 4 correspond au port série virtuel.

Celle ci retourne ce message :

Can't create RFCOMM TTY: Address already in use

La connection étant déjà définie entre le périphérique et le port série 4. Ensuite, il faut installer le démon apt://gpsd chargé de faire le lien entre le périphérique gps et les applications chargées de valoriser les données du périphérique. Ensuite lancez la connection entre le port série et le démon :

gpsd /dev/rfcomm4

Ensuite installez une application pour vérifier le bon fonctionnement, par exemple l'application xgps fournit par le paquet apt://gpsd-clients :

Lancer l'application :

xgps

Garmin

Dans la gamme des GPS Garmin on peut distinguer les modèles disposant d'une carte mémoire, qui seront souvent détectés par le système comme des périphériques de stockage de masse USB, des modèles ne disposant pas de carte mémoire (série Forerunner par exemple) qui nécessiteront l'utilisation d applications spécifiques, telles que gpsbabel, pour accéder à leur contenu.

Connexion de type filaire : USB/SERIE Connexion de type sans fils : ANT+ ou ANT FS

Modèles avec carte mémoire

Par exemple le GPS garmin etrex Vista Cx Si la commande lsusb vous montre que le matériel est bien connecté, vous pouvez accéder aux données de la carte mémoire de votre GPS en allant dans

FIXME Menu > Réglage > Interface, puis valider l'option Mémoire de masse USB.

Vous aurez alors accès aux données de la carte mémoire comme sur une clé USB

Modèles sans carte mémoire

Utilisation en mode USB natif

Les GPS Garmin sont gérés directement par le noyau ce qui a entrainé le blacklistage du module garmin_gps qui était utilisé auparavant pour rattacher le GPS au périphérique /dev/ttyUSBx

Dans la pratique il faut maintenant se référer a usb: plutôt qu'à /dev/ttyUSBx par exemple dans la ligne de commande de gpsbabel :

gpsbabel -i garmin -f usb: -o gpx -F /home/votre_dossier_personnel/geocaching.gpx
Dans le cas ou l'accès au GPS ne serait pas possible il faut rajouter une règle udev pour donner les droits d'accès à l'utilisateur.

La commande lsusb permet d'obtenir les IDs vendeur et produit de notre GPS

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 091e:0003 Garmin International GPSmap (various models)
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Il faut ensuite créer en mode administrateur le fichier /etc/udev/rules.d/51-garmin.rules et y ajouter

SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", MODE="666"

Ceci permet d'accéder au gps garmin (usb 091e:0003 ) sans privilège "root"

Depuis la version 12.04 (precise pangolin), cette ligne de code doit être remplacée par

SUBSYSTEM=="usb", ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="0666"
Utilisation en mode ttyUSB (Deprecated)
Les GPS Garmin étant gérés nativement par le noyau depuis Ubuntu 8.04 Hardy Heron le module garmin_gps a été blacklisté rendant ainsi cette méthode obsolète dans la plupart des cas. Cependant certaines applications n'ayant pas été mises à jour recherchent toujours le GPS sur /dev/ttyUSBx. Si elles ne permettent pas de spécifier le port de rattachement du GPS il peut être nécessaire de revenir a l'ancien use model.

Garmin Forerunner avec connexion ANT-FS :

Modèles :

GFrun

Le Script GFrun permet d'automatiser l'installation et la configuration des forerunner ANT-FS sous linux : https://github.com/xonel/GFrun

GFrun =

wget -N https://github.com/xonel/GFrun/raw/GFrun/GFrun/install/GFrunMenu.sh
chmod a+x GFrunMenu.sh
sudo sh ./GFrunMenu.sh

Forum : http://forum.ubuntu-fr.org/viewtopic.php?id=1267521

Garmin Forerunner avec connexion ANT +

python-ant-downloader

Modèles : Supported :

Unsupported :

python-ant-downloader : https://github.com/braiden/python-ant-downloader

garmin-ant-downloader

0) verifier si le paquet garmin-ant-downloader est disponible !!!

RQ: sous Ubuntu 12.04.2 garmin-ant-downloader est present dans le depots officiel version 0:20110626-1 Dans ce cas les étapes suivantes sont inutiles, il suffit d'installer : garmin-ant-downloader

Les dernières générations de GPS Garmin utilisent une connexion sans fil avec une clé USB (ANT) il est donc nécessaire de compiler un module qui va permettre la communication avec le GPS

1) recupération des sources http://cgit.gromotion.com/cgit.cgi/gant/tree/ FIXME lien HS

2) Compiler installer

./configure
make
sudo make install

3) Utilisation

3.1) Apparemment, il est nécessaire d’apparier la clé et le GPS

./gant -f paul -a auth405

devrait faire apparaître un message sur le GPS qui vous demandera de confirmer la connexion

3.2) Téléchargement des traces

./gant -nza auth405 > output.tcx
Exemple de gpsd

La plupart des applications utilisant une géolocalisation en temps réel utilisent le démon gpsd. Celui-ci fait partie des applications ne gérant pas les périphériques USB et ayant encore besoin d'accéder au GPS à travers le port série. Voici comment procéder pour l'utiliser avec votre GPS Garmin

Activer le module garmin_gps ( blacklisté depuis Hardy Heron )

sudo /sbin/modprobe garmin_gps
Lorsque vous branchez votre GPS vous devriez maintenant voir un fichier de type ttyUSB dans votre répertoire /dev/

Monter le file system usbfs pour que gpsd puisse avoir l'accès en lecture au périphérique USB

mount -t usbfs none /proc/bus/usb
Si vous omettez le montage d'usbfs gpsd ne pourra pas lire les trames envoyées par le gps et se figera sans que vous puissiez le killer

Lancer gpsd en mode debug et foreground ( option -N ) pour s'assurer qu'il reçoit bien les trames du GPS

$gpsd -nN -D3 /dev/ttyUSB0
gpsd: launching (Version 2.38)
gpsd: listening on port gpsd
gpsd: Unable to start ntpshm.  gpsd must run as root.
gpsd: successfully connected to the DBUS system bus
gpsd: running with effective group ID 1000
gpsd: running with effective user ID 1000
gpsd: opening GPS data source at '/dev/ttyUSB0'
gpsd: speed 9600, 8N1
gpsd: ntpd_link_activate: 0
gpsd: gpsd_activate(1): opened GPS (5)
gpsd: Garmin Product ID: 484, SoftVer: 2.80
gpsd: Garmin Product Desc: Forerunner205 Software Version 2.80
gpsd: Unknown packet id: 0xf8, Sz: 0x24, pkt:5349524647505320475343336620536f6674776172652056657273696f6e20332e303000
gpsd: Appl, Product Capability, sz: 168
gpsd:   P000
...
gpsd:   Sat  14, snr:  1320, elev: 32, Azmth:  53, Stat: 5
gpsd:   Sat  28, snr:  2610, elev: 21, Azmth: 284, Stat: 14
gpsd:   Sat  11, snr:  1760, elev: 74, Azmth: 299, Stat: 5
gpsd:   Sat  19, snr:  1800, elev: 40, Azmth: 161, Stat: 5
gpsd:   Sat  20, snr:  4370, elev: 43, Azmth: 238, Stat: 15
gpsd:   Sat  32, snr:  2690, elev: 71, Azmth: 229, Stat: 15
gpsd:   Sat   3, snr:  -100, elev: 13, Azmth: 160, Stat: 4
gpsd:   Sat   6, snr:  -100, elev:  5, Azmth: 153, Stat: 4
gpsd:   Sat  17, snr:  -100, elev: 11, Azmth: 319, Stat: 4
gpsd:   Sat  22, snr:  -100, elev:  5, Azmth:  55, Stat: 4
gpsd:   Sat  23, snr:  -100, elev:  4, Azmth: 187, Stat: 4
gpsd:   Sat  26, snr:  -100, elev: 14, Azmth:  35, Stat: 4
gpsd: UTC Time: 1251757661.000000
gpsd: Geoid Separation (MSL-WGS84): from garmin 48.602299, calculated 48.602264
gpsd: Alt: 279.520, Epe: 15.931, Eph: 19.600, Epv: 12.560, Fix: 3, Gps_tow: 167276.000000, Lat: 45.186, Lon: 5.719, LonVel: 0.506, LatVel: 0.851, AltVel: -0.440, MslHgt: -48.602, Leap: 15, GarminDays: 7182
gpsd:   Sat  14, snr:  1300, elev: 32, Azmth:  53, Stat: 5
gpsd:   Sat  28, snr:  2610, elev: 21, Azmth: 284, Stat: 14
gpsd:   Sat  11, snr:  1740, elev: 74, Azmth: 299, Stat: 5
gpsd:   Sat  19, snr:  1790, elev: 40, Azmth: 161, Stat: 5
gpsd:   Sat  20, snr:  4360, elev: 43, Azmth: 238, Stat: 15
gpsd:   Sat  32, snr:  2680, elev: 71, Azmth: 229, Stat: 15
gpsd:   Sat   3, snr:  -100, elev: 13, Azmth: 160, Stat: 4
gpsd:   Sat   6, snr:  -100, elev:  5, Azmth: 153, Stat: 4
gpsd:   Sat  17, snr:  -100, elev: 11, Azmth: 319, Stat: 4
gpsd:   Sat  22, snr:  -100, elev:  5, Azmth:  55, Stat: 4
gpsd:   Sat  23, snr:  -100, elev:  4, Azmth: 187, Stat: 4
gpsd:   Sat  26, snr:  -100, elev: 14, Azmth:  35, Stat: 4
gpsd: UTC Time: 1251757661.000000
gpsd: Geoid Separation (MSL-WGS84): from garmin 48.602299, calculated 48.602264
gpsd: Alt: 279.520, Epe: 15.931, Eph: 19.600, Epv: 12.560, Fix: 3, Gps_tow: 167276.000000, Lat: 45.186, Lon: 5.719, LonVel: 0.506, LatVel: 0.851, AltVel: -0.440, MslHgt: -48.602, Leap: 15, GarminDays: 7182
...

Lancer gpsd en tâche de fond

$gpsd /dev/ttyUSB0

Il est maintenant possible de lancer les applications basées sur gpsd, elles se connecteront directement au démon pour récupérer les coordonnées GPS. Vous pouvez par exemple faire le test avec l'application xgps fournie par le paquet apt://gpsd-clients qui affiche graphiquement le contenu des trames GPS :

xgps
Une capture d'écran de xgps est disponible en haut de la page

Apres utilisation il est possible de désactiver le mode garmin_gps avec la commande suivante:

sudo /sbin/rmmod garmin_gps

Installation des radars français du site Tomtomax

1) Wine :
Installer ce logiciel Linux, puis Wine / Configure / Applications / Version de Windows = XP
Accès : par les installeurs Ubuntu Synaptic ou KPackageKit

2) DLL msvcp60 :
Télécharger son archive (zip), puis extraire la dll du zip (par exemple par Ark ou par le menu contextuel du fichier téléchargé), puis déplacer ce fichier « dll » sous « ~/.wine/drive_c/windows/system32/ » (ou system tout court) : le dossier contenant les dll.
Renommer le fichier en minuscules (si nécessaire). Nota : « ~ » représente le dossier « home ».
Accès (par exemple) : depuis http://www.dll-files.com/pop.php?dll=msvcp60)

3) Logiciel POI Loader :

Fonctionnait avec la version 2.5.2 (de 2008). Installation impossible de POI Loader avec la version actuelle qui est la 2.7.3

Télécharger puis exécuter l'installation du logiciel « POI Loader » (« for windows » donc par wine).
Accès : http://www8.garmin.com/support/download.jsp

4) Logiciel Sox :
Télécharger l'archive de sa version 14.0.1 (zip), puis extraire l'exe du zip (par exemple par Ark ou par le menu contextuel du fichier téléchargé).
Déplacer ce fichier « exe » sous « ~/.wine/drive_c/Program Files/Garmin/POI Loader/ » (= dans le même dossier que POI Loader).
Accès : http://sourceforge.net/projects/sox/files/sox/14.0.1/sox-14.0.1.zip/download

5) Créer un dossier « radars » :
Sous « ~ » (home, par exemple)

6) Tomtomax :
S'inscrire puis se connecter au forum tomtomax, puis télécharger les archives (zip) des fichiers CSV, BMP et MP3 ou WAV selon le modèle de votre GPS (cf. explications sur la page référencée ci-dessous).
Extraire tous les fichiers des archives téléchargées et les déplacer sous « ~/radars »
Accès inscription : http://www.tomtomax.fr/forum/ucp.php?mode=register,
Accès téléchargement : http://www.tomtomax.fr/forum/viewtopic.php?f=184&t=19734

7) Exécuter le logiciel POI Loader, par Wine / Programmes / Garmin) :
En appliquant rigoureusement la procédure suivante, à partir de l'étape « 7) », en sélectionnant le dossier « Mes documents / Radars » (Nota : « Mes documents » = « ~ »).
Notamment : mode « manuel », valider par « Suivant » et non pas par « Entrée », et respecter les consignes de sélection des avertissements.
Accès : http://www.sorcieremonique.com/t4259-installer-la-version-garmin-des-radars-francais-du-site-tomtomax
Nota : ce lien est la procédure complète applicable en mode Windows.

8) Mises à jour de la base de données :
il suffira de répéter les étapes 6 et 7.

Voir aussi

Pages sur le GPS