前回のブログで、純正ナビをスマートフォンとBluetooth接続し、「internaviVICS」につなげるため「BlueDUN+」というアプリを使うことをご紹介しました。
しかし、前回のブログの設定ではバックグラウンドで起動すると思っていた「BlueDUN+」が起動せず、使い勝手がイマイチとなっていたので設定を見直してみました。
現時点で分かっていることは、
①「internaviVICS」に接続し交通情報を取得するたびに、ナビとのBluetooth接続が一旦切れて再接続がおこなわれている。
②「BlueDUN+」はBluetooth接続(再接続)するたびに起動させなければならない。
③「BlueDUN+」単体では自動で起動してくれない。
④スマホによっては、Bluetooth接続と同時に「BlueDUN+」を起動させるとリンクしてくれない。
これらの状況を考慮しつつ、対策を練らなくてはなりません。
ちなみに、自分の理想は、車内でスマホのBluetoothのスイッチをオンにしたらナビとペアリングし、いつでも繰り返し「internaviVICS」に接続できる状態になることです。
この数日、この理想に近づけるためいろいろ考えた結果、「BlueDUN+」だけではなし得ず、タスクアプリと組み合わせて使うと何とかなりそうだという考えに至りました。
まず、「BlueDUN+」の設定ですが、上記の画像のようにあらためます。
前回と違うのは、下の「Bluetooth Option」の項目で、「Discoverable」のチェックを外し、「Turn Off Bluetooth」のチェックを付けました。
「Discoverable」のチェックが付いていると、「BlueDUN+」が起動するたびに「他のデバイスで検出できるようにしますか?」と確認を求められるため。
「Turn Off Bluetooth」にチェックが付いていると、「BlueDUN+」が停止する(「Start Service」の画面になる)とスマホのBluetoothのスイッチも自動で切ってくれます。なのでBluetoothのスイッチを常に入れっぱなしにしている人はチェック不要です。
2022年11月20日追記:
その後、またいろいろ見直したところ、私の使い方では上二つの項目だけチェックが入っていれば良いことが分かったため、「Bluetooth Trigger」と「Auto-Start」だけにチェックをいれることにしました。
↓ 一応、設定項目をGoogle翻訳で日本語化してみましたので載せておきます。
Start the service when bluetooth adapter is enabled
Bluetooth アダプターが有効になっているときにサービスを開始する
Start the service on applicaition loading
アプリケーションの読み込み時にサービスを開始する
The list of device that can start up the service
サービスを起動できるデバイスのリスト
Start the service on device boot completed
デバイスの起動が完了したときにサービスを開始する
No check for a valid internet connection
有効なインターネット接続のチェックなし
Try to restart the service if stopped by peer
ピアによって停止された場合は、サービスの再起動を試みます
Set the phone discoverable for other device
電話を他のデバイスで検出できるように設定する
Turn off the bluetooth on Service Stop
サービス停止でBluetoothをオフにします
次にタスクアプリの設定です。
タスクアプリは色々あると思いますが、私が使っているのは「MacroDroid」というアプリで、例えば「Aという事象が発生したら自動的にBという動作を実行する」みたいなマクロを組んでおくことができるアプリです。
マクロは「トリガー」「アクション」「条件」の3つから成り立っており、それぞれを設定しマクロを作り上げていきます。
「MacroDroid」の使い方はインターネットで調べられますので、細かいところは割愛しますが、↑画像のようにマクロを組みました。マクロの名前「BlueDUN+ オン」は任意です。
マクロの内容としては、「internavi」へ接続した時に、3秒待機させてから「BlueDUN+」アプリを起動させるというものです。
ここでいう「internavi」とは純正ナビのことで、純正ナビとBluetooth接続された時がトリガーとなります。トリガーをBluetoothのスイッチオンでも良いのですが、それだと他のBluetooth機器と接続の時もアプリが起動してしまうので、純正ナビとの接続時に限定させます。
アプリの起動まで3秒待機させるのは、確実にリンクさせるため。スマホによってはナビとの接続と同時にアプリを起動させるとうまくリンクしてくれず、ナビとペアリングができているのにリンクができていないというおかしな状態になることがあるため、少し間隔をあけます。
この3秒待機の設定のおかげで、前回のブログで書いたBluetooth接続後のBluetoothのオンオフ操作は不用になりました。
また「新規で強制的に起動」させないと正常に「internaviVICS」に接続してくれなくなってしまうため、この項目に必ずチェックを入れましょう。
「直近30秒以内にこのマクロを使用していない」ことを条件としたのは、予期せぬループを防ぐため。他のマクロでBluetoothのオンオフを制御していることもあり、何かの拍子でBluetoothのオンオフが続くとこのマクロにも影響が出そうなためこの条件を加えましたが、もしかしたら不要かも。
以上の設定で、Bluetooth接続から「internaviVICS」への接続まで問題なく動作するようになりました。今のところは「internaviVICS」に接続し交通情報を取得した後もリンク切れを起こすことはないです。
なぜ、こんな面倒くさい設定をしなくてはならないかというと、それはもう「internaviVICS」に接続し交通情報を取得するたびに、ナビとのBluetooth接続が一旦切れるからです。瞬時に再接続されるのですが、この見えないところでこの再接続がおこなわれているところが問題なのです。
「BlueDUN+」はこの再接続に対応できないみたいで、再接続のたびに起動し直さないと通信ができなくなります。再起動しないで「internaviVICS」に接続しようとすると「接続できませんでした」となります。
またスマホによっては、再接続と同時に「BlueDUN+」を起動させるとリンク切れになってしまいます。
これらを克服するために、自動的な強制起動(再起動)だったり、3秒待機後の起動だったりするわけです。また「BlueDUN+」の設定で「Discoverable」のチェックを外すのも、アプリの再起動のたびに確認画面が出てくるのは都合が悪いからです。
2022年11月20日追記:
この設定で完璧だと思ったのですが、本日のドライブで試したところまたリンク切れが発生いたしました。私のスマホのせいなのか、純正ナビのBluetoothが不調なのか分かりませんが、「internaviVICS」に接続し交通情報を取得した後は、どうやってもBluetoothの再接続がうまくいかないみたいです。
一応、再接続後にスマホのBluetoothスイッチをオフにし、10秒ほど待ってから再びオンにすると正常につながるので、「MacroDroid」のマクロで何とかしようと思っています。
最後に思い出しましたが、スマホ本体の設定で「BlueDUN+」の「バッテリー使用量の管理」の項目ですが、必ず「最適化」から「制限なし」へ変更しましょう。「最適化」のままだと起動から5分くらいで勝手に落ちます。DUN通信がおこなわれていないとすぐに終了するみたいです。
今回は画像が少なく、また分かりづらい文章となってしまいましたが、どなたかのお役に立てれば幸いです。
この運用が正解なのかは正直あまり自信はないです。本当はもっと良い方法があるかもしれません。もし詳しい方がいらっしゃいましたらコメントとかでご指摘いただけると助かります。
またしばらく様子を見て、改善の余地があればブログのネタにしたいと思います。
2023年4月23日追記:
いろいろ試しましたが、結局「BlueDUN+」はうまく作動させることはできませんでした。
スマホを新しい機種に変えたところ、「NaviGateway」がインストールできることが判明し試したところ、あっけなく正常に通信できるようになりました。「MacroDroid」も不要です。有料アプリですがもしよろしければ「NaviGateway」をお試しください m(__)m