Garmin forerunner and Ubuntu 14.04
Aug 16, 2014
warning
This post is more than 5 years old. While math doesn't age, code and operating systems do. Please use the code/ideas with caution and expect some issues due to the age of the content. I am keeping these posts up for archival purposes because I still find them useful for reference, even when they are out of date!
This post is about getting running data off of a Garmin Forerunner 305 and uploaded to the Garmin Connect website. This post follows my previous post on the Garmin forerunner and Ubuntu 12.04 Basically I will repeat these previous instructions, making sure that everything can still be done on Ubuntu 14.04-- the good news is that everything works on 14.04, so read on if you are interested.
-
First, we install some dependencies:
$ sudo apt-get install garmin-forerunner-tools libxml2-utils
-
Second, we grab code from a git repository (do this in a directory where you
want the code to reside-- I'll do this in
~/gitlocal/
):$ cd ~/gitlocal/
$ git clone git@github.com:cstrelioff/garmin-dev.gitNote: Edit: 2015, Aug 27
The above
git clone
command uses ssh and will only work if you have a github account setup and have an ssh key on file. If you don't and would rather not bother setting that up you can- Dowload a zip of the repository from the github page and unzip on your local computer-- look for the Download ZIP button on the right side of the page.
-
Or, use git with https instead of ssh. This changes the git clone command
to
$ git clone https://github.com/cstrelioff/garmin-dev.git
-
Finally we are ready to get data. I will give one approach -- start by
making a directory where the data will be saved. For example,
$ mkdir ~/GarminData
$ cd ~/GarminData
Next, we connect the watch to the computer using the usb cable and obtain the data from the watch:
$ garmin_save_runs
If there is data on the watch, this command should produce
*.gmn
files that use the directory
structure: Year/Month/*.gmn
.
Finally, the *.gmn
files need to be
converted to *.tcx
for upload to
Garmin Connect. It is probably good to
choose a consistent place to do this. For example, create a directory
called tcxfiles
:
$ mkdir ~/GarminData/tcxfiles
$ cd ~/GarminData/tcxfiles/
A command to do the conversions has to provide full paths for
gmn2tcx
and the input
*.gmn
file. So, try
something like this if you've used the directory structure discussed above:
$ ~/gitlocal/garmin-dev/gmn2tcx ~/GarminData/DataFromWatch/Year/Month/file.gmn > run-name.tcx
Be sure to change
~/GarminData/DataFromWatch/Year/Month/file.gmn
to something that makes sense. If all went well, the file
run-name.tcx
(change
this filename to something sensible as well) will be in your local directory
and ready to upload. Of course, in the short run you'll want to write a script
to automate this process and avoid the typing.