GPS関連実験室

【AR Satellite Linker for Android の簡易説明書】


・本稿ではSPH-DA05等AppRadio本体を「車載機」、Android OS端末を「端末」と表記します。


【オプション設定】

・自動起動関連


 ・システム起動時にサービスを起動

  android os起動時にARSLのリンクサービスを自動起動します。


 ・アプリ起動時にサービスを起動

  本アプリの起動時にARSLのリンクサービスを自動起動します。
  こちらは非推奨オプションです。
  条件によってはサービスを停止できない事が起こりますのでその際はこのオプションをOFFにして下さい。


・接続挙動


 ・車載機が接続されるまで「待機」

  車載機と端末が接続状態になるまでリンク待ち処理を行いません。
  余分なバッテリー消費を避ける事が出来ます。
  なお、ここでの接続とはペアリングのみではなく実際に接続状態になっていることを指します。


 ・accept待機時間

  端末側に設立したBluetooth受信サーバーの待機時間を指定します。
  指定した時間が来ても車載機から接続されない場合は以下の3つのオプションが実行されます(有効時の場合)。


 ・指定リトライ回数ごとにBluetooehをOFF→ONする

  acceptタイムオーバーが指定回数したら一度Bluetoothの電源をOFFして再度ONします。
  これによりハンズフリーサービスが再起動されますので、車載機からの接続を誘発することができます。


 ・リトライ時に受信サーバーを再起動

  acceptタイムオーバーが発生する度に受信サーバーを再起動してリフレッシュさせます。


 ・待機状態に戻るまでのリトライ回数

  acceptタイムオーバーが指定回数したら待機状態にもどります。
  「車載機が接続されるまで待機」が有効になっている場合のみ有効。
  

 ・GPS共有サービスを起動

  GPSデータのみを他の端末にも送信する機能です。
  ※現在のところ未実装です。


 ・PBAPダミーサービスを起動

  PBAP(Phone Book Access Protocol)のダミーサービスを起動します。
  車載機と端末が接続する手順は

  ・端末が車載機のPBAPサービスチャンネルを開く
  ・すると車載機が端末側のサーバーに接続を開始する

  という手順になっています。しかし、スティックAndroid端末は電話機能を持たないため
  PBAPサービスが存在せず、上記プロセスが正常に進行しない場合があります。
  これを回避するための設定です。


・GPS関連

 ・疑似ロケーションにGPS情報を送信

  車載機から得たGPS情報を端末の疑似ロケーションに設定します。

  なお、ヘディングアップで参照される方位に関してはナビアプリによってまちまちです。
  例えば、google mapsの場合は端末の磁気&加速センサーのみを参照するらしく、
  これらのセンサーが無いスティック端末ではヘディングアップ表示を行う事ができません。


 ・GPS状態などの接続情報を表示しない

  ARSLのメイン画面にはタッチパネルや現在の経度緯度の情報を常時表示しています。
  本オプションを適用すると、この情報を更新しなくなりCPU処理時間を僅かに削減できます。


 ・緯度.経度の更新を1秒に1回のみにする
 ・方位の更新を1秒に1回のみにする

  車載機からの位置情報は1秒間に5回更新されますが、Androidアプリ側で1秒に5回も
  位置情報の更新を受け取ると地図の描画が重くなったり画面がブレたりすることがあります。
  その際はこのオプションを有効にして更新頻度を下げてみると良いかもしれません。


 ・車載機の方位情報を利用しない

  ナビアプリによっては端末側の磁気方位センサーとの相性で方位がふらつくことがあるかもしれません。
  その場合はこのオプション設定にて車載機側の方位情報を無視すると良いかもしれません。
 

 ・車載機の速度情報を利用しない

  車載機から得られる速度情報を疑似ロケーションに登録しないようにします。


 ・自立航法時の進行距離補正値 [南北]
 ・自立航法時の進行距離補正値 [東西]

  衛星ロスト時に行われる自立航法での車の移動距離にかける補正値を設定します。
  トンネル内で実際よりも移動距離が極端に短い場合は本オプションの値を増やてください。
  デフォルト値は1.025倍です。最大でも1.050程度までが適切と思われます。
  

 ・疑似ロケーションテストモード

  位置情報を東京駅前丸の内側の方位真南に固定します。
  疑似ロケーションが有効になっているかの確認に利用してください。

  ほとんどのナビアプリでは位置情報側の方位情報は利用されていないようです。
  なお、テストモードでは車載機とリンクしないので操作は端末側で行う必要があります。



・ミラーリング関連


 ・ボタンとタッチ操作をミラーリング

  車載機のタッチパネルとボタンの操作を端末でエミュレートします。
  (バックボタンを長押しすると車載機のトップ画面に戻る事が出来ます。)


  ・サービスのスレッド優先度を高くする

   車載器から送られてくるタッチイベントを直ちに処理出来るように
   ARSLサービスのスレッド優先度をアプリに設定出来る最高品質まで引き上げます。
   システム全般が重くなったりする場合はこのオプションを外してください。


  ・スタックしたタッチイベントの間引き処理をする

   ARSLのサービススレッドの処理が後回しにされてしまうことで
   タッチイベントがスタックされて(溜め込まれて)しまった場合に
   一部のイベント処理を間引きます。

   システムに超高速フリックと誤認される現象への対策オプションです。


  ・タッチパネル座標の縦と横を入れ換える
  ・タッチパネル座標の左右を反転
  ・タッチパネル座標の上下を反転

   タッチパネルの座標各種を入れ換えるオプションです。
   使用している環境で座標の入れ違いが有る場合はこれらを駆使してください。


  ・タッチ対象領域 [横] のスケール
  ・タッチ対象領域 [縦] のスケール

   いわゆるアンダースキャン対策のオプションです。
   車載機の液晶の横幅は155mmですが、実際の表示幅が140mmだったりする場合は
   140/155≒90% になるので、横スケールを 90%に指定するとタッチ位置のズレを補正できます。

   ただし、端末側のアンダースキャン処理の仕方によっては100%のままで良いと思われます。
   ズレていると感じた場合のみ変更しましょう。


  ・HOMEボタンのキーコード
  ・MENUボタンのキーコード
  ・BACKボタンのキーコード

   車載機前面にある物理ボタンに割り当てる仮想キーコードを指定します。
   初期設定値は HOME= 172 MENU= 139 BACK= 158 です。
   端末によっては HOMEは 3 や 114 、BACKは 1や111が適切な場合があるようです。

   その他に下記URLにある任意のキーコードを設定出来ます(16進表記なので10進数に変換してください)。
   ※キーコードにあるすべてのキーが利用出来るとは限りません。
   https://source.android.com/devices/input/keyboard-devices.html