• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

HOWTO: gpsdrive und gpsbabel für Garmin-GPS unter Linux

LX-OM

Geocacher
Hi!

Vielleicht nützt es jemandem: Hier eine Kopie einer email an einen Freund, welche ein kleines HOWTO geworden ist. Für Leute die ihr Garmin unter Linux nutzen wollen: zur Waypointanzeige auf Karten in gpsdrive, Realtimepositionsanzeige im Auto. Backups von Tracks und Waypoints (Routen sind auch möglich hierzu das Script von Roger anpassen, dazu gpsbabel --help für weitere Optionen. Ich benutze z. Zt. das Garmin GPSmap 60 CS.

Ich habe gerade erfolgreich gpsdrive (http://www.gpsdrive.cc) mit meinem GPSr im Simulationsmodus laufen lassen. (s. Bilder). Das coole an gpsdrive sind die kostenlosen Karten, die Du automatisch herunterladen kannst. Außerdem benutze ich gpsbabel zum backup von waypoints und tracks.
Nach einigen eigenen Experimenten (s. Anlage) hat roger mir das script gpsbak.sh geschrieben, welches Du nur an Deine Bedürfnisse anpassen müßtest.

Ok, jetzt mal eins nach dem anderen... :):

Du brauchst gpsdrive (ich habe 2.09 stabil hier laufen) und gpsbabel. Der Garmin-USB-Seriell-Konverter sollte bei jedem Standard-Kernel ab 2.6 als Modul zur Verfügung stehen.

Der Garmin-USB-Seriell-Konverter:
Wenn Du Dein GPSr per USB an deinen PC anschließt, solltest Du in den Systemnachrichten angezeigt bekommen, mit welchen Port Dein GPSr verbunden ist.

Dazu öffnest Du zuerst ein Terminalfenster, dann tippst Du den Befehl
tail -f /var/log/messages ein und schließlich schaltest dann dein GPSmap an... Du solltest dann so etwas wie das hier bekommen:
Code:
-- /var/log/messages --
...
Nov  1 10:16:06 notebook1 usb 1-1.3: new full speed USB device using uhci_hcd and address 4
Nov  1 10:16:07 notebook1 usb 1-1.3: configuration #1 chosen from 1 choice
Nov  1 10:16:07 notebook1 garmin_gps 1-1.3:1.0: Garmin GPS usb/tty converter detected
Nov  1 10:16:07 notebook1 usb 1-1.3: Garmin GPS usb/tty converter now attached to ttyUSB0
...

Hier ist ersichtlich, dass der usb/seriell-Konverter mein GPSr an die 1. "Serielle USB"-Schnittstelle: /dev/ttyUSB0 gehängt hat. Gut so.

Ein überprüfen mit ls -l /dev/ttyUSB0 gibt Dir die Zugriffsrechte aus:
Code:
crw-rw---- 1 root tty 188, 0 Nov  1 10:54 /dev/ttyUSB0
Die Gruppe tty darf also lesen und schreiben...
id sven zeigt mir an, in welchen Gruppen ich Mitglied bin:
Code:
uid=1000(sven) gid=100(users) groups=100(users),5(tty),10(wheel),11(floppy),18(audio),19(cdrom),27(video),85(usb),250(portage),1002(plugdev)
Aha, ich bin also auch in tty... dann sollte es keine Probleme geben...

Da ich das zuerst nicht war, half ein gpasswd -a sven tty und ich war dabei. Kuser ist ein gute GUI dazu.

Nun habe ich also Zugriff auf die Schnittstelle.

gpsbabel (http://www.gpsbabel.org)
...gibt es nicht für jede Distri als Packet. Macht nichts. Es ist schnell heruntergelanden und unter SuSE damals war es ganz schnell und problemlos kompiliert. Unter Gentoo gab es ein package und auch hier gab es keine Probleme (warum auch?).
Nachdem ich verschiedene Dateien selbst ausprobiert habe. Hat mir roger ein vernünftiges Script geschrieben. Hierzu musst Du Dir
  • a) den Pfad für gpsbabel heraussuchen und eventuell anpassen ("locate gpsbabel")
    b) den Pfad zu Deinem GPSr (/dev/ttyUSBx) überprüfenc) Deine Verzeichnisse (.gpsbackup mit tracks, waypoints & backups als Unterverzeichnisse) anlegen, oder entsprechend abändern und auskommentieren:

    Code:
    #!/bin/bash
    # Used to backup my gps waypoints to file on disk.
    # Roger  roger at eskimo.com
    # CVS: $Header: /home/roger/repository/bin/gpswp-bu.sh,v 1.1 2005/07/17 22:38:57 roger Exp $
    
    # Variable Declarations
    shopt -s -o nounset
    declare -rx SCRIPT=${0##*/}
    declare -rx DEVICE="/dev/ttyUSB0"
    declare -rx FOLDER="$HOME/.gpsbackup"
    declare -rx GPSDRIVE="$HOME/.gpsdrive"
    # declare -rx GIS="$HOME/.gis"
    declare -i COUNTER
    declare -r gpsbabel="/usr/bin/gpsbabel"
    
    # Sanity Checks
    if test ! -x "$gpsbabel" ; then
    	printf "$SCRIPT:$LINENO: the command $gpsbabel is not available -\
    	please install app-misc/gpsbabel - aborting\n" >&2
    	exit 1
    fi
    
    if test ! -x "$FOLDER" ; then
    	printf "$SCRIPT:$LINENO: the folder $FOLDER does not exist -\
    	create it or change it - aborting\n" >&2
    	exit 1
    fi
    
    # Main
    
    # Timestamp-Setting:
    # - with hour/minute
    archive_date=$(date '+%d''%m''%Y''-%H''%M')
    # - without hour/minute
    # archive_date=$(date '+%d''%m''%Y')
    
    $gpsbabel -w -i garmin -f $DEVICE -o gpx -F $FOLDER/waypoints/waypoint_$archive_date.gpx
    $gpsbabel -t -i garmin -f $DEVICE -o gpx -F $FOLDER/tracks/track_$archive_date.gpx
    $gpsbabel -t -w -i garmin -f $DEVICE -o gpx -F $FOLDER/backups/backup_$archive_date.gpx
    $gpsbabel -i garmin -f $DEVICE -o gpsdrive -F $GPSDRIVE/way_$archive_date.txt
    # $gpsbabel -t -w -i garmin -f $DEVICE -o gpx -F $GIS/track_waypoint_$archive_date.gpx
    
    exit 0


    c) falls gpsdrive noch nicht installiert und noch nicht gestartet mit "mkdir .gpsdrive" das entspr. Verzeichnis anlegen kann, wo Dein script Dir die Waypoints zur Anzeige in gpsdrive way-timestamp.txt anlegen kann (In gpsdrive ist dann unter Einstellungen, Waypoints die zu verwendende Waypoint-Datei auszuwählen:
Bildschirmphoto1.jpg


gpsdrive
...ist bei vielen Distributionen enthalten. Hier muss lediglich folgende Einstellung vorgenommen werden:
Bildschirmphoto3.jpg




Und so sieht das bei mir aus...
Bildschirmphoto2.jpg


Hoffe es nützt jemandem.
Gruß,
LX-OM
 

pixel

Geonewbie
Hallo,

da ich mir ein GPSmap 60CSx von Garmin kaufen möchte habe ich eine Frage bezüglich der Streckenplanung unter Linux. Gibt es eine Software mit welcher ich unter Linux meine Strecke planen kann und den Track anschließend auf das Garmin-Gerät übertragen kann?
Ich werde das Gerät (zwecks wandern) mit der Topo-Deutschland kaufen. Habe ich dann irgend eine Möglichkeit die Streckenplanung am Rechner "auf" dieser Karte zu machen?

Viele Grüße
pixel
 
OP
L

LX-OM

Geocacher
Hi Pixel,

leider geht das mit den von mir vorgestellten Programmen nicht...

Vielleicht gibt es das ja mal.
Gruß,

LX-OM
 
Oben