豪鬼メモ

一瞬千撃

無料かつ最強のサイクリングアプリIpBikeを使おう

Androidスマホで無料で使えるサイクリングアプリIpBikeの使い方をまとめてみた。各種センサーとの連携も、走行ログの記録と分析も、地図による経路表示も、Stravaなどとの連携もできる。スマホアプリは専用サイコンより使いやすい面と使いにくい面があるが、エンジョイサイクリング勢にとっては、サイコンの代替としての機能は十分に果たせると言えるだろう。


IpBike(アイピーバイク)はAndroidスマホで使えるサイクリングアプリだ。スマホのみでGPSによる速度表示と走行ログ記録と地図表示ができ、速度・ケイデンス・心拍・パワー等の外部センサーと連携してデータの表示と記録もできる。つまり一般的なサイコンを置き換える機能を提供する。iOS版は無いので悪しからず。以下のページの解説を読めば使い方は理解できるが、本稿では典型的な使い方に絞って説明する。
www.iforpowell.com

とにもかくにもGoogle PlayからIpBikeをインストールすべし。このアプリはガチのサイクリストかつプログラマのIfor Glyn Powell氏が趣味で作っていて、無料で、広告も全く表示しないのに、機能がてんこ盛りだ。商用アプリに負けない機能と品質のものをライフワークとして作って公開してくれる姿勢には脱帽する。余談だが、似たようなノリでガチのカメラマニアかつプログラマのMark Harman氏が趣味で作っているOpen Cameraというアプリもある。Androidの人はそちらもぜひ使ってみてほしい。



ちなみに、IpBikeは完全無料というわけではない。車輪が100万回転すると機能制限がかかり、IpBikeKeyというアプリを600円で買うように求められる仕様になっている。とはいえ100万回転した頃にはブロンプトンの周長1.324mのタイヤでも1324kmも走っていることになるわけで、そこまで使い込んだなら600円は安かろう。まだ私は12万回転しかしていないが、もうIpBikeKeyを入れた。

まずは外部センサーなしでIpBikeを使ってみよう。IpBikeを起動すると、以下の左のような画面になる。これをトップ画面と呼ぼう。ここで「GPSオン」を押すと、右のような計測モードになる。計測モードになるとGPSを使って速度を計測して画面に表示し始める。位置情報と地図データから標高や勾配なども算出して表示してくれる。ただし、走行ログの記録はまだ始まらない。このままだと速度表示の上にボタンが被さっていて使い勝手が良くない。さっさと「走行開始」を押してログ記録を始めよう。



走行中はGPSで位置情報が記録され続ける。速度、走行距離、走行時間などの情報も画面に表示される。画面を左右にスワイプすると、地図とデータの同時表示や地図のみの表示などの画面構成の切り替えができる。




一連の走行が終わったら、「走行停止」を押す。データのみの画面だと各ボタンは半透明になっているが、それでも押せるようになっている。さらに「GPSオフ」を押すと、トップ画面に戻る。ここで「走行履歴」を押すと、さっき記録した走行ログがリストに出ている。各項目を長押しして名前をつけたり削除したりもできる。



各項目を押すと、走行ログの内容が見られる。走行距離や平均速度などの統計が見られる。それにしても、最寄りのスーパーに行って帰ってくるだけで獲得標高322mにもなる我が家よ。



「統計」を押せば各種のグラフが見られるし、「ルート」を押せば経路が地図上に描画される。速度と高度を表示するだけでも大体の地形と頑張りが分かる。下りは56km/hも出して飛ばしていたが、登りは10km/h前後で地道に漕いでいた。



さらに、「保存する」でGPX形式の経路情報やFIT形式の走行ログなどの形式保存して、任意の後処理にかけても良い。「アップロードする」ならStravaなどの外部サービスに直接データを送信することもできる。



なお、走行中に「一時停止」「再開」ボタンで走行ログの停止と再開ができるが、基本的にこの機能は使わなくても良い。走行時に信号で停止したりどこぞで休憩したりしている間は走行時間から除外したくなるが、これは勝手にやってくれるからだ。しかし、トイレやコンビニなどで屋内に入るとGPSは誤作動する可能性があるので、それが不安な場合には手動で停止と再開をすることになる。ただし、停止した後に再開するのを忘れて後でがっかりすることがたまにあるので注意だ。車体取り付けの速度センサーと連携すればこの煩雑さからは解放される。

GOTOESというサイトを使うと、複数の走行ログのGPXファイルを結合できる。走行中に間違って走行停止ボタンを押してしまった場合に役立つ。旅ブログなどで複数日に渡った走行ログを結合して表示したい場合にも便利だ。その際に膨大になりすぎた経路情報を間引きする機能もある。

走行ログを各種サイトに直接アップロードする際には、それぞれ前準備が必要となる。ここではStravaにアップロードしてみよう。設定の「走行記録のアップロード」「strava設定」に入ってから、「Connect with STRAVA」を押す。その先の画面で「許可する」を押すと認証が完了する。



その上で、走行履歴の表示画面の「アップロード」を押して、Stravaの欄にチェックを入れて、OKを押すと、その走行履歴がStravaにアップロードされる。めっちゃ簡単だ。

IpBike単体ではナビの機能はないが、地図に経路情報を表示する機能はある。何らかの方向でGPXかFITかIPPの形式のデータを作って取り込めばよい。最も簡単なのは、Googleマップの経路情報をGPXに変換して取り込むことだ。まずはブラウザでGoogleマップで経路検索して、途中のルートを適宜ドラッグ&ドロップで修正して経路を生成する。なお、URLが必要なので、アプリではなくブラウザ版のGoogleマップじゃないとダメだ。

画面左にある「Copy link」をクリックすると、その経路のURLがコピーされる。その状態で、mapstogpx.comにアクセスして、入力欄に先ほどのURLをペーストして、「Let's Go」を押すと、ローカルにGPXファイルがダウンロードされる。

そのGPXファイルを適当な名前で保存してから、Googleドライブにアップロードしておく。

IpBikeの画面に戻って、「ルート」ボタンの先の「読み込む」の先の「Import」を押す。それから、画面左上のメニューアイコンをクリックして、「ドライブ」を選ぶと、Googleドライブのファイルを直接読み込めるようになる。画面上の虫眼鏡アイコンをクリックして「gpx」で検索すればさっきアップロードしたGPXファイルが出てくるので、それを選ぶ。




そうすると、IpBikeの経路情報として取り込まれる。画面下の戻るボタンで戻ってから、普通に「GPSオン」「走行開始」で走行すれば良い。登録した経路に沿って走行している場合、その経路から外れると警告音で教えてくれる。



残念ながら、IpBikeは経路を表示する機能しかなく、経路案内の機能はない。よって、経路案内が欲しいならば、Googleマップをそのまま使うのが良い。というかその方が圧倒的に便利なのでおすすめだ。Androidの2画面分割機能を使って、IpBikeとGoogleマップを上下または左右に並べて表示できる。2画面分割するには、主たるアプリであるIpBikeを表示している状態で画面右下の四角ボタンを押して「分割画面」を選んでから、同時に表示するアプリであるGoogleマップを選ぶことになる。IpBike側はデータ表示のみのスクリーンにしておけば地図が冗長になることもない。



この方法ならGPXファイルを作ったり送ったりする煩雑さもないし、音声案内もしてくれるし、経路から外れた場合の経路再計算も賢くやってくれる。Googleマップの経路探索はStravaやRide with GPSよりも賢く、細かい経路修正がほとんど必要ないのが良い。個人的には自転車モードではなく自動車モードで使うのが好きだ。自転車モードだと無駄に脇道に逸れて最短経路とは程遠いことが多いからだ。おそらくだが、自転車用のアルゴリズムでは、交通量が少ない道を選好するのが仇になっている。また、「なるべく右左折せずに同じ道を進んだ方が速度が落ちないから結果的に速い」という車両用の観点が抜けている。自転車だって車両だし、減速・停車・加速に伴う時間と体力の損失はむしろ自動車よりも厳しいので、現行の自動車用のアルゴリズムこそが自転車に適している。ただし、自動車モードだとオプションで高速道路を外したとしてもたまに自動車専用道を通ろうとするのがうざったい。Google様におかれては、自転車モードに最速経路重視のオプションを付けるか、自動車モードに自動車専用道路抜きのオプションを付けてくれればと切に願う。そして、OpenStreetMapのデータとユーザの走行ログに依拠したサイコン各社の経路作成サービスにおかれては、無差別の自転車が多く通った経路ではなく、速い自転車が多く通った経路重視のアルゴリズムを実装していただきたいところだ。

これも余談だが、OsmAndという地図アプリが結構便利だ。表示がかなり見やすいので、近距離のサイクリングならば使い勝手が良い。ただし、経路探索機能がイマイチだ。駅名を「○○駅」で検索できないし、現在地から遠い地名が検索できないし、経路選択も遠回りやグネグネの結果が多い。しかし、表示内容が単純化されているので、ナビとして使いやすい。3D表示にすると2画面分割表示で見やすいのも素晴らしい。地図データをダウンロードすればオフラインでも使える。Googleマップでもできるが、オフラインマップを駆使すればSIMを抜いた古いスマホをサイコン専用機として使うこともできる。




2画面分割が面倒な場合、アシスタントキーでアプリを切り替えるのがおすすめだ。最近のAndroidスマホは電源ボタンと音量ボタンの他にアシスタントキーというのがあって、任意のアプリを起動するのに使える。私の場合、普通押しは誤動作が多いので何もしないようにして、長押しでGoogleマップが起動して、ダブルクリックでIpBikeが起動するようにしている。スワイプ操作で切り替えると3秒かかるところ、アシスタントキーなら1秒かからずに切り替えられるので、便利かつ安全だ。

ここでIpBikeの基本的な設定をしていこう。IpBikeの設定項目はマニアックすぎるとも言えるくらい多岐にわたるのだが、とりあえず以下の設定をやっておいた方がよい。

  • メインバイク設定
    • 走行記録の設定
      • 走行記録をはじめる距離:0 (勝手に走行記録が始まるとうざい)
      • Inactive auto stop time:120 (2時間停止状態だと走行記録が自動停止)
      • 走行記録をする最小単位:1 (1km以上走らないと走行ログが成立しない。間違ってスタートするとむかつくので)
      • 走行の最小タイム:180 (180秒以上走らないと走行ログが成立しない。同上)
      • Non-active speed timeout:3 (走行ログの自動一時停止の閾値を3秒にする)
    • 走行記録のアップロード
      • 上述のようにStrava等の認証をしておく。
  • 表示、音声設定
    • 音声通知、透過度、触感
      • 速度の透過度:85 (速度表示に被ったボタンが目立たなくなるように)
      • タップの揺り返しを有効:オフ (バイブはうざいので)
    • TTS - Feedback
      • Max event feedback:オフ (最高速度の更新が毎回読み上げられるとうざい)
      • 音声の通知を有効:オフ (毎回 "GPS Fix Good"とか読み上げられるとうざい)
    • マップの設定
      • Auto zoom map:オン (デフォルトだと地図の縮尺が大きすぎる)
  • その他の設定
    • 走行記録の設定
      • タイムスタンプをつける:オン (日付が走行ログ名に付くとわかりやすい)
    • 端末の電源制御
      • 気圧計から高度を取得:オン (値の変化の精度が上がって、勾配の精度も上がる)
      • Pressure sampling rate:fastest (同上)
    • 細々とした設定
      • 全てのヒントを無効にします:オン (ヒントダイアログはうざい)

ところで、IpBikeの地図表示で自分が今向いている方向を上に表示するにはどうするか。それは、地図の上で長押しして、「走行方向へ自動回転」を選べばいい。また、マップをスクロールしても常に現在地が中心になるように戻されてしまうのがうざい場合、「固定解除」を選べばいい。さらに、「マップのソースを選択」を使うと、Googleマップ以外にGoogle EarthOpenStreetMapを表示することも可能になる。とはいえ、私は基本的にGoogleマップのアプリ2画面分割で使うのでIpBikeの地図は使わない。ポタリング的に経路を決めずに出かけて、出先で適宜行き先を変えていくという走り方においては、事前にPCで経路を作ってスマホやサイコンに送るなんて面倒は耐えられない。その点でGoogleマップをそのまま使えるのはスマホをマウントして使う大きな利点だ。

多くのスマホには気圧計が搭載されているが、気圧から高度を推定する場合に、天気の変化をどうやって吸収するのか気になるだろう。その答えは公式サイトに解説がある。センサーを起動した時にGPSによる位置情報を得て、ネットを検索して近くの高度を得て、それを基準値にするというのだ。賢い。気圧計による高度推定は変化量の検出精度が高いので、それを使った勾配の精度も上がる。勾配はパワーや消費カロリーの推定にも使われるので、それらの精度を上げるためにも気圧計は重要な役割を果たす。

画面に表示するデータのカスタマイズも当然できる。「IpBikeは表示が煩雑すぎて使いにくい」みたいなレビューをする人がたまにいるが、ろくに使い方を調べずに批判するのは正当ではない。まずはこの説明書を全部読むべし。トップ画面(GPSオフ状態)の各スクリーンにおいて、画面の上の方から一番下までスワイプするのを2回やると、そのスクリーンの設定項目が出てくる。「カスタム画面の削除」を選ぶと1番目のスクリーン以外は消せるので、それで消してしまおう。新しいスクリーンを作りたい場合、最後のスクリーンで左にスワイプすれば良い。



トップ画面で各データ項目を長押しすると、その項目の内容を変更したり削除したりできる。まずは全部削除してから、自分が興味ある項目だけを追加していくと良いだろう。ただし、一番上の4つの項目はその方法では削除できない。それらは「メインパネル」がセンサーを検出して自動描画している項目だからだ。外部センサーと連携していない場合には走行時に速度だけが表示されるようになる。メインパネルを消すには、スクリーンの設定画面でオフにすれば良い。それから、表示したい項目をひとつひとつ追加していこう。スクリーンの設定画面で、「パネルグループを追加」を選ぶと、行が追加される。それを長押しすると、表示項目を選ぶ画面になる。表示可能な項目もマニアックすぎるぐらい多種多様なので、迷ってしまう。平均速度や平均ケイデンスなどの時間に関わる概念は「活動」(active = 停車時間を除いた時間)と「実測」(real = 停車時間を含んだ時間)で分けて考えることに留意すべきだ。トレーニングが目的なら活動時間に注目し、旅やブルベなら実測時間に注目することが多いだろう。




同一行に複数の項目を表示したい場合には、その行を長押しして「項目を追加」する。「大きくする」「小さくする」で行の大きさを変えることができる。「override appearance」で文字の色やラベルや単位の表示も変えられる。グループと行の概念には注意だ。各グループをタップすると、1行目だけ表示して2行目以降が隠されるフリップが発動する。フリップは使いにくいので、基本的には行の追加はしないほうが良い。こんな細かい制御ができるのは、趣味全開の個人開発のアプリならではだ。商用製品でこんな柔軟かつ複雑な設定を用意したら、テストが膨大になって、ユーザマニュアルが分厚くなって、ユーザサポートがパンクしてしまうだろう。なお、心拍やケイデンスやパワーなどの外部センサー依存の項目は、たとえ項目として追加しても、該当のセンサーが接続されていない場合には、走行開始すると隠されてしまう。

個人的な好みとしては、以下の3スクリーン構成にするのが最善だ。最初のスクリーンには「GPSオン・オフ」「走行開始・停止」のコントロールボタンとともに、経過時間や走行距離や平均時速などの走行全体の統計値を表示する。2番目のスクリーンには、速度、ケイデンス、心拍数、パワーなどの現在の値とその直近30秒平均とともに、勾配と高度と距離と活動時間を出す。基本的にはこの2番目のスクリーンを見ながら走ることになる。3番目のスクリーンは速度とケイデンスと心拍数とパワーの現在の値とともに地図を出す。これはちょっと道に迷いそうな時に使う。画面下の方の6つのボタンは「GPSオン」にすれば消えるので邪魔にはならない。各項目のラベルは後で適当に分かりやすく変えよう。




以上の操作と設定を覚えておけば、基本的なサイコンとしての機能が充足するはずだ。機能的にも性能的にもハイエンドのサイコンに劣っていない。スマホは筐体がでかすぎるという欠点はあるが、画面が見やすいという利点と相殺される。というか最近のハイエンドのサイコンはどんどんでかくなってきている。どのみちサイクリングの際にもスマホを持って出かけるだろうから、重さの面ではむしろサイコンがない方が得だ。スマホをサイコンとして使うと、経路情報や走行ログのサイコンとの転送の手間が無いのも楽だ。ガーミンやらワフーやらの10万円以上のサイコンならサイコン単体で経路作成もできるらしいのだが、その値段だともうハイエンドのスマホが買えてしまうわけで、なんで下位互換品にそんな金を出すんだという気になってしまう。

バッテリーの持ちに関しては、明らかにサイコン専用機の方が良い。スマホをサイコンとして使って半日以上のロングライドをする場合、こまめにディスプレイをオフにすることが必要になってくる。ディスプレイのオンオフは電源ボタンを押すだけでできるので、私はその運用で満足している。ディスプレイをオフにしていても走行ログは継続されるし音声で経路案内も継続される。その対策だけでバッテリーが1日は持つはずだ。心拍や速度やケイデンスをロングライド中にずっと眺めている必要もないだろう。基本的にはディスプレイはオフにしておいて、各種データが気になった時や、道に迷いそうな時だけ、ディスプレイをオンにすれば良い。

とはいえ、ロードレースやブルベの本番ではそんなことはやっていられないだろうし、日常のトレーニングの反復をするなら経路作成の手間なんかより走行時のデータの見やすさの方が重要だろうから、サイコン専用機に価値があるのもわかる。私もBryton Rider 460やCoospo C500あたりは普通に欲しい。白黒画面の簡素なものが好ましい。電子書籍の読書をするならPCやタブレットではなくKindleなどの電子ペーパー端末を使いたくなるのに似た感覚かな。

IpBikeは外部センサーとの連携もできる。スマホがANT+での通信に対応していればANT+のセンサーとも連携できるらしいが、私のスマホAquos R3はANT+に対応していない。しかし、ほぼ全てのスマホBluetoothでの通信には対応していて、最近のセンサーの多くはBluetoothにも対応している。それらセンサーを起動した状態で、トップ画面の「センサー」を押すとセンサーが登録できる。センサーの制御はIpSensorManという別アプリで行う。外部センサー連携の詳細については次回の記事に持ち越す。
mikio.hatenablog.com

IpBikeの多言語化は中途半端だ。一人の作者と何人かの協力者だけでやっているのだから仕方がない。むしろ日本語化のカタログのカバレッジが半分以上に及んでいることに驚くぐらいだ。とはいえ英語と日本語が混ざっているのは見苦しいので、一連の設定が終わったら英語に変えてしまっても良いだろう。設定の「表示、音声設定」の「System language override」でEnglishを選べば、OSの言語設定とは別にアプリだけを英語にできる。言語設定をスクリーンに反映するためにはアプリの再起動が必要だ。