Garmin Forerunner unter Linux

Garmin Forerunner unter Linux
4.33 (86.67%) 3 Stimme(n)

(Eine aktualisierte und erweiterte Version dieses Artikels gibt es in meinem Lauf-Blog!)

Wer einen ANT+-fähigen Garmin Forerunner (bei mir: Forerunner 610) und den zugehörigen ANT+-Stick sein Eigen nennt und unter Linux unterwegs ist (bei mir: Ubuntu 14.10), kann seine GPS-Uhr mit dem Rechner über das Kommandozeilentool antfs-cli synchronisieren.

antfs-cli ist ein Python-Programm, das auf den Python-Libraries openant und pyusb aufbaut. Unterstützte Geräte sind auf der Projektseite von antfs-cli aufgelistet.

Da die beiden Bibliotheken und das Programm typischerweise nicht im Lieferumfang der gängigen Linux-Distributionen vorhanden sind, bietet sich eine direkte Installation über github an:


# create a directory where we can put all the source code
mkdir ~/forerunner
cd ~/forerunner

# download and install pyusb
git clone https://github.com/walac/pyusb.git
(cd pyusb; sudo python setup.py install)

# download and install openant
git clone https://github.com/Tigge/openant.git
(cd openant; sudo python setup.py install)

# download and install antfs-cli
git clone https://github.com/Tigge/antfs-cli.git
(cd antfs-cli; sudo python setup.py install)

Nach der Installation der Tools kann das Verzeichnis ~/forerunner im Prinzip wieder entfernt werden.

Ruft man nun im Terminal das Kommando

antfs-cli

auf, wird eine drahtlose Verbindung vom Rechner zum Forerunner über das ANT+-Protokoll hergestellt.

ANT+-Stick

Beim ersten Aufruf wird das sogenannte Pairing durchgeführt, bei dem am Forerunner die Verbindungsanfrage von antfs-cli bestätigt werden muss.

Forerunner Pairing

Anschließend werden auf dem Gerät vorhandene aufgezeichnete Aktivitäten in das Verzeichnis ~/.config/antfs-cli/XXXXX/activities/ heruntergeladen – wobei XXXXX die numerische Id des Forerunners ist (in meinem Fall ist das eine 10-stellige Zahl). Bei weiteren Aufrufen von antfs-cli werden nur die neuen Aktivitäten heruntergeladen.

Forerunner Transfer

Die heruntergeladenen Daten (im Garmin eigenen FIT-Format) können nun z.B. manuell zu Garmin Connect hochgeladen werden oder mit den Kommandozeilentool gpsbabel in andere Formate konvertiert und weiterverarbeitet werden.

Upload zu Garmin Connect

10 Gedanken zu „Garmin Forerunner unter Linux“

  1. ich bekomme bei der installation:
    sudo python pyusb/setup.py install

    folgende Fehlermeldung:
    –> error: package directory ‚usb‘ does not exist

    Mein System: Linux Mint 17.1 Rebecca

    1. Oh, dieser Fehler kommt bei mir auch, wenn ich die Instruktionen erneut ausführe. Da muss sich wohl etwas in „pyusb“ verändert haben.
      Ich werde wohl die Beschreibung anpassen müssen…

      1. Moin!

        Ich hatte das gleiche Problem.
        Ich habe es gelöst, in dem ich in das pyusb-Verzeichnis gewechselt habe. Dann heißt der Befehl einfach „sudo python setup.py install“. Hat bei mir so auch mit den anderen Paketen funktioniert.

        Mein System: Ubuntu 14.04

  2. Hello,

    danke für die Anleitung. Hier meine ergänzungen für die „Fehler“ die aufgetreten sind:

    1. man muss evtl vorher sudo apt-get install python libusb-1.0-0 ausführen (https://github.com/walac/pyusb)

    2. und auch sudo apt-get install python-setuptools (https://stackoverflow.com/questions/14426491/python-3-importerror-no-module-named-setuptools)

    hat dann super geklappt und die Übertragung der Daten läuft gerade.

    Gibt es da eigentlich schon eine schicke GUI dazu mittlerweile?

  3. Nach Installation tritt ein Fehler auf:

    karl@erlangen:~> antfs-cli
    Driver available: [, ]
    Traceback (most recent call last):
    File "build/bdist.linux-x86_64/egg/antfs_cli/program.py", line 354, in main
    g = AntFSCLI(config_dir, args)
    File "build/bdist.linux-x86_64/egg/antfs_cli/program.py", line 131, in __init__
    Application.__init__(self)
    File "/usr/lib/python2.7/site-packages/ant/fs/manager.py", line 104, in __init__
    self._node = Node()
    File "/usr/lib/python2.7/site-packages/ant/easy/node.py", line 56, in __init__
    self.ant = Ant()
    File "/usr/lib/python2.7/site-packages/ant/base/ant.py", line 55, in __init__
    self._driver = find_driver()
    File "/usr/lib/python2.7/site-packages/ant/base/driver.py", line 253, in find_driver
    raise DriverNotFound
    DriverNotFound
    Interrupted:
    karl@erlangen:~>

  4. Bei mir läuft die Übertragung mittlerweile, allerdings kann ich die übertragenen Dateien nirgends finden?
    Kann mir hier bitte jemand helfen?

    1. Bei mir landen die FIT-Dateien in

      ~/.config/antfs-cli/3874097004/activities/

      wobei 3874097004 wohl die ID meines Forerunners ist

  5. Hallo Florian,
    danke für das tolle Tutorial, innerhalb von 5 Minuten hatte ich die fit-Dateien auf dem Rechner.

    Statt

    sudo python pyusb/setup.py install

    hab ich folgende Befehle verwendet:

    cd pyusb
    sudo python setup.py install
    cd ..

    Anscheinend passt das irgendwo mit den relativen Pfaden nicht.

  6. Hallo, habe versucht es zu installieren.
    # download and install openant
    git clone https://github.com/Tigge/openant.git
    sudo python openant/setup.py install

    Ich habe Ubuntu 14.04 und bin absoluter Linux Neuling.

    Die Fehlermeldung
    remote: Total 550 (delta 0), reused 0 (delta 0), pack-reused 550
    Empfange Objekte: 100% (550/550), 125.93 KiB | 0 bytes/s, done.
    Löse Unterschiede auf: 100% (350/350), done.
    Prüfe Konnektivität … Fertig.
    bernd@bernd-Inspiron-15-3552:~/forerunner$ sudo python openant/setup.py install
    Traceback (most recent call last):
    File „openant/setup.py“, line 27, in
    from setuptools.command.install import install
    ImportError: No module named setuptools.command.install

    Danke für deine Mühe!

    Bernd

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.