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 :
A trier :
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.
Voir aussi :Navigation maritime
Avion ou modélisme.
Le GPS est par exemple couplé avec une carte mobile broadband (Exemple pour un Dell avec ID: 413c:818d Dell Computer Corp).
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.
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.
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.
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.
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
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
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).
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
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"; }
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
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
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
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
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
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
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"
Modèles :
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
Modèles : Supported :
Unsupported :
python-ant-downloader : https://github.com/braiden/python-ant-downloader
0) verifier si le paquet garmin-ant-downloader est disponible !!!
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/ 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
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
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
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
Apres utilisation il est possible de désactiver le mode garmin_gps avec la commande suivante:
sudo /sbin/rmmod garmin_gps
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 :
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.