kafortの日記

kafortの日記

ロードバイクを手にした乗り鉄の雑な旅行記とメモ書き

古いスマホをサイコン化する【Locus Map PRO + BRouter + Xperia Z3 Compact】

Garmin等のGPSサイコンを超えうる機能を持つスマホサイコンの導入

f:id:kafort:20201021174115p:plain

はじめに 

 ロードバイクを手に入れて数ヶ月、今使っているスマホでナビ(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も合わせてインストールする。

 本記事はこれらのソフトの導入の備忘録のようなものである。

 

play.google.com

play.google.com

 

Locus Map Proの設定

  オフラインマップをダウンロードする

 左のメニュー→地図→オフライン→右下の+ボタン→LoMapsで自分の地域の地図をダウンロードする。PRO版のキャンペーンでかいくつかはサービスでダウンロードできるらしい(画像は本州をダウンロードしたあとなので四国を出している)

 OpenStreetMapを他からダウンロードしてきてインポートすることもできる。

 メニュー→地図からダウンロードしたLoMapsを選ぶと切り替えられる

f:id:kafort:20201015231331p:plain
f:id:kafort:20201015231336p:plain

 省電力機能を無効にする

f:id:kafort:20201015230607p:plain
f:id:kafort:20201015230655p:plain

 最近のAndroidの場合は位置情報の権限を常に許可する。これをしないと画面ロックのときにログをとってくれない。メイン端末にも入れようとしたらこれで悩んだ。(11/13追記)

f:id:kafort:20211113002325p:plain
f:id:kafort:20211113002329p:plain

 

 オフラインでの住所検索機能のためにGeoNamesからデータベースをダウンロードする。

download.geonames.org

 JP.zipをダウンロードして展開し、中のJP.txtを\Locus\Data\geoNamesに入れる

 検索→メニューからGeoNamesとGNS→ファイルの選択→JP

f:id:kafort:20201031001206p:plain
f:id:kafort:20201031001210p:plain

 右が「飯能」で検索したときの結果である。駅名や地名は収録されているがコンビニやら飲食店は収録されていないので、そこは別に持ち運んでいるスマホに頼ることになる。

 

BRouterの設定

  スマホでBRouter起動→BRouter Appで使用したいエリアを選択→Start Download

 これでBrouter上でオフラインのルート検索が可能になる

 黒地の画面でバックグラウンドに追いやると最初からになるので注意

f:id:kafort:20201015231257p:plain
f:id:kafort:20201015231303p:plain

 PCからBrouter Webにアクセスし、ルート探索の設定ファイルを作成する

brouter.de

 デフォルトでプリセットが用意されており、左上から選択できる。日本のロードバイクに一番合ってそうなFastbike(Asia Pacific)を選び、よくあるルート作成サービスのUIで起点と経由地と終点を順に選ぶとルートが引ける。

f:id:kafort:20201015232538p:plain

  …が、明らかに変である。私なら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(自動車専用道)はコストに関係無く他の設定で通らないようになってるので気にしなくてよいと思われる

wiki.openstreetmap.org

 

 私の場合は以下のように設定した。前述のルートもちゃんと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

f:id:kafort:20201016000651p:plain

 標高はトンネルを反映しているものの、切通は周りの標高を拾ってしまって高めに出てる気がする。このprofile内のテキストをコピペしてtxtファイルを作成し、拡張子を.brfに変更してスマホ\Android\data\btools.routingapp\files\brouter\profile2 に入れる。\Locus\router\profile2に入れる。(11/20追記)

f:id:kafort:20201016001412p:plain

 スマホに戻りBRouterを起動しBRouter App→先程作ったファイルを選択→Server Mode→Bicycle_fastを選択してOK

LocusMapとBRouterの連携

 LocusMapの設定→ナビゲーション→ルート検索システム→BRouter

f:id:kafort:20201015231308p:plain
f:id:kafort:20201015231314p:plain

さらに右の詳細設定でルート検索プロファイルから先程編集したファイル名を選ぶ。(11/20追記)

f:id:kafort:20201120203628p:plain

  これで地点を選択→ナビゲーションでオフラインの経路検索ができるようになる。

LocusMapの表示設定

 ダッシュボードエディターで地図の上にルートの標高含めた情報表示を設定する。がなかなか癖が強い。

 また、設定の画面表示からこのアプリに限りロック画面を無効化する。

f:id:kafort:20201031003049p:plain
f:id:kafort:20201031003044p:plain

 

実戦投入

f:id:kafort:20201021174115p:plain

試運転

 スマホホルダーに取り付けて飯能までの日帰りライドに投入した。画面は30秒で自動消灯とした。データのログをとりつつナビゲーションを行い、特に問題無くルート通りたどりつくことができた。ログのgpxデータもWifiがあればアプリから直接Dropboxにエクスポートでき、管理も楽である。電池持ちに関しては9時間で電池残量10%となった。9時間無休憩で走り続けることは私の乗り方ではないので、休憩や食事中にモバイルバッテリーから充電すれは使い続けられそうである。ブルベ等に参戦するなら充電器ごと防水ケースに入れる必要があるかと。

 不満点はスマホホルダーの問題で四隅が干渉すること、標高グラフが現在地を真ん中に表示してしまうことと縦軸がルート上の最高地点によって決められるため平坦→山岳のルートだと平坦区間が潰れて見えないことくらいであった。

f:id:kafort:20201021175411p:plain

 設定では表示する最大の距離は変更できるが、現在地前後の距離は設定できない。上の画面では最大表示距離を3kmに設定しているが、現在地までの1kmと現在地からの2kmのような設定ができればよかった。平坦→山岳のコースでは途中でルートを分割すると見やすくなる。

 細かい不満はあれど全体的に完成度は高く、買い切り950円のアプリとして十分満足できるものである。今後も使っていきたい。

 

続き、というかおまけ↓

kafort.hatenablog.com

 

*1:Garminに限らずサイコンは屋外使用が前提のため外光を用いて画面を照らしている。

*2:ただし、LocusMapもサブスクへの移行が予定されており、その際LocusMapPROはクラシック版としてメジャーアップデートは無くなり、保守のみのサポートとなることが発表されている。https://www.locusmap.eu/tag/subscription/