GPSの無いAndroid端末で外部GPSを使う その1(USB-GPS + GNSS Commander)

2019年7月12日Ad, Android, YOGA Tablet2, マップ

これまで色々とYOGA Tablet2(1051F・Windows8.1)の再利用方法を試していますが、前回のWindows環境で内蔵GPSあるいはUSB接続のGPSレシーバーを使ってのナビゲーション利用は、肝心のナビゲーションに対応する地図アプリが存在しないという残念な状況により、実現する事は出来ませんでした。今回は以前に試して諦めた、Android-x86を再びYOGA Tablet2にインストールし、Android環境でUSB接続のGPSレシーバーを使用してみます。

スポンサーリンク

注記1

この記事は2019年7月現在での内容です。実際に私が行った内容で書いていますが、その後に製品やアプリ等の仕様や方法が異なる場合があります。これら記事の内容を参考にしての作業等は、自己責任と自己判断の下でお願い致します。また私個人の所感や勘違い等の可能性もあるので、記事内容の保証は出来ません。

YOGA Tablet2へのAndroid-x86インストール

「以前試して諦めた」Android-x86ですが、理由はAndroid-x86立ち上げ後、数分~数10分でWifiが切断されてしまい、再接続も出来ない状況となってしまう為です。Android-x86の複数バージョンも試しましたが、どのバージョンも同じでした。今回はあくまでUSB接続のGPSレシーバーを試してみる為に、再びAndroid-x86をインストールしています。YOGA Tablet2へのAndroid-x86のインストールについては以下の記事から見て下さい。

またYOGA Tablet2に内蔵されているGPSはAndroid-x86では認識出来ず、GPS情報表示アプリを使用しても何も表示されませんでした。通常販売されているAndroidのスマホやタブレットでは、GPSを搭載していて使用も可能だと思うので、この記事の様にUSB接続のGPSレシーバーを使用する事自体がほとんど無いと思われますが・・・。

今回インストールしたAndroid-x86は64bit版の「8.1-r2」です。相変わらずWifiは切断されてしまいますが、以前のバージョンと比較すると切断されにくくなった気はします。

USB接続のGPSレシーバー

今回もWindows環境で使用した、上記のUSB接続のGPSレシーバー(U-Blox7)を使用します。Windows8.1のYOGA Tablet2ではドライバーのインストールが必要でしたが、Windows10のノートPCではドライバーをインストールせずとも使用出来ました。ただしドライバーをインストールしないとQZSS(みちびき)が受信できない様子だったので、いずれにせよドライバーは必要だったと判断しています。

今回はAndroid-x86なので、U-Blox7が使用出来るのかどうかはAndroid-x86次第になってしまいます。ただしAmazonのレビュー内では「GNSS Commander」というアプリでU-Blox7からのGPSデータを確認出来るとの書き込みがあるので、このアプリを合わせて使用する事で可能になりそうです。ちなみにGNSS Commanderは「NTRIP-RTCM機能」以外は無料で使用出来ると記載されています。

!注記2(2019年12月追記)!

「GNSS Commander」アプリは「PPM Commander」と名前を変え、USBデバイスはppm GmbHのデバイス(ppm-10xx)しかサポートしなくなってしまった様です。

現在の「PPM Commander」では上記の通りUSBを選択しても、その先でさらに選択出来たUSBデバイスの種類が選択出来ません。従って残念ながらこの記事内容でのU-Blox7の利用は出来なくなってしまいました。

また別記事(下記)で他のAndroid端末とBluetoothでペアリングを行い、GNSS CommanderのGPS inputを「Bluetooth」として他の端末からGPSデータを受信する方法もありますが、こちらも私が試した限りでは「Function in Basic mode not available!」と出てしまい、受信する事は出来ませんでした。

有料版(ライセンス)で利用できる様になる機能もありますが、有料版であればBluetooth接続機能も利用出来るのかは不明です。現在のGooglePlayのアプリページでは以下の様に記載されています。

Free features
+ GPS Status
+ Satellite list & Sky-Plot with subsystems like GPS, Glonass or Galileo
+ Coordinate-Transformation into local coordinate system
+ Mock location provider (e.g. use your external device for navigation)
+ Log all received NMEA data

You need a license for
+ RTK correction data over internet (NTRIP client)
+ RTCM monitor
+ Android “content provider" feature to access all status data

他の端末からGPSデータをBluetoothで受信出来るアプリは、GNSS Commander以外にもあります。以下にて実際に試してみました。

---2019年12月追記ここまで

※以下の内容は2019年12月以前の古い内容です。

GNSS Commander

上記ではAndroid-x86を立ち上げてUSBにU-Blox7を繋ぎ、GNSS Commanderアプリを立ち上げています。設定でGPS inputをUSB、さらにその下からデバイスとしてU-Blox7が選択出来ます(上記左図)。その他色々設定項目があるのですが、とりあえず「日本」を選択出来る箇所は適当に設定しておきました(上記右図)。

暫くすると、GNSS Commanderのアプリ内でGPSの受信状況が確認出来ました。アプリ内ではGoogleMapも表示出来て、現在地も認識出来ています。ただしWindows10環境でドライバーを使用しなかった時と同様に、QZSS(みちびき)が受信出来ない様子です。また現状ではGNSS Commanderアプリ内でのみGPSが確認出来ているだけなので、以下より他のアプリでもGPSデータが利用出来る様にします。

まずはGNSS Commanderの設定で、「GPS Mock location」にチェックを入れます。

次にAndroid-x86側の設定で「開発者向けオプション」の「仮の現在地情報アプリを選択」でGNSS Commanderアプリを選択します(上記左図)。その上でAndroidのGPSスイッチをONにしてGPSを有効にすると(上記右図)、GNSS Commanderアプリを介してGPS(データ)が利用出来る様になります。※開発者向けオプションは「ビルド番号」を7回ほどタップすると表示されます。

別のGPS情報表示アプリを使用してみるとGPS衛星は補足出来ていませんが(上記矢印)、位置データは表示出来ています(緯度・経度)。この状態であればGoogleMapの地図アプリ等でも現在地が表示されます。

位置情報はWifiやBluetoothからもデータを取得しているので、念の為に設定から端末の「GPSのみ」としてみましたが、この場合でも地図アプリ上に現在地が表示出来ました。

スポンサーリンク

GoogleMapアプリによるナビゲーション

GNSS Commanderを介してUSB接続のGPSレシーバーのデータを利用出来る様になったので、実際にGoogleMapアプリでナビゲーションが可能か試してみました。

GoogleMapアプリでナビゲーションを行うにはインターネット接続が必要ですが、先に書いた様にAndroid-x86をインストールしたYOGA Tablet2ではWifiが切断されてしまうので、スマホ(Android)からBluetoothでテザリングを行っています。また音声も出ないので車両のカーナビともBluetooth接続してカーナビから音声を出力してみました。

結果としては問題無くナビゲーションが行えました。現在地が異なったり、案内が遅れる様な事もありませんでした。スマホのGoogleMapアプリでナビゲーションを行った場合と、何ら様子は変わりません。意外にスムーズだったので少し驚きました。ただし音声案内ではなく「ポーン」というチャイム音しか出ませんでしたが、これは音声案内がダウンロードされていなかったり、更新が必要な場合は音声ではなくチャイム音になるとあります。

まとめ

Android-x86でもGNSS CommanderアプリでUSB接続のGPSレシーバーが利用可能となり、GoogleMapアプリでナビゲーションも可能でしたが、そもそもテザリングを行っているスマホがそこにある時点で本末転倒な状態です。画面が大きいという部分に利用価値がありそうな気がしますが、今のGoogleMapの地図やナビゲーション機能には、不安な部分もあるので微妙な所です。代わりに使用されるアプリとしては「Yahooカーナビ」が有名かと思いますが、YOGA Tablet2のAndroid-x86では上手く起動してくれませんでした(バックグラウンドでは動いているが、画面が出ない)。

ちなみにオフラインのマップアプリで「MAPS.ME」というアプリがあり、ナビゲーションも可能ですが地図はOpenStreetMapなので実際の使用はなかなか厳しそうです。

また同時に車両側の「カーナビ」も利用しましたが、やはり専用機の利便性は比べ物になりません。

GooglePlayのGNSS Commanderアプリページではサポートされている機器として以下の様に記載されています。

GNSS Commander currently supports devices from vendors:
• Bluetooth – all devices providing SPP profile (LNS profile is planned)
• USB – FTDI chipset
• USB – MTK MediaTek chipset
• USB – Silicon Labs chipset
• USB – Prolific chipset (e.g. PL2303)
• USB – u-blox chipset (e.g. VK172)

この中の「Bluetooth」については、外部GPSとして他の機器からBluetooth接続によるGPSデータの受信が可能です。一例としては他のスマホのGPSデータをBluetooth接続で利用する事が出来る様ですが、この方法であればUSB接続のGPSレシーバーの必要は無くなる事になります。次回はこのBluetooth接続を試してみたいと思います。→試しました(下記)。

「YOGA Tablet 2」関連記事

以下は「YOGA Tablet 2」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。