GARMIN DOWN – Garmin Connect サービス停止でモバイル機能が使用不能に

GARMIN のサーバが機能停止して早くも3日が経ちました。こんなに復旧が遅れているにもかかわらず、意外と話題になっていないのは日本が雨季で、影響を受けている利用者が少ないからでしょうか。

3日も過ぎて未だに復旧する気配もなく、コールセンターに電話もつながらない GARMIN に痺れを切らしたのか、ついには STRAVA が Garmin Connect をすっ飛ばして、端末から直接アクティビティログを抽出してアップロードするように公式アナウンスを発表しました。


Garmin outage – Strava Support
https://support.strava.com/hc/en-us/articles/360046805811-Garmin-outage


つまり、私がいつも行っているように Edge 530 などの GARMIN 端末を USB ケーブルで PC に接続して、アクティビティ・ログ(FIT ファイルや TCX ファイル)を抜き出して https://www.strava.com/upload/select からマニュアルアップロードして欲しいということです。

サイクルコンピュータの Edge やハンドヘルドデバイスの eTrex であれば、USBケーブルで PC に接続さえすれば、内部のファイルを自由に取り出せますので Garmin ディレクトリ(フォルダ)の中の Activities ディレクトリにアクセスして日付から該当の FIT ファイルを見つければ良いだけです。




ただ問題なのは Forerunner/ForeAthlete シリーズで、こちらは Bluetooth でスマートフォンと接続して使用することを前提に設計されていますので、そもそも USB ケーブルを接続することができません。

最近、購入したばかりの人はシステム停止によって時刻合わせもできないらしく、復旧までは時計としての機能すら使用できないのだとか。

Garmin 社内のサーバが機能停止していても、個々のユーザのモバイル端末にインストールされたアプリと同期できれば問題ないのでは?と思われるかもしれませんが、どうも Garmin Connect のモバイルアプリは Garmin デバイスから受信したデータをサーバに転送する役割しか持たないらしく、モバイルアプリが単独で機能していても実行できることがありません。

サーバが停止すると過去のアクティビティログや統計情報まで見れなくなるのは、ちょっとした驚きです。オフラインでも電話帳などの機能は利用できるように iOS も Android も内部にデータベースを持っており、多くのアプリでは通信状態とは無関係にデータの閲覧ぐらいはできるはずなのですが Garmin Connect はモバイルアプリ内には記録を残していないものかもしれません。

もし、そのような仕様で運用されているとしたら、Garmin Connect はかなり尖った思想を持ったアプリです。スマートフォンが盗難被害にあったときなどに個人情報を守れるとか、それぐらいしかメリットが思いつきません。

まあ、何にせよ、早く復旧してもらいたいですね。この前の話の続きではありませんが、復旧のために平然と数日を費やすような体制であれば、私にとっては市販のサイクルコンピュータを購入する動機が薄れます。

GPS 受信モジュールやスピード・ケイデンスセンサを購入してきて、自分で基盤にはんだ付けして、得られたデータを STRAVA にアップロードできる形式に変換することは別に難しくはありません。それどころかアップロードまで全て自動化することまでできます。

高額なサイクルコンピュータをわざわざ購入しているんですから、自作品より不便になる事態とか絶対に避けて頂きたいですね。

買って正解?後悔?GARMIN EDGE 530 サイコンへの正直な印象

今から振り返ると数ヶ月も昔のこと、まだ私がドイツにいた頃の話なのですが、GARMIN の最新型サイクルコンピュータ EDGE 530 GPS EU を密かに購入して運用を始めました。

それまでは GARMIN の EDGE 520 という、この最新型サイコンの2世代前のモデルを使用していました。

この EDGE 520 は小型で高機能でありながらカスタマイズ性に優れており、内部ファイルを編集するとナビゲーション地図や言語表示を自由に変更できることから、いつでも初めて訪れる場所の走行では大いに役立ってくれました。

北海道や江蘇省やインドネシアなど、あまり良く知らない地域を訪れる際にも、あらかじめコンビニなどの補給地点を追加したマップさえ入れておけば、わざわざルートなど引かなくても大きな危険を冒さずに知らない場所を走破することが可能となりました。




ところが数年間もほぼ毎日のように酷使し続けてきたので、内蔵バッテリが劣化して長時間使用に耐えられなくなってきました。

消耗したバッテリを交換して継続使用するか、同機能を持った代替品を自作するか、あるいは新品に買い換えるか、迷いに迷ったあげく、購入に至ったのが後継機の EDGE 530 です。

こうした経緯で EDGE 530 に乗り換えたわけですが、正直に申し上げますと EDGE 530 に対する私の第一印象は最悪でした。

最新型の GARMIN を購入して、最初に出てきた第一声が „voi sierig“ という人は私のほかにいるんですかね。

とにかくポケットは長いのに腕が短い。2020年にもなって未だに Micro USB ケーブルを新規に使用させるのは止めていただきたいですね。

しかも EDGE 520 までは USB ケーブルで PC に接続すれば、内部ファイルを好き勝手に閲覧・編集できたところが、EDGE 530 ではデータ転送ケーブルを使用しなければ PC からデバイスを認識しなくなりました。

さいわいデータ転送ケーブルさえあれば、まだ今のところはカスタマイズする余地が残っているように見えますが…

機能をいろいろ見ていくと将来的にブラックボックス化されていきそうな気配があります。こうなると私はもう次は市販のサイコンを購入することはないかも知れません。

なにしろ GARMIN CYCLE MAP が売りの EDGE 530 であっても、私の使用環境ではこうなりますからね。

東京中央区も荒川河口の新砂も、埋立地は等しく青一色で表示されて、ナビどころか陸地として認識すらされません。

「ドイツで購入するからだろ」という話ですけれども、「ならば日本で購入したものは大陸で使えるのか」と言う話でもあります。

最近は感染症のせいで身動きがとれないので例外的に日本に留まっているだけで、通常時は日本にいませんので日本版を購入する意義は私にはありません。

ほかにも EDGE 530 になってから、アクティビティを選択したり、電源を切ろうとするたびに、いちいち余計な画面が表示されるようになったことが気に入らないです。

EDGE 520 までは存在しなかった、これらの機能ですが今のところは表示させない方法もなさそうです。


How can I turn off the 530 Power Menu? Just want 1-click power down – Edge 530 – Cycling – Garmin Forums
https://forums.garmin.com/sports-fitness/cycling/f/edge-530/194899/how-can-i-turn-off-the-530-power-menu-just-want-1-click-power-down


Forums – Mtbr.com – GPS, HRM and Bike Computer –
https://forums.mtbr.com/gps-hrm-bike-computer/can-i-turn-off-edge-530-power-menu-1117679.html


使い勝手に関する点では EDGE 520 を使っていた方であれば違和感なく使用できるものの、全体的に EDGE 520 よりも使いやすくなったと感じられる点は見受けられません。

それでも良くなった点としては、ハードウェアとしてのスペックは格段に向上しています。

以前にも少し触れたことがありますが、この小さな筐体のなかに GPS と GLONASS に加えて GALILEO (ヨーロッパモデル) や QZSS みちびき (日本モデル) の衛星信号の受信モジュールを内包させて、それをスポーツ用品の価格とサイズで提供できるのは凄いことです。

上の記事で書きました通り、GPS 単独では 10m 程度の誤差が生じることは当たり前ですから、位置情報の正確性では過去のモデルとは比較にならないはずです。

また EDGE 530 からは地図表示を充実させたこともあってか、液晶ディスプレイの解像度も向上しており、スマートフォンやタブレットの表示画面と見比べても違和感がなくなっています。

地図やナビゲーションはデフォルトのものが使い物にならなくても、結局、自分にあったものを自作して、設定を書き換えて使用すれば良いだけのことなので、こうした描画性能の向上は素直に歓迎できる点です。

端末の補助記憶装置の容量増加もそれを後押しします。

microSDカードで容量を拡張できる登山用デバイスならともかく、サイコンの EDGE シリーズは 520 でも常に容量不足でして、ナビゲーション用の地図ファイルとルート表示用の GPX ファイル、言語設定ファイル、走行ログ記録ファイルを全部あわせても 100MB 足らずしか自由に使えるスペースがありませんでした。

そのためなのか、地図を自作する場合には容量を最大 70MB 程度に抑えることが共通認識になっていました

ただ私が思うに、これはデフォルトの地図ファイルの容量がちょうど 70MB 程度の大きさだったので、それが最大容量だと誤解されたまま広まった通説のような気がします。

実際には 90-100MB 程度の大きさの地図ファイルを自作して、デフォルトの地図を上書きしても何も問題はおきませんでした。この場合は単純にルートファイルや走行ログ(FITファイル)を記録しておくスペースが圧迫されるだけです。

それが EDGE 530 になってからは記憶容量の不足に悩まされることはなくなりました。こんなに余っているなら、毎回、地図ファイルを書き換えなくても、ドイツ用、デンマーク用、台湾用、インドネシア用といった具合に複数の地図ファイルを入れたまま運用できそうです。

最後に繰り返しになりますが、先代までのモデルとは操作性が変化しておらず、継続して違和感なく使用できる点も大きな長所です。

変化に対して不満を覚えるのも、それだけ EDGE 520 までのモデルの操作性が優れており、サイコンとしての機能も完成していたということの証左でもあります。

EDGE 530 ではサイコンのスクリーンショット機能や GARMIN リストウォッチとの連携(表示)、盗難防止アラームの設定など、EDGE シリーズでは初めて目にする機能がたくさん搭載されておりながら、ボタン操作は従来製品どおりのままです。

慣れた人であれば説明書に目を通さなくても全機能を直感的に使えることは言うまでもありません。これは全ての GARMIN デバイスに共通する良さですが、この EDGE 530 においてもしっかりと引き継がれています(ただし520の方が操作性がより簡潔だったので、両者を比較すると不満を覚えるだけです)。

細かな操作性や改良点につきましては、少し調べてみると日本語でも良記事がいくつも見つかりますので、そちらをご覧になったほうが良いかと思われます。

私がいまさら追記することはありません。


Garmin EDGE 530 – 3ヶ月間使用してみて – Cyber Garage (BIKE)
http://www.cybergarage.org/bike/garmin-edge-530-review/


GARMIN EDGE530を使ってみての感想 EDGE520&510との比較 – つむりの悠々自適ライフ
https://tsumuri5.com/blog-entry-713.html


たしかに順当に改良されて、機能も強化されているのは事実ですが、ユーザが好き勝手に改編する余地が少なくなっていく予感が感じられて、今後のアップデートの方向性がやや不安というのが偽らざる本音です。

さすがは業界を牽引する会社の代表商品だけあって、位置情報や気温などの諸々の測定精度、信頼性、防水性、耐久性などに関しては文句の付け所がない素晴らしいサイコンなので、可能であれば何時までも使い続けていきたいところなんですけどね。


GARMIN(ガーミン) EDGE 530 日本語版 GPSサイクルコンピューター(センサー類付) 004477

サイクルコンピュータを自作する #2 – みちびき対応 GPS と市販のサイコンの比較実験

先の記事で延べた日本の準天頂衛星システム(QZSS)『みちびき』とそれに対応した GPS モジュール GYSFDMAXB を使用すると、衛星電波から現在時刻や位置情報や高度を手軽に取得することが可能になります。

これによって得られた情報を無線で送信すれば盗難車の追跡にも利用できますし、受信データを記録媒体に書き残し、ケイデンスセンサ等の補助的なデータを付与して FIT ファイル形式にエンコーディングしてやれば、サイクルコンピュータ(サイコン)替わりにライド情報を記録する装置を自作することも難しくはありません。

もちろん、最近のサイコンは GPS データを受信できるものも少なくないので、そちらを購入すれば間違いないことは確かです。

わざわざ時間と労力をかけてサイコンを自作する意味はありませんが、たとえばブルベで一度に 300km 以上を走行したり、九州一周を一筆書きしたい場合などには、それなりに実用性があるかもしれません。

なにしろ自作なので、いくらでもバッテリ容量を増やせますし、ディスプレイなど不要だと思えば付けなくても構わないわけです。




GPS モジュール単体でも現在時刻や位置座標に加えて高度と移動速度を取得することが可能なので、サイコンと同様のデータを記録したければ、これに温度センサやケイデンスセンサなどを付け足せば、市販品と同じ記録装置ができるはずです。

それでは肝心の GPS モジュールの精度は、GPS 搭載サイコンと比較してどのようなものなのでしょうか。気になったので、手元にある GPS 端末と一緒に計測にいってきました。

比較対象は GARMIN の EDGE 520 (サイクルコンピュータ, 2015年発売)と OREGON 600 (ハンドヘルドデバイス, 2013年発売) そして ForeAthlete230J (ランニングウォッチ, 2016年発売) の3点です。

4つのデバイスを同じカバンに入れて御苑や皇居の周辺を歩いてきたのですが、なぜか最初は ForeAthlete230J の計測ができておらず、途中からは仮組みだけで溶接していなかった GPS モジュールが断線する(ジャンパワイヤが抜ける)というアクシデントが発生したので、結局、4つまとめての計測は行なえませんでした。

しかし、計測できた部分だけでも見比べてみると、それぞれの性質の違いがよく見えてきます。GPSモジュールの位置情報ログが黒、EDGE 520 のそれが赤、ForeAthelete230J 青、 OREGON 600 紫です。

実験前は『みちびき』対応の GPS モジュールが正確さで圧倒するものかと思えましたが、GARMIN が意外にも検討していますね。それでも高架下やトンネルに弱い点は、この結果だけで分かってしまいます。

GPS モジュールの『みちびき』対応の成果は交差点や曲がり角に見て取れます。一方でモジュールは振れ幅も大きく、実際に通った場所からみて反対車線を通行したことになっていたり、まったく無関係な位置情報を拾っていたりもします。この辺り、GARMIN は受信したデータを内部でフィルタリングしているのかもしれません。

いざサイコンを作ってみようとなると検討すべき項目がいろいろ出てきますね。


計測環境をより詳しく知りたい人は以下を見てください。

計測日時 2020年6月25日 17:06 – 18:26
天候 曇り/雨
気温 25℃
湿度 78%
風速 3m/s from SSE
出力 GYSFDMAXB TXT/CSV
EDGE 520 FIT
FOREATHLETE 230J FIT
OREGON 600 GPX

GPS モジュール GYSFDMAXB は単体ではデータを記録することはできませんので、マイコンボードを経由して microSD カードにGPS受信ログを記録させています。

ここではマイコンボードに Arduino (IDE ver. 1.8.13), microSDカードスロットに AE-MICRO-SD-DIP, 記録媒体に SanDisk Ultra PLUS SDHC 16GB を使用しています。

MicroSDカードを FAT Format でフォーマットすると AE-MICRO-SD-DIP を用いてマイコンから読み書きできるようになりますので、Arduino IDE の Files > Examples > SD > ReadWrite からサンプルスケッチを読み込み、ファイル書き込み部分に GPS モジュールの出力を入れると簡単に実装できます。

今回、使用したのは以下のスケッチです。

#include 
#include 

#include 
#include 

SoftwareSerial mySerial(9, 10); // RX, TX
TinyGPSPlus gps;

void setup() {
  Serial.begin(57600);
  mySerial.begin(9600);  // Open serial communications and wait for port to open:
  while (!mySerial) {
    Serial.print("waiting for serial port to connect");
  }
  Serial.print("Initializing SD card...");
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");
}

void loop() {
  if (mySerial.available()) {
    gps.encode(mySerial.read());
    if (gps.location.isUpdated())
    {
      // open the file. note that only one file can be open at a time,
      // so you have to close this one before opening another.
      File myFile = SD.open("test.txt", FILE_WRITE);
      // if the file opened okay, write to it:
      if (myFile) {
        // timestamp
        myFile.print(gps.date.year());
        myFile.print(',');
        myFile.print(gps.date.month());
        myFile.print(',');
        myFile.print(gps.date.day());
        myFile.print(',');
        myFile.print(gps.time.value());
        myFile.print(',');
        // location
        myFile.print(gps.location.lat(), 6);
        myFile.print(',');
        myFile.print(gps.location.lng(), 6);
        myFile.print(',');
        myFile.print(gps.altitude.meters(), 6);
        myFile.print(',');
        // ground speed
        myFile.print(gps.speed.mps());//in meters per second (double)
        myFile.print(',');
        myFile.print(gps.speed.mph());//in miles per hour (double)
        myFile.print(',');
        myFile.print(gps.speed.kmph());// in kilometers per hour (double)
        myFile.print(',');
        // satellite 
        myFile.print(gps.satellites.value()); // Number of satellites in use (u32)

        myFile.println();
        myFile.close();     // close the file:
      } else {
        // if the file didn't open, print an error:
        Serial.println("error opening test.txt");
      }
    }
  }
}

スケッチをマイコンボードに書き込みましたら、ボードとモジュールをワイヤで接続していきます。GPS モジュール GYSFDMAXB はスケッチで指定した SS に RXD, TXD を接続して 5V 出力と GND は素直にそれぞれを接続すれば問題ありません。

SD カードスロットの方は、ピンがたくさんあって少しだけ複雑です。SD カードの裏側の端子(金色の窓の部分)は、たしか1つづつ別の役割があって、それがこのピンの数だけ・・・ 何だったかなと思っていたら、良い記事がありました。


Arduinoでパーツやセンサを使ってみよう~SDカード編(その1) | Device Plus – デバプラ
https://deviceplus.jp/hobby/entry021/


この記事通りにやっておけば、間違いがなさそうです。

ただ1点だけ AE-MICRO-SD-DIP の取扱説明書に記載されている DAT1 と DAT2 はそれぞれ data line 1 と 2 で「使いません」というか、予約されていて使えませんというほうが正しかった気がします(要確認)。

AE-M-SD-DIP ARDUINO UNO Pin
#2 CD/DAT3 chip select D4 #4
#3 CMD/DI host command/data MOSI #11
#4 VDD supply voltage 3V3 3.3V
#5 CLK clock SCL #13
#6 VSS supply ground GND GND
#7 DAT0 host data/status MISO #12

とりあえずは使えることを優先して、配線して通電すると下のようなファイルが microSD カードに作成されます。上のスケッチで記述した通り、年、月、日、時刻、緯度、軽度、高度、移動速度、捕捉衛星数が書き込まれている事が分かります。

2020,6,25,8142100,35.688156,139.704177,19.200000,2.64,5.90,9.50,8
2020,6,25,8142200,35.688156,139.704162,19.200000,2.64,5.90,9.50,7
2020,6,25,8142200,35.688156,139.704162,19.200000,1.48,3.31,5.33,7
2020,6,25,8142300,35.688159,139.704162,19.100000,1.48,3.31,5.33,8
2020,6,25,8142300,35.688159,139.704162,19.100000,1.01,2.26,3.63,8
2020,6,25,8142400,35.688171,139.704147,18.899999,1.01,2.26,3.63,8
2020,6,25,8142400,35.688171,139.704147,18.899999,1.36,3.05,4.91,8
2020,6,25,8142500,35.688194,139.704086,19.299999,1.36,3.05,4.91,8
2020,6,25,8142500,35.688194,139.704086,19.299999,2.15,4.80,7.72,8
2020,6,25,8142600,35.688209,139.704040,19.399999,2.15,4.80,7.72,8
2020,6,25,8142600,35.688209,139.704040,19.399999,2.54,5.67,9.13,8
2020,6,25,8142700,35.688209,139.703994,19.299999,2.54,5.67,9.13,7

OREGON 600 が出力する GPX ファイルと比較すると、こんな風になります。GPX ファイルの中身がおよそ 1 秒おきに記録されているのと比較すると、GPS モジュール GYSFDMAXB のほうは重複なしに同時刻に2回記録されていることが少し気になります。

ちなみに OREGON 600 が出力する GPX ファイルは XML に他ならないので、XML parser を使うとカンマ区切りのテキストファイルに容易に変換できます。

const parser = require('xml2json');
const fs = require('fs');
const xml = fs.readFileSync(process.argv[2], 'utf-8');
const json = JSON.parse(parser.toJson(xml));
for (const trk of json.gpx.trk.trkseg.trkpt) console.log(trk.time + ',' + trk.lat + ',' + trk.lon + ',' + trk.ele);

ここから位置情報を地図上に描画するには、下の記事を参考にされてください。


Garmin / Strava の走行記録をまとめて表示する


GARMIN Edge や Forerunner/ForeAthlete の FIT ファイルを地図上に表示するには以下の記事を参考にされると簡単です。


アプリを使ってライド記録を地図上に描こう


ここまでで今回は GPS 位置座標を比較しましたが、GPS受信データにはまだ他に高度や移動速度などの項目が含まれています。新宿駅東口の海抜がおよそ 37m 程度、新宿御苑周辺の海抜が 33.5m 程度なので、一見すると高度には大きな誤差はなさそうに見えますが、詳しくは調べてみないと分かりませんね。

それからサイコンとして使用するからには晴天の日にも自転車での移動速度の計測してみたいところです。いまのところデータセットが足りていないので、比較検証のためには増やしたい一方、計測する側からすると負担が大きいので端末の数を減らしたいところです。

もう少しデータセット増やしたいんですけどねえ。