hyper-world

Dein Browser scheint kein CSS 2.0 zu unterstützen. Daher ist der Großteil des Designs dieser Webseite deaktiviert. Wenn du einen CSS 2.0 kompatiblen Browser herunterladen möchtest, empfehle ich Mozilla Firefox.

Paperless Geocaching mit Linux

Hier möchte ich eine kleine Einführung ins Geocaching mit Linux geben. Ausgangslage sind ein Garmin eTrex Legend HCx GPS-Gerät, ein Apple iPod und ein Linux-PC mit openSuse 11. Ziel ist es ohne Ausdrucke anfertigen zu müssen Geocachen zu können.

Vorbereitungen

Damit die Verbindung per USB zur GPS-Einheit auch für einen normalen User und nicht nur root problemlos funktioniert, muss im Verzeichnis /etc/udev/rules.d/ eine Datei 51-garmin.rules angelegt werden (dazu werden natürlich root-Berechtigungen benötigt). Diese Datei muss folgenden Inhalt haben:

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

Kartenmaterial

Das eTrex Legend HCx hat eine Kartendarstellung, allerdings müssen detailierte Karten zuerst übertragen werden. Leider das MapSource-Programm von Garmin ein Windows-Program und es gibt kein freies Programm, dass in der Lage ist die geschützten Garmin-Karten zu übertragen. Trotzdem ist es möglich die Karten zu übertragen:

  1. Zuerst installiert man Wine. Ich habe es mit der Version 1.1.0 getestet.
  2. Zuerst lädt man sich die aktuelleste MapSource-Version von Garmin herunter.
  3. Diese installiert man dann mit Wine, indem man in das entsprechende Verzeichnis wechselt (Befehl: cd) und dann “wine MapSource_6137.exe” (Versionsnummer entsprechend anpassen und die Anführungszeichen natürlich weglassen) aufruft.
  4. Die von Garmin erworbenen MapSource-Karten, werden auf die gleiche Weise mit Wine installiert.

Wenn man einen Speicherkartenleser hat, mit dem man die MicroSD-Karte des eTrex beschreiben kann, ist das übertragen der Karten recht einfach. Karten in Kartenleser, an den PC Anschließen, MapSource aufrufen, Karten auswählen und dann kann man die Speicherkarte beim Übertragen als Wechseldatenträger auswählen.

Wenn man kein Kartenleser hat, ist es etwas komplizierter:

  1. Damit die MapSource-Software, das GPS-Gerät ansprechen kann, muss das Kernelmodul garmin_gps geladen sein. Wenn es nicht geladen ist, kann man dies als root mit dem Befehl “modprobe garmin_gps” tun, so fern das Modul installiert ist. Mit dem Befehl “lsmod | grep garmin_gps” kann geprüft werden, ob das Modul geladen ist. Wenn dieser Befehl keine Ausgabe liefert, so ist das Modul nicht geladen.
  2. Nun wechselt man in das Verzeichnis ~/.wine/dosdevices/ und löscht den symbolischen Link com1 (“rm com1″) und legt dann einen neuen link auf /dev/ttyUSB0 an (“ln -s /dev/ttyUSB0 com1″).

Diese Schritte hatten bei mir anfangs schon ausgereicht, um das GPS-Gerät mit der in Wine ausgeführten MapSource-Software ansprechen zu können. Dies klappte dann aber leider plötzlich ohne erkenntlichen Grund nicht mehr. Wenn ich das GPS-Gerät allerdings in den Massenspeicher-Modus versetzt habe (Einstellung > Schnittstelle > USB Massenspeicher), wurde es bisher bei mir immer problemlos in MapSource erkannt.

Man sollte beachten, dass das Übertragen der Karten bei beiden Art sehr lange dauert. Ich glaube, für ca. 300–400MB Kartenmaterial habe ich zwei Stunden benötigt. Wobei vor allem das Erstellen der Indexdaten lange dauert. Wenn man keinen Speicherkartenleser hat, dauert aber auch das Übertragen der Daten nochmal sehr lange. Unter Windows ist das ganze doch erheblich schneller.

Geocaches

Wo jetzt das Kartenmaterial auf dem GPS-Gerät vorhanden ist, kann es mit dem Geocaching losgehen. Koordinaten von Geocaches findet man auf www.geocaching.com und www.opencaching.de. Sehr viel praktischer finde ich in den meisten Fällen aber das Programm Cachwolf, welches diese beiden Seiten abfragen kann und die Caches in eine eigene Datenbank lädt.

In dieser Datenbank wähle ich dann alle Caches aus, deren Wegpunkte/Koordinaten ich auf das GPS übertragen möchte. Dann rufe ich Filter > Nichtmakierte ausfiltern auf und anschließend Anwendung > Export > nach GPX auf. In diese GPX-Datei werden dann die Koordinaten, Beschreibungen usw. gespeichert.

Der Wegpunkt-Name enthält allerdings jeweils nur die ID-Nummer. Um ein paar zusätzlich Informationen in diesen Namen zu speichern, nutze ich das Tool gpxrewrite aus den GPX Tools. Zuerst einmal muss man für gpxrewrite eine Konfigurationsdatei anlegen:

# Der Name von Wegpunkten ist bei dem eTrex Legend HCx auf 14 beschränkt:
Waypoint_Max_Length=14
# Die Beschreibung kann immerhin 30 Zeichen lang sein.
Desc_Max_Length=30

# Das Format für den Wegpunkt-Namen: C[ID-Nummer] [Größe][Typ] [Schwierigkeit]/[Terrain]
Waypoint_Format=%y%s d%d t%t %I

# Das Format für die Beschreibung: [GC-Name] by [Eigentümer]
Desc_Format=%N by %O

Nun kann man eine GPX-Datei mit folgendem Aufruf konvertieren:

gpxrewrite [Konfigurations-Datei] [Eingabedatei] [Ausgabedatei]

Die konvertierten Wegpunkt-Namen geben dann mit dem ersten Buchstaben den Cache-Typ und mit dem zweiten die Cache-Größe an. Dann folgen Schwierigkeit und Terrain auf einer Skala von 1 bis 10 mit vorangestelltem ‘d’ oder ‘t’. Schließlich folgt noch die ID-Nummer des Wegpunktes.

Übertragen

Nun sollen die Geocaches natürlich auf das GPS-Gerät übertragen werden. Dazu ist das Programm gpsbabel sehr hilfreich. Dabei ist es zu beachten, dass bei der Verwendung dieses Programms das Kernelmodul garmin_gps nicht geladen sein darf. Sollte es geladen sein, kann man als root “modprobe -r garmin_gps” ausführen. Um zu verhindern, dass das Modul beim Start geladen wird, kann man in der Datei /etc/modprobe.conf.local die Zeile “blacklist garmin_gps” hinzufügen (ohne Anführungszeichen).

Das Übertragen der Wegpunkte in der GPX-Datei erfordert dann nur einen Befehl, wobei es nicht nötig ist, das GPS-Gerät in den USB-Massenspeicher-Modus zu versetzen:

gpsbabel -i gpx -f [GPX-Eingabedatei] -o garmin,snlen=14 -F usb:

Alle auf dem Gerät vorhandenen Wegpunkte können übrigens mit “gpsbabel -i garmin -f usb:” angzeigt werden. Für alle weiteren Funktionen verweise ich auf die gpsbabel-Dokumentation.

Paperless Caching

Ziel war es natürlich auch noch keine Papierausdrucke anfertigen zu müssen. Um also die Cache-Beschreibungen auf meine iPod zu laden, verwende ich gpx2ipod. Der Aufruf ist ganz einfach “gpx2ipod [GPX-Eingabedatei]” und im aktuellen Verzeichnis wird dann ein neues Verzeichnis namens Geocaching angelegt. Dieses Verzeichnis kopiere ich dann komplett in das Notes Verzeichnis auf dem iPod (bei mir /media/IPOD/Notes/). Fertig!

Fazit

Es ist durchaus möglich ohne Windows die volle Funktionalität aus seinem Garmin GPS-Gerät zu holen. Auch Paperless-Caching ist recht komfortabel möglich. Evtl. bietet es sich an einige dieser Arbeitsschritte in einem kleinen Skript zu automatisieren, so dass durch einen Befehl die Waypoint-Namen in den GPX-Dateien konvertiert werden, die Wegpunkte auf das GPS-Gerät geladen werden und die Cache-Infos auf den iPod.

Möglicherweise werde ich in Zukunft auch noch eine weitere Anleitung verfassen, wie man nach der Geocaching-Tour die Tracks ausliest und unter Linux auswerten kann. Dazu muss ich aber selber noch ein paar Erfahrungen sammeln.

Bei Fragen darf gerne die Kommentarfunktion verwendet werden!

Letzte Änderung: 23. November 2008 um 16:20

Trackback URL

6 Antworten zu “Paperless Geocaching mit Linux”

  1. Tom

    7. August 2008 um 23:33

    Danke für den kleinen Exkurs… sehr hilfreich für meine ersten Gehversuche, auch wenn die von dir geschilderten Programme Cachwolf und die gpxtools (noch?) nicht über die Paketverwaltung meines Debians installiert werden können. Eine Alternative für Cachwolf ist evtl. geotoad (noch nicht getestet, aber in den Debian Standard Repos).

  2. blubb

    8. August 2008 um 10:37

    Auch bei openSuse 11 finden sich diese Programme nicht in der Paketverwaltung, also habe auch ich sie manuell nachinstalliert.

    geotoad werde ich mir mal ansehen. Zumal Cachwolf zwar schon ein recht schönes Programm ist, aber ein paar Kleinigkeiten nicht ganz so funktionieren, wie ich mir das wünschen würde. Möglicherweise werde ich mir dann sogar mal ein eigenes Programm schreiben, dass so ähnlich wie Cachwolf ist. Aber da will ich noch nichts versprechen und das wird sicherlich noch etwas dauern, bis da etwas vorzeigbar wäre.

  3. frimp

    3. März 2009 um 21:32

    Eine andere Möglichkeit, zusätzliche Infos aufs Garmin eTrex (in meinem Fall) Vista HCX zu bekommen, ist, ein Template zu erstellen, das eine entsprechende GPX Datei erstellt.

    Dann kann direkt mit dem CacheWolf mittels “Anwendung/Export/über Template” eine entsprechende GPX-Datei erstellt werden, die dann mittels gpsbabel (wie oben beschrieben) auf das Gerät übertragen werden kann. Dabei erspart man sich den Schritt mit dem gpxrewrite Tool.

    Das Template (z.B. eine Datei GarminEtrexVistaHCX.tpl im CacheWolf-Verzeichnis) schaut bei mir zur Zeit folgendermaßen aus:
    <tmpl_par name="charset" value="UTF8">
    <?xml version="1.0" encoding="utf-8"?>
    <gpx>
    <tmpl_loop cache_index>
    <wpt lat="<tmpl_var name=LAT>" lon="<tmpl_var name=LON>">
    <name><tmpl_var name=NAME></name>
    <sym>Geocache</sym>
    <groundspeak:cache >
    <groundspeak:name><tmpl_var name=SHORTTYPE>-<tmpl_var name=SHORTSIZE>-<tmpl_var name=DIFFICULTY>-<tmpl_var name=TERRAIN>-<tmpl_var name=WAYPOINT></groundspeak:name>
    </groundspeak:cache>
    </wpt>
    </tmpl_loop>
    </gpx>

    In meinem Fall wollte ich nicht, wie sonst üblich die CacheId auf der Karte anzeigen lassen, sondern den Namen. Die möglichen Variablen sind unter http://www.cachewolf.de/wiki/pmwiki.php/Main/Dokumentation beschrieben.

  4. Burgwart

    13. April 2009 um 21:10

    Vielen Dank für die gute Beschreibung. Ich nutze Debian sid und kann hiermit alle Funktionen der Mapsource Software nutzen. Für den Zugriff auf das Garmin eTrex Legend HCx musste ich neben dem symbolischen Link mich noch in die Rechtegruppe “dialout” aufnehmen. Die Berechtigungen kannst du über ls -lA /dev/ttyUSB0 abfragen. Von da an ging auch die Übertragung unter wine in beide Richtungen.

  5. Sebastian

    17. April 2009 um 20:01

    Hallo,

    vielen Dank für die gute und ausführliche Anleitung. Besitze ebenfalls ein Legend HCx und kann es nun endlich auch unter Linux voll ausnutzen.

    mfg

  6. Andreas

    31. Januar 2010 um 17:21

    Hallo zusammen,

    um nicht immer Windows booten zu müssen habe ich mir jetzt ein Browser Plugin geschrieben welches das Garmin Communicator Plugin simuliert. Das läuft unter Linux und ermöglicht es mir direkt von der Geocaching Seite mein Orgeon 300 mit Caches zu befüllen über die ganz normale “Send to GPS” Methode.

    Das Plugin ist derzeit eine sehr frühe Version, funktioniert aber bereits einwandfrei. Wer es sich mal anschauen möchte kann dies hier tun: http://www.andreas-diesner.de/garminplugin

    Gruß
    Andreas

Hinterlasse eine Antwort

Die Angabe sämtlicher Daten ist optional. Bitte beachte, dass du dich damit einverstanden erklärst, dass die angegebenen Daten permanent gespeichert werden.

XHTML: Die Verwendung folgender Tags ist erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Copyright © 2003 - 2012 Jan Gosmann

Impressum und Haftungsausschluss

Artikel (RSS) und Kommentare (RSS)
14 Abfragen. 0.383 Sekunden.