ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[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
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 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

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

Valable à partir la version 8.04 de Ubuntu et ses dérivées

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
Dans le cas ou l acces au GPS ne serait pas possible il faut rajouter une règle udev pour donner les droits d'acces a 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 permet d'accéder au gps garmin (usb 091e:0003 ) sans privilège "root"

Utilisation en mode ttyUSB (Deprecated)

Cette méthode est obsolète depuis Ubuntu 8.04 Hardy Heron

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

Pages sur le GPS


gps.txt · Dernière modification: 2009/06/24 03:21 par quicky
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL