ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

DebianでG-PORTER GP102+を使う

(2021-08-15 初稿 - 2021-06-07 追記)

はじめに

筆者は、オートバイのツーリングや自転車でのポタリング、山のハイキング等、アウトドア生活を楽しんでいる。

これまで、スマフォのGPSのログ機能を使っていたが、GPSの精度がイマイチなのとバッテリー消費量の心配から、GPSの記録の専用のGPSロガーを購入した。

購入したGPSロガーは、CANMOREのG-PORTER GP102+(以下、GP102)で、2020年8月16日にAmazonで4,880円で購入した。

本体が100g程度で軽く、とても安いGPSロガーだ。

ちなみに、GP102に付属していたCDのソフトはWindows7用らしいので、Windows10をお使いの方にも多少参考になるかも(宣伝 ^^;)。

f:id:hymd3a:20210517091932j:plain

購入したGP102+

使い方

開封してマニュアルを見たが、GPSロガーを初めて使う筆者には、理解できなかったたので、以下のPDFファイルを検索しようやく使えるようになった。(^_^;)

以下のリンクのうち、日本語説明書というPDF。多謝

このページは、GP102+の使い方は上記PDFに譲り、以下ではdebianでの使い方を記載する。

Debianで使う

筆者の2020年8月現在の環境は以下のとおり。

Debian 4.19.132-1 (2020-07-24)

必要なファイル(FIT)の保存

ログを記録したGP102+を付属のUSBケーブルで接続すると、USBメモリ等と同様にファイルを開くか聞いてくる。

GP102+内のファイル構造としては、以下のとおり。

GP-102/
├── Activities
│   └── 005.fit
├── Device.xml
├── NewFiles
├── POIs
│   └── 001
├── Settings
│   └── Settings.dat
└── Trips

ここで必要になるファイルは、Activitiesに含まれるxxx.fitファイル。

ちなみに、FITとは、FIT (Flexible and Interoperable Data Transfer) の略。

ここでは、005.fitファイルを適当なディレクトリにコピーする。

gpsbabelのインストール

FITファイルはバイナリーファイルで、取扱いが面倒なので、ここではKMLファイルに変換してGoogle Earth等でログを確認する。

ちなみに、KMLとは、KML(Keyhole Markup Language)の略。

まずは、以下のとおり、gpsbabelをインストールする。

sudo apt install gpsbabel

GUIがお好みの方は、以下のとおりGUIのgpsbabelがインストールできる(必須ではない)。

sudo apt install gpsbabel-gui

FITからKMLへの変換

gpsbabelは、とてもたくさんのオプションがあるので、筆者は以下のサイトを参考にさせていただいた。多謝。m(__)m

コマンドで実行する場合は、以下のように実行する。なお、ここではホームディレクトリ直下に保存した006.fitファイルを006.kmlに変換する場合を示す。

$ gpsbabel -t -i garmin_fit -f ~/006.fit -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F 006.kml

オプションが多くて覚えきれないので、以下のbashスクリプトを作成した。

出力は、ファイルの「日付-時間.kml」にしたが、Linuxで読み取ると、ファイルの時刻が変になってしまう。(手抜き)^^;

元のfitファイルが単なる数字だったので、fitファイル名は日付のファイル名に変更した。

$ cat ~/bin/fit2kml

#!/bin/bash
# 2020-08-18 start Written by hymd3a
# convert fit to kml
# ver0.02 [2020-08-23] mv fit filename

if [ $#  -ne 1 ]; then
  echo "[Usage] fit2kml fit_file"
  echo "        output date-hms.kml"
  exit
fi

fbase=$(date "+%Y-%m-%d-%H%M%S" -r $1)
#echo $fbase 
gpsbabel -t  -i garmin_fit -f $1 -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F $fbase.kml

# add H.Y [2020-08-23]
mv $1 $fbase.fit

スクリプトを作成したら、chmod +x fit2kml で実行権を与える。

さらに、ディレクトリに保存されている???.fit(3ケタの数字)ファイルを一括して変換するには、以下のとおり実行する。

$ for f in ???.fit; do fit2kml $f; done

GUIで変換する場合には、下図を参考に変換すること。

なお、出力のオプションについては、コマンドのhelp等で調べてね。

f:id:hymd3a:20210517093932p:plain

GUI版gpsbabel

Google Earthのインストールとkmlの表示方法

Google Earthのインストール

Google Earthgoogleからダウンロードして以下のとおりインストールする。

ちなみに、Debian64bitの場合は、google-earth-pro-stable_current_amd64.deb ファイルをダウンロードする。

$ sudo apt install google-earth-pro-stable_current_amd64.deb

Google Earthでのkmlファイルの表示

インストールしたGoogle Earthを起動して、ファイルメニューから開くで、変換したkmlファイルを表示させる。

以下の例は、近所を自転車で走り、1秒間隔で保存したkml。 赤字のとおり、詳細な位置が記録されている。

f:id:hymd3a:20210517094543p:plain

Google Earthでの表示

このままでは、あまりおもしろくないので、以下のとおり建物を3D表示させ、経路をトレースさせる。

f:id:hymd3a:20210517095005p:plain

最下層のPathの選択

上図のとおり「保留」ディレクトリの最下層のPathまで表示させ、右三角形が表示された経路のアイコンのボタン(赤丸)をクリックすることにより、移動した経路を3Dで表示させながら、たどることができる。

f:id:hymd3a:20210517095423p:plain

移動した経路をトレース

csvファイルを作る

上記のスクリプトkmlファイルを作成し、Google Earthで楽しんでいたが、不要なデータがあること、また、バイク等の記録ではその時のスピードを知りたくなり、csvファイルも併せて出力するようにした。

まずは、fitファイルからcsvファイルを出力する場合は、以下のコマンドになる。

gpsbabel -t -i garmin_fit -f ~/006.fit -o iblue747 -F 006.csv

kmlcsvを一括して作る

kmlcsvファイルを一括して作るbashスクリプトを作成した。

また、ファイルのタイムスタンプが9時間ずれるので、修正するようにした。

#!/bin/bash
# 2020-08-18 start Written by hymd3a
# convert fit to kml and csv
# ver0.02 [2020-08-23] mv fit filename
# ver0.03 [2021-02-28] both kml cvs
# ver0.04 [2021-02-28] 9 hours adjust

if [ $#  -ne 1 ]; then
  echo "[Usage] fit2kml fit_file"
  echo "        output date-hms.kml"
  exit
fi

fday=$(date "+%Y/%m/%d %H:%M:%S" -r $1 )
fbase=$(date "+%Y-%m-%d-%H%M%S" -d "$fday 9 hour ago")
#echo $fbase
#fbase=$(date "+%Y-%m-%d-%H%M%S" -r $1)
#echo $fbase 

gpsbabel -t  -i garmin_fit -f $1 -o kml,line_width=2,line_color=ff0000ff,units=m,points=0,trackdata=0 -F $fbase.kml

# add H.Y [2021-02-28]
gpsbabel -t  -i garmin_fit -f $1 -o iblue747 -F $fbase.csv

# add H.Y [2020-08-23]
mv $1 $fbase.fit

gpxファイルも作る(2021-06-07 追記)

先日、yamapに登録したら活動の軌跡がgpxだった。

gpxファイルも扱えた方が良いと思い、以下のページをアップした。

ついでに、fitファイルからgpxファイルを作成する方法を示す。

gpsbabel -i garmin_fit -o gpx infile.fit outfile.gpx

 以下のサイトにyamapにアップする際に、あまり更新頻度が高いファイルを読み込むと累積標高が多くなるとのこと。以下のようにすると良い。

gpsbabel -i garmin_fit -x simplify,count=800 -o gpx infile.fit outfile.gpx

1分間に4点程度にする。

おわりに

ここまで、駆け足でGP102をDebianで使う方法を記載した。

いろいろな機器をLinuxで使う場合にも、あまり困らない便利な時代になって、とてもありがたい。(^o^)

また、何か気がついたら追記する。

関連ページ