EPSON GPSウォッチ ログ抽出ツール Version 0.15
本アプリはEPSONのGPSウォッチ(WristableGPS)内のGPSログ(ワークアウトデータ)を
WindowsPCのダウンロードフォルダに抽出するツールです。
Windowsの「EpsonView」アプリのインストールフォルダに本アプリを置いて頂くことで
動作します。EPSONからのEpsonViewアプリの配布は終了している可能性がありますので、
過去にEpsonViewを利用されており、今も環境が残っている方のみが利用できると思います。
★ 現在のバージョン(Ver 0.15)はGPSウォッチのワークアウトの内部形式、
およびBACKUP形式(CSV形式)でダウンロードします。
※CSVはSF Seriesのみで、かつラップ系の情報のみ対応しています。
一般的なGPXファイルの出力にはまだ対応できておりません。
現在、内部形式の解析を進めておりますが、時間を要しそうなので、
中途半端ではありますが公開致します。
どなたかが解析してくれないかな、という思いもありますので。。。
★ Ver0.15ではCSVの精度を改善しました。出力したCSVファイルはEPSON
GPSウォッチのBACKUP形式の読み込みに対応しているWebサイト("RUNALYZE")
にアップロードすることでワークアウトの内容を確認することができます。
なお詳細なインストール方法や利用方法についてはダウンロードしたファイルの「お読みください」に記載しております。
WindowsPCのダウンロードフォルダに抽出するツールです。
Windowsの「EpsonView」アプリのインストールフォルダに本アプリを置いて頂くことで
動作します。EPSONからのEpsonViewアプリの配布は終了している可能性がありますので、
過去にEpsonViewを利用されており、今も環境が残っている方のみが利用できると思います。
★ 現在のバージョン(Ver 0.15)はGPSウォッチのワークアウトの内部形式、
およびBACKUP形式(CSV形式)でダウンロードします。
※CSVはSF Seriesのみで、かつラップ系の情報のみ対応しています。
一般的なGPXファイルの出力にはまだ対応できておりません。
現在、内部形式の解析を進めておりますが、時間を要しそうなので、
中途半端ではありますが公開致します。
どなたかが解析してくれないかな、という思いもありますので。。。
★ Ver0.15ではCSVの精度を改善しました。出力したCSVファイルはEPSON
GPSウォッチのBACKUP形式の読み込みに対応しているWebサイト("RUNALYZE")
にアップロードすることでワークアウトの内容を確認することができます。
なお詳細なインストール方法や利用方法についてはダウンロードしたファイルの「お読みください」に記載しております。
画面イメージ
改版履歴
2025/04/25 Ver0.1 初版リリース
2025/04/26 Ver0.11 画面デザインの見直し
2025/05/03 Ver0.12 サイズが0のワークアウトがあった場合の処理追加
デバッグトレースの追加
2025/05/08 Ver0.13 ワークアウトのダウンロードの際に内部的に指定するClassIdの
値が一部のウオッチにしか対応できていませんでした。このため
例えば"SF Series"のウオッチの場合はダウンロードでエラーと
なっていました。本バージョンからウォッチの製品名に応じた
ClassIdを設定するよう改善しております。
2025/05/15 Ver0.14 ワークアウトの内部形式ファイルをCSVファイルに変換する機能
を追加しました。主に"SF Series"のウォッチのワークアウトフ
ァイルのヘッダ部分(ラップデータ等)の情報のみを変換出力しま
す。
2025/05/17 Ver0.15 CSVファイルに出力する情報の量と精度を改善しました。
CSVファイルを"RUNALYZE"にアップロードすることでワークアウト
の内容が確認できるようになりました。
2025/04/26 Ver0.11 画面デザインの見直し
2025/05/03 Ver0.12 サイズが0のワークアウトがあった場合の処理追加
デバッグトレースの追加
2025/05/08 Ver0.13 ワークアウトのダウンロードの際に内部的に指定するClassIdの
値が一部のウオッチにしか対応できていませんでした。このため
例えば"SF Series"のウオッチの場合はダウンロードでエラーと
なっていました。本バージョンからウォッチの製品名に応じた
ClassIdを設定するよう改善しております。
2025/05/15 Ver0.14 ワークアウトの内部形式ファイルをCSVファイルに変換する機能
を追加しました。主に"SF Series"のウォッチのワークアウトフ
ァイルのヘッダ部分(ラップデータ等)の情報のみを変換出力しま
す。
2025/05/17 Ver0.15 CSVファイルに出力する情報の量と精度を改善しました。
CSVファイルを"RUNALYZE"にアップロードすることでワークアウト
の内容が確認できるようになりました。
開発の経緯
私以外にもEPSONのGPSウォッチで山行ログを取っていた方が、きっとおられるのではないかと思います。2025年3月末でEPSONでのサポートが終了したためと思いますが、4月からウォッチからの山行ログ抽出(GPXファイル取り出し)が出来なくなりました。なんとか取り出すことには成功しましたが、内部形式の解析に着手できていない状況です。内部形式に関する情報や別な方法での取り出し方法など、情報をお持ちの方おられましたら、コメントよろしくお願いします。_(^^)_
ツールのダウンロード
お気に入りした人
人
拍手で応援
拍手した人
拍手
kfd01567さんの記事一覧
-
EPSON GPSウォッチ ログ抽出ツール Version 0.15 (DNF) 14 更新日:2025年05月17日
-
ヤマレコ→YAMAPデータ移行ツール Ver1.6 332 更新日:2024年04月06日
-
GPXファイルの日時シフトツール(Windows PC用) 13 更新日:2023年04月11日
※この記事はヤマレコの「ヤマノート」機能を利用して作られています。
どなたでも、山に関する知識や技術などのノウハウを簡単に残して共有できます。
ぜひご協力ください!
バイナリデータはヘッダ部にアスキー文字でキーワードが埋め込まれている場合が多いのでそれをもとにデータ形式を探る方法もあるかと思います。
しかしアプリのサポートが終了するとOSのバージョンアップなどで使えなくなることもあるのでつらいところですね。
https://github.com/kfd01567/EpsonViewSupportApp/raw/188f85acb253d2c7bd8da499b9fcfb0d99bfb3b4/workout_binary_28.zip
やはりはずれでしたか。自分の持っているGPSロガーがFIT形式だったので可能性もあるかと思いましたがそううまくはいかないものですね。
ファイルも見ましたが私のレベルでは簡単には解析できそうになさそうな感じです。
余計なコメントをいれてしまったようで申し訳ないです。
データを眺めていたらちょっと解析に興味が出てきました。差し支えなければ比較用にデータを一つ追加して頂き変換結果のデータも追加して頂けないでしょうか。
変換後のデータからバイナリに逆変換して検索すれば解析がしやすいのでは思います。
いろいろと試せば解析のきっかけぐらいにはなるかもしれません。
https://github.com/kfd01567/EpsonViewSupportApp/raw/7ee6d41e2ec3bc16e793846eab7a540f52ef7c97/workout44_46_47.zip
せっかくデータをとって頂いたのに確認するのが遅くなってしまい申し訳ないです。
まず複数のファイルを比較して共通データを洗い出そうとしたのですが差異がありすぎて共通データが見いだせない状況です。
想定していたのとデータ構造が違うようで解析は難しいそうです。
多分固定部も含めてGPSの位置情報以外のデータも多数入っているのではないかと思います。
そこでデータを整理し直してみました。
FileNo Start End Lap(s) Data size
No28 11:47:32 11:47:54 22 1,817
No44 13:41:28 13:54:09 761 30,973
No46 14:13:31 14:18:52 321 12,465
No47 14:51:31 14:52:40 69 1,967
複数のデータから1秒間に追加されるデータのサイズを計算してみました(必ずしもサンプリング間隔が1秒とは限らない)
No28と47から (1967-1817)/(69-22) = 3.19
No47と46 (12465-1967)/(321-69) = 41.65
No46と44 (30973-12465)/(761-321) = 42.06
No47と44 (30973-1967)/(761-69) = 41.91
多分No28は設定の違いなどで他と固定部のサイズが大きく違っているように思われます。
No28を除くと1秒に約42byte追加される計算になりまずが、逆算して固定部のサイズを出すとマイナスになるので必ずしも1回/秒でデータが追加されているわけでもなさそうです。
仮に緯度や経度などのデータが4byteだとする10種類程度のデータが記録できることになるのでGPS情報以外にも情報が入っているのではないでしょうか。
もしかしたらサンプリング間隔や内容も設定やモードによって異なっているかもしれませんので変換前後のデータが対でほしいところですが仕方ないですね。
できればEPSONがフォーマットを公開してもらえると一番いいのですが・・・
ちょっと無理っぽいですがもう少しデータを調べてみますので、追加の情報があればメッセージか何かで教えてもらえるとうれしいです。
https://github.com/kfd01567/EpsonViewSupportApp/raw/3ee5304fcc7c975c64374b5c227aebd0a567489f/20250114.zip
データを拝見しました。今回アップロードされたデータは先のデータとは異なり規則性が見られました。0x1D8(472) あたりから 0x39(57)バイトごとに同じデータがでてきます。ヘッダも若干異なることから出力方法が異なるようにも思えます。内容を把握するのはまだ難しいですが手掛かりになりそうです。
データの解析用にバイナリビューワを作成してみたのでもしよければ使ってみてください。
https://github.com/katsushigeyoshida/ToolApp?tab=readme-ov-file
ここからToolApp.zipをダウンロードしてもらい、解凍してToolApp.exeを起動しバイナリビューワをダブルクリックすればビューワが開きます。ファイルパスのコンボボックスをダブルクリックしてファイルを選択します。そこで行バイト数に57と入力して「再表示」ボタンを押すとデータの周期性が分かる表示になると思います。
<SF Series 57バイト固定長の追加のデータ[CSVとBINと途中の解析情報]>
https://github.com/kfd01567/EpsonViewSupportApp/raw/33f53db8f3f5e74ea79f1bb27d42e614e877cfb5/20250206.zip
<SF Series 53バイト固定長のデータ[CSVはなし]>
https://github.com/kfd01567/EpsonViewSupportApp/raw/33f53db8f3f5e74ea79f1bb27d42e614e877cfb5/workout_binary_1_jpn_sf.zip
バイナリビューワの提供もありがとうございました。さっそく利用させて頂きました。1行のバイト数を自由に設定できるバイナリエディタの必要性を強く感じましたので、その後lmhexというOSSを見つけて使っています。参考までに上記のデータを開いた画面を以下に置いています。
https://github.com/kfd01567/EpsonViewSupportApp/raw/33f53db8f3f5e74ea79f1bb27d42e614e877cfb5/lmhexScreenShot_jpn.png
※EPSONのGPSウォッチには様々なモデルがあるようですが、私もよく把握できておりません。もしかすると、Version0.13の各モデルの対応だけでは不十分かも知れません。(^^; もしダウンロードに失敗した場合は手作業で「内部で指定する固定値」を算出して、configファイルに定義する機能も今回追加しておりますのでご活用頂ければと思います(少々手間ですので技術者向けです)。
ex.19 05 0B 08 25 24
&h19=25 は2000が省略された西暦で
月・日・TOKYO時差9時間を加算して時・分・秒です。
(注:時差9時間で日付がズレる場合もあります)
ex.19 05 0B 08 25 24 = 2025-05-11 17:37'36
----
データ概要
FFFF……FFFF
ラップ1概要
FFFF……FFFF
ラップ2概要
FFFF……FFFF
ラップ3概要
FFFF……FFFF
移動データ(大量)
----
こんな感じです。
GPS軌跡の解析は難しくても
ラップデータだけでも抽出できたら、
最低限の仕事はしてくれるソフトウェアになるのではないでしょうか。
眺めているとアドレス&h001Cがカロリーとか分かります。
またGPSデータの混じらないインドア計測すると
移動データ(大量)が比較的00で埋まるシンプルなデータが取れます。
同一ウォッチを2つ並べて持ち、
1つはインドア、1つはGPS計測で計測し
その差分を調べたらGPS計測の差分が絞り込めて
解析のヒントになるかもしれません。
katsushigeさんの情報から、"SF Series"のボディ部は1レコードが53バイトまたは57バイトの固定長であることが分かりましたので、2種類のワークアウトファイル(1つはSF-110で、もう1つは別のSF-xxx)を並べて比較してみました。
少し大きな画像ですが、比較の画面を以下に置いていますので参照して頂ければ幸いです。
https://github.com/kfd01567/EpsonViewSupportApp/raw/91e7a0c9d9af434ea7962e0c824432f117520613/compare.png
レコードの16桁目は0x40固定、24桁目は0x50固定、40桁目は0x60固定となっており、その直後に緯度、経度、高度があるのでは?と思っております。ただその数値表現は一般的な緯度、経度、高度ではないような感じです。変換式を見いだせないか調査中です。
解析に使用した2つのワークアウトファイルはいずれもこの上の投稿にあるものですが、解析しやすいようにヘッダ部を削除したり、レコードの途中に時折混ざるゴミデータ?を削除して解析しやすくしたものを参考までに以下に置いています。
https://github.com/kfd01567/EpsonViewSupportApp/raw/91e7a0c9d9af434ea7962e0c824432f117520613/compare_workout.zip
「ラップデータだけでも抽出できたら、最低限の仕事はしてくれるソフトウェアになるのではないでしょうか。」は嬉しいお言葉ですが、RUNNET等ランニング系の掲示板での話でしたらそれでもOKでしょう。ここはヤマレコの掲示板ですので、最低限の仕事がGPS軌跡の出力だと思っています(志は高く!?)。
CSVデータのあるデータだけ確認しているのですが[LapData]は0x80から128(0x80)byte単位で書き込まれているようです。
workout_binary_0.bin
LapData 128(0x80) byte
00080 - 00FF Value Offset
LapNo, 1, 0x01 00
EndPoint, 999999,
LapTime, 2456, 0x998
LapDistance, 6751, 0x1A5F 0C
LapCalorie, 567, 0x237 18
LapPaceAve, 363, 0x16B
LapSpeedAve, 9895, 0x26A7 1E
LapPitchAve, 162, 0xA2 2A
LapStrideAve, 98, 0x62 2E
LapKind, 1, 0X01 02
LapSteps, 6667, 0x1A0B 14
LapSplitTime, 245683, 0x3BFB3
LapSplitDistance, 6751, 0x1A5F 10
LapAscentAltitude, 86, 0x56 1A
LapDescentAltitude, 82, 0x52 1C
まだ一部のデータしか紐づけができていませんがこれの繰り返しで入っているようです。
GPSの緯度経度の値はCSVのデータがうまく解釈できれば先に進めるかもしれません。
SF110's.binをみてGPS部には53バイトリズムがありました。
5回の同一的な周期があれば緯度経度だと推測できそうです。
一定に増加している値は時間か距離かと推測できそうです。
疲れてきてペースは周回ごとに落ちましたが、ラスト1周はあげました。
そういう増減を描いているのはペースかも。
53バイトが3620個並びました。
タイム59分なので1秒で1レコードぐらいですね。
20250206のデータはパリでのデータだったのですね。経度より緯度の方が大きいのが謎だったのですが理解できました。
改めてデータを見直した結果、
起点を0x5F0とした場合
offset 0x0b 2byte Lap秒
offset 0x11 5byte 60 5E AA 00 71 => 485,342,469,728 Latitude ?
offset 0x19 5byte 00 00 01 10 31 => 210,721,898,496 Longitude ?
緯度の方はかなり近い値かと思いますが経度の方は変化がないのではずれだと思います。
2,4,8byte固定単位のデータでは なく1byte単位にデータサイズを変えて格納しいると考えるとデータがサーチできそうな気がします。
その辺の検証機能を先に紹介したツールに組み込んでみました(データ型でEpson57を選択)。
それと[LapData]の数は 0x006C に、LapKindはoffset 0x02,TimeCentiSecondは0x0Bと思われます。
以下はpiraru9さんの「2キロコースを5周」のワークアウト内容をRunalyzeで表示したものです。
https://github.com/kfd01567/EpsonViewSupportApp/raw/bd0b6821ef7c704f75501135f2a98a34e2827de0/runalyze.png
いい感じでラップ情報が表示されています。近い将来(?)、CSV中のGpsDataが正しく出力できるようになれば、この画面の下にマップとGPS軌跡が表示されます。
コメントを編集
いいねした人
コメントを書く
ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。ヤマレコにユーザ登録する