[[gps]]
Piste: » gps
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 obtiendez 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 du périphérique gps bluetooth :
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
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 a leur contenu.
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
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
Depuis Hardy Heron les GPS Garmin sont gérés directement par le noyau ce qui a entraine 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: plutot 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 permet d'accéder au gps garmin (usb 091e:0003 ) sans privilège "root"
Utilisation en mode ttyUSB (Deprecated)
Les GPS Garmin étant gérés nativement par le noyau depuis Hardy Heron le module garmin_gps à été blacklisté. Cependant certaines applications n'ayant pas été mises a 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.
Logiciels utiles à l'utilisation d'un GPS
- gpsman: clone d'oziexplorer (au niveau fonctionnalité, pas au niveau mise en page) ce soft est présent dans les dépots et fonctionne en natif sous linux
- viking (brouillon): également présent dans les dépôts et fonctionne en natif sous linux ; utilise des fonds de cartes téléchargés automatiquement
- PyTrainer : logiciel de gestion d'entrainement sportif a partir de traces GPS
- TurtleSport : logiciel de gestion d'entrainement sportif a partir de traces GPS
- Prune : un logiciel, écrit en Java, pour visualiser, modifier et convertir des données géographiques issues de GPS.
- GPS Sport Trace : logiciel de gestion de trace GPS pour une utilisation sportive


