古いスマホをサイコン化する【Locus Map PRO + BRouter + Xperia Z3 Compact】
Garmin等のGPSサイコンを超えうる機能を持つスマホサイコンの導入
はじめに
ロードバイクを手に入れて数ヶ月、今使っているスマホでナビ(googlemap, ルートラボビューワ)とログ(ridewithgps)を取ってきたが、以下のような不満が出てきたため、サイコンの導入を検討した。
・モバイルデータを使うので電池持ちが激しい
・gpxファイルを読み込んでナビができない
・SNS用の写真を撮るためにホルダーから外すのが面倒
しかし、ナビ機能が付いたサイコンは高額であり、気軽に手を出せるものではない。
そこで、引き出しに眠っていた古いスマホをサイコン専用として活用することを考えた。古くともさすがはポケットサイズのコンピュータ、ハードウェア上は最新のサイコンと比べても引けを取らない。私が数年前にROM容量不足で使わなくなったXperia Z3 Compactと最新のハイエンドサイコンであるGarmin Edge 1030 Plusを比較すると以下のようになる。
Xperia Z3 Compact | Garmin Edge 1030 Plus | |
---|---|---|
サイズ | 65×127×8.6mm | 58×114×19mm |
重量 | 129g | 124g |
防水 | IPX5/8 | IPX6 |
ディスプレイ | 4.6インチ透過型液晶 | 3.5インチ半透過型液晶(?) |
解像度 | 720×1280 | 282×470 |
ROM | 16GB | 32GB |
MicroSD対応 | ○ | - |
GPS | ○ | ○ |
みちびき | - | ○ |
気圧計 | ○ | ○ |
加速度計 | ○ | ○ |
Bluetooth | ○ | ○ |
ANT+ | ○ | ○ |
Wifi | ○ | ○ |
IPX6の噴水耐性、落下時耐衝撃性、透過型液晶による晴天での視認性およびバッテリー効率*1はさすがにサイコンに負けているが、それ以外の機能は十分備えているといっていいだろう。画面の大きさと解像度の高さはむしろアドバンテージである。さらにステレオスピーカーも備えているのでカーステレオとしても使える。
ハードウェアは問題なさそうなので次はソフトウェアである。求める機能は以下である。
・GPXファイルの読み込み、表示
・標高データと現在地の表示
・オフラインマップ
・GPXログの保存
特に2番目が問題でなかなかいいのが見つからなかったが、LocusMapPro(950円)を見つけたのでこれを使う。自転車用のナビアプリは月数百円のサブスクが多い中、買い切りなのはありがたい。*2また、オフラインでの経路検索のためBrouterも合わせてインストールする。
本記事はこれらのソフトの導入の備忘録のようなものである。
Locus Map Proの設定
オフラインマップをダウンロードする
左のメニュー→地図→オフライン→右下の+ボタン→LoMapsで自分の地域の地図をダウンロードする。PRO版のキャンペーンでかいくつかはサービスでダウンロードできるらしい(画像は本州をダウンロードしたあとなので四国を出している)
OpenStreetMapを他からダウンロードしてきてインポートすることもできる。
メニュー→地図からダウンロードしたLoMapsを選ぶと切り替えられる
省電力機能を無効にする
最近のAndroidの場合は位置情報の権限を常に許可する。これをしないと画面ロックのときにログをとってくれない。メイン端末にも入れようとしたらこれで悩んだ。(11/13追記)
オフラインでの住所検索機能のためにGeoNamesからデータベースをダウンロードする。
JP.zipをダウンロードして展開し、中のJP.txtを\Locus\Data\geoNamesに入れる
検索→メニューからGeoNamesとGNS→ファイルの選択→JP
右が「飯能」で検索したときの結果である。駅名や地名は収録されているがコンビニやら飲食店は収録されていないので、そこは別に持ち運んでいるスマホに頼ることになる。
BRouterの設定
スマホでBRouter起動→BRouter Appで使用したいエリアを選択→Start Download
これでBrouter上でオフラインのルート検索が可能になる
黒地の画面でバックグラウンドに追いやると最初からになるので注意
PCからBrouter Webにアクセスし、ルート探索の設定ファイルを作成する
デフォルトでプリセットが用意されており、左上から選択できる。日本のロードバイクに一番合ってそうなFastbike(Asia Pacific)を選び、よくあるルート作成サービスのUIで起点と経由地と終点を順に選ぶとルートが引ける。
…が、明らかに変である。私ならR16一択である。
右アイコンからCustomize Profileを呼び出し、Profile画面に移る。BRouterでは道路通過や勾配によってコストを算出し、それが最小となるようなるルートを導いている。
switch or highway=motorway highway=motorway_link switch allow_motorways 1.5 10000
switch or highway=trunk highway=trunk_link switch allow_motorways 1.5 10
switch or highway=primary highway=primary_link 1.2
switch or highway=secondary highway=secondary_link 1.1
switch or highway=tertiary highway=tertiary_link 1.0
switch highway=unclassified 1.1
switch highway=pedestrian 10
switch highway=steps 1000
switch route=ferry 5.67
switch highway=bridleway 5
switch highway=cycleway 1.3
switch isresidentialorliving switch isunpaved 10 1.2
switch highway=service switch isunpaved 10 1.2
switch or highway=track or highway=road or highway=path highway=footway
194行目からそれぞれの道路に対するコストを設定している。これをみると、trunk(幹線)のコストが1.5であるのに対しteriary等の規格が低い道路になるにつれて低下している。そのため幹線であるR16を避けてルートが引かれていた。OpenStreretMapにそれぞれの道路の例が以下にあるのでどのような道路が好きかを選んで編集する。ただし、国道は酷道含めTrunk、都道府県道はPrimaryに割り当てられるのであまり当てにならないような…
MoterWay(自動車専用道)はコストに関係無く他の設定で通らないようになってるので気にしなくてよいと思われる
私の場合は以下のように設定した。前述のルートもちゃんとR16を通ってくれた。
switch or highway=motorway highway=motorway_link switch allow_motorways 1.5 10000
switch or highway=trunk highway=trunk_link switch allow_motorways 1.0 10
switch or highway=primary highway=primary_link 1.0
switch or highway=secondary highway=secondary_link 1.0
switch or highway=tertiary highway=tertiary_link 1.2
switch highway=unclassified 1.4
switch highway=pedestrian 10
標高はトンネルを反映しているものの、切通は周りの標高を拾ってしまって高めに出てる気がする。このprofile内のテキストをコピペしてtxtファイルを作成し、拡張子を.brfに変更してスマホの\Android\data\btools.routingapp\files\brouter\profile2 に入れる。\Locus\router\profile2に入れる。(11/20追記)
スマホに戻りBRouterを起動しBRouter App→先程作ったファイルを選択→Server Mode→Bicycle_fastを選択してOK
LocusMapとBRouterの連携
LocusMapの設定→ナビゲーション→ルート検索システム→BRouter
さらに右の詳細設定でルート検索プロファイルから先程編集したファイル名を選ぶ。(11/20追記)
これで地点を選択→ナビゲーションでオフラインの経路検索ができるようになる。
LocusMapの表示設定
ダッシュボードエディターで地図の上にルートの標高含めた情報表示を設定する。がなかなか癖が強い。
また、設定の画面表示からこのアプリに限りロック画面を無効化する。
実戦投入
着弾!! pic.twitter.com/NlQmR6QE9a
— kafort (@kafortt) 2020年10月18日
きたく! pic.twitter.com/lKy4JHtDdy
— kafort (@kafortt) 2020年10月18日
スマホホルダーに取り付けて飯能までの日帰りライドに投入した。画面は30秒で自動消灯とした。データのログをとりつつナビゲーションを行い、特に問題無くルート通りたどりつくことができた。ログのgpxデータもWifiがあればアプリから直接Dropboxにエクスポートでき、管理も楽である。電池持ちに関しては9時間で電池残量10%となった。9時間無休憩で走り続けることは私の乗り方ではないので、休憩や食事中にモバイルバッテリーから充電すれは使い続けられそうである。ブルベ等に参戦するなら充電器ごと防水ケースに入れる必要があるかと。
不満点はスマホホルダーの問題で四隅が干渉すること、標高グラフが現在地を真ん中に表示してしまうことと縦軸がルート上の最高地点によって決められるため平坦→山岳のルートだと平坦区間が潰れて見えないことくらいであった。
設定では表示する最大の距離は変更できるが、現在地前後の距離は設定できない。上の画面では最大表示距離を3kmに設定しているが、現在地までの1kmと現在地からの2kmのような設定ができればよかった。平坦→山岳のコースでは途中でルートを分割すると見やすくなる。
細かい不満はあれど全体的に完成度は高く、買い切り950円のアプリとして十分満足できるものである。今後も使っていきたい。
続き、というかおまけ↓
*1:Garminに限らずサイコンは屋外使用が前提のため外光を用いて画面を照らしている。
*2:ただし、LocusMapもサブスクへの移行が予定されており、その際LocusMapPROはクラシック版としてメジャーアップデートは無くなり、保守のみのサポートとなることが発表されている。https://www.locusmap.eu/tag/subscription/