Google Playアプリ

デジスパイス/GL-770対応
GPS位置情報中継アプリ MLS

この記事は約22分で読めます。
記事内に広告が含まれています。
スポンサーリンク

Android スマホの位置情報の精度と更新レートを向上させるために開発した
Android アプリの「
GPS位置情報中継アプリ MLS」について、
使用方法を紹介します。

GPS位置情報中継アプリ MLS

Bluetooth LE搭載(LNSプロファイル)のGPSロガーにBluetooth接続し、GPSロガーから受信した位置情報をスマホの位置情報として、中継するサービス型アプリです。
位置情報を使用して動作するアプリは、スマホ内蔵GPSの位置情報ではなく、GPSロガーの位置情報で動作するようになります。

GPSロガーから受信したGPS 位置情報は、スマホ上のアプリがスマホ内蔵GPSとして、認識・動作します。
最初にGL-770に接続、測位レートを表示。次に5Hz モードに設定したデジスパイスⅣに接続、測位レートを表示させたまま、デジスパイスⅣのセッティングで、5Hzモード → 10Hzモード → 20Hzモードに変更しています。
<strong>重要ポイント</strong>
重要ポイント

アプリのインストール前にスマホ本体の設定で「開発者向けオプション」を有効 にし、 インストール後に 「仮の現在地情報アプリを選択」で “MLS” を選択 してください。
詳しくは、こちらです。

GPS位置情報中継アプリ MLS

Bluetooth LE搭載(LNSプロファイル)のGPSロガーにBluetooth接続し、Androidスマホの位置情報に中継するアプリです。

開発した背景としては、スマホ内蔵 GPS の位置情報の取得が 1秒に 1回に対して、GPSロガーでは 1秒間に 5 ~ 10回と精緻に取得することが可能で、「GPSタイム計測アプリ Laps」や「GPS走行記録アプリ Archive」をスマホ内蔵GPSセンサーではなく、GPSロガーで動作させたいと思ったことがきっかけです。
簡単にAndroidスマホの位置情報を切り替えることを要件として、仕様検討、開発しました。

簡単にAndroidスマホの位置情報を切り替える
・GPSロガーに、接続でスマホの位置情報がGPSロガーに切り替わり、切断でスマホ内蔵GPSに切り戻しできる
・近くにあるBluetooth機器を検索でき、1タッチで接続できる
・接続した情報は保存でき、次回以降は接続操作のみで接続と切断は 1タップで操作できる
・アプリ本体は
サービスとして動作し、切断するまでバックグラウンドでアプリが動作し続ける
・別のアプリからサービス起動できる

GPSタイム計測アプリ Lapsから、シームレスで起動・停止が可能です。
動作環境

・Android 8 以降のスマートフォン
・GPSロガー(GL-770、GL-770M、デジスパイス3、デジスパイス4)で動作を確認しています

MLS(Mock Location Service)が動作中は、Android上で動作するアプリはスマホ内蔵GPSの代わりに、GPSロガーの位置情報を受け取って動作します。
ただし、位置ゲームなど疑似ロケーションでの動作を禁止しているアプリでは
動作しません

GPSロガーの位置情報をスマホに中継するアプリ – MLSをダウンロードできます↓↓↓

Google Play で手に入れよう

変更履歴(V5.2.36)
・GPSロガー検索でGPSロガーが見つけにくい現象を改善しました<new>
・エラーハンドリングを強化しました
<new>
・パラメータの並びを昇順に修正しました
<new>
・Transystem社のGPSロガー(GL-770M)に対応しました
<new>
・GPSロガーの速度単位の表示を追加しました<new>
GPSロガーの速度単位の自動判定を追加しました<new>
・Android14に対応しました
<new>
・タブレットに対応しました
・開発者オプションを有効化しているかチェックを追加しまし
・GPSロガーを検索する場合に位置情報が ON になっているかチェックするように変更しました
・GPS ロガーに接続完了で、メイン画面を自動で閉じるように変更しました
・通知画面からメイン画面の表示、アプリを終了できるように変更しました
・子画面のデザインと枠外タッチで画面を閉じるように変更しました

機能説明

MLSは、Bluetoothで接続可能な GPS ロガーを検索接続して、GPS ロガーから受信した位置情報を、位置情報を使用して動作するアプリに中継します。
MLSは、アプリからAPIで連携できるサービス型アプリです。

カテゴリ機能説明
検索デバイス検索近くにあるBluetoothデバイスを検索します。
MACアドレス指定接続するデバイスのMACアドレスを直接指定します。
接続デバイス接続デバイス検索からの選択、
MACアドレス指定のデバイスに接続して、
通信できる状態にします。
デバイス切断接続したデバイスとの通信を切断します。
中継位置情報プロバイダGPSロガーから受信した位置情報を
スマホの位置情報として中継します。
位置情報を使用して動作するアプリは、
GPSロガーの位置情報で動作します。
連携サービス別のアプリからサービス起動が可能です。
サービスとして動作し、
デバイス切断するまでバックグラウンドで動作します。

画面項目説明

各画面の画面項目について、説明します。

メイン画面

デバイスの検索、デバイスとの接続と切断する画面です。

①デバイス検索<searchアイコン>
タップすることで、近くにある Bluetooth 機器を検索します。
検索結果はデバイス一覧にリスト表示します(機器名が匿名の場合は、表示しません)

デバイス検索では、Bluetooth 機器の広告パケットを解析しています。
ペアリング設定すると広告パケットが出力されなくなるため、
ペアリングは解除してください。

保存しているデバイス情報を使用する場合は、ペアリングの解除は不要です。
デバイス検索を使用する場合のみ、一旦ペアリングを解除して、デバイス一覧からの接続後に、再度ペアリングしてください。

②接続ボタン
タップすることで、保存しているデバイス情報を使用して、デバイスに接続します。
デバイスの接続が完了し、位置情報の中継が始まるとメイン画面を自動で閉じます。

③メニュー
タップすることで、メニューを表示します。

Bluetoothデバイスを検索する
デバイスを検索します。

デバイスに接続する
④ MACアドレスの機器に接続します。

デバイスを切断する
④ MACアドレスの機器との接続を切断します。

システム設定
システム設定画面に遷移します。

ログ出力
開発者モードを有効にしている場合、記録した受信データをログ出力します。

ヘルプ
ブラウザで操作説明ページを表示します。

④デバイス名とMACアドレス
保存しているデバイス情報(デバイス名とMACアドレス)を表示します。

MACアドレスの下にGPSロガーの速度単位を表示します。

< デバイス検索結果 >

「GL7706711361」は、GPSロガー(GL-770)のシリアルナンバーです。

⑤デバイス一覧
近くにあるBluetooth機器を一覧表示します。
表示内容はデバイス名、MAC アドレス、アドバタイズのタイプです。
デバイス名をタップすると、デバイス機器に接続します。

< デバイス接続 >

⑥切断ボタン
タップすることで、接続しているデバイスを切断します。

⑦GPS情報
GPS ロガーから送信されてくるGPS情報を表示します。

⑧Google Map表示
GPSロガーから送信されてくるGPS情報でGoogle Mapを実行します。

GPSロガーは起動してから、位置情報の送信まで数分かかることがあります。
GPSロガーから位置情報を受信するまで
GPS情報は表示しません

通知画面

GPS ロガーの位置情報を中継するサービスを操作する画面です。

スマホの画面上部を下方向にスワイプすることで通知画面を開きます

①メイン画面<アイコン>
タップすることで、メイン画面を表示します。

②サービス終了<×アイコン>
タップすることで、位置情報を中継するサービスを終了します。

システムパラメータ画面

システムパラメータを変更する画面です。

①画面終了<×アイコン>
タップすることで、パラメータ画面を終了します。

②パラメータ一覧
パラメータをリスト表示します。
パラメータをタップすることで、パラメータ値の入力画面を表示します。

③メニュー
タップすることで、メニューを表示します。

閉じる
システム設定画面を終了します。

操作説明

各機能の操作方法について、説明します。

デバイス準備

①デバイス(GPSロガー)の電源をONにし、Bluetooth(BLE)を有効にします。

◎GL-770M(GL-770)

GL-770 のマニュアルより抜粋

◎デジスパイスⅣ(デジスパイスⅢ)

デジスパイスⅣ のマニュアルより抜粋

BLE を有効にしても、GPSロガー本体にログが記録されます。
GPS ロガー本体に記録したログを使用するソフトとの
併用が可能です。

①デバイス検索<search アイコン>をタップします。