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 clonecommand 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.