2016年5月1日日曜日

スマホ2台持ちしたら

お世話になりました「Google Earth で表示」で書いたが、現在ZE551ML(格安スマホ) とSC-01F(ドコモスマホ)のスマホ2台持ちである。

回線契約しているのはZE551MLで、SC-01FはBluetoothテザリングで使用している。出来る限り自動操作をするのが究極の目的になると、Bluetoothテザリングは消費電力が少ないので繋ぎっぱなしである。ここで思いついたのがBlootoothタグの代わりにならないかである。Bluetoothタグは貴重品等に取り付けてスマホとBluetooth接続して使用する。スマホとBluetoothタグが離れると警告音を発する置き忘れ防止グッズだ。ZE551MLとSC-01Fが物理的に遠くなりBluetoothテザリング接続が切れたら警告音を発するようにすれば、お互いがBluetoothタグにならないかの発想である。さらにZE551MLをストラップを財布と接続し、SC-01Fのストラップをキーホルダーに繋いで貴重品Bluetoothタグにすることにした。思いの外上手く出来たので、両方を常時携行するのに便利なように財布もキーホルダーも買い直してしまった。

後、家に帰ったら両スマホともにWi-Fi接続に自動的に切り替えたい。回線契約しているZE551ML(格安スマホ)は以前から利用しているWi-Fi Matic - Auto WiFi On Offで解決する。ネットワークが切り替わると誤動作するアプリが結構多いので外ではWi-Fi接続しないようにしている。Wi-Fi Matic - Auto WiFi On Offは登録した「セルID」の基地局のネットワークに繋がっていればWi-Fi=オン、外れたらWi-Fi=オフにしてくれるので、「セルID」は1個しか登録しないのが巧いやり方だ。

Bluetoothテザリングで使用する子機のSC-01Fにはこの方法は無理なので、GPSの位置情報を利用するタイプのWi-Fi自動オンオフアプリを試してみたが、やっぱり消費電力が大きくそもそも屋内ではGPS測位しないので使い物にならない。ZE551MLがWi-Fi接続したらZE551MLのBluetoothをオフする。そうなるとBluetoothテザリングが切れるので、SC-01FのWi-Fiをオンする。家に帰ったらBluetoothタグは必要ないので、Wi-Fiオンして接続できればBluetoothタグの警告音は発しないようにと複雑な制御を試してみたが、タイミングがとても難しく困っていたら思わぬ方向で解決してしまった。今まで親機がWi-Fi接続したらBluetoothテザリングは使用できないか、使用できてもスピードが全く使い物にならない程遅かったのだが、その理由はBluetoothと同じ2.4GHzのWi-Fiを使用しているために電波干渉を起こしていたのだった。ZE551MLのWi-Fi詳細設定にWi-Fi周波数帯域があり、「自動/5GHzのみ/2.4GHzのみ」が選択できる。デフォルトは勿論「自動」で2.4GHzのアクセスポイントに接続していたのを、「5GHzのみ」に変更して5GHzのアクセスポイントに接続したらウソのように快適に動作した。Bluetoothテザリングなので大きなアプリを落とす時は少々速度が物足りないがどうしても不満ならこの時だけ手動でWi-Fi接続すればいいのだ。結局子機のSC-01Fは常にWi-FiオフのままZE551MLとBluetoothテザリングで使用する。

上に書いた複雑な制御を試していたのはTriggerである。Bluetoothテザリングが切れたら、タイマー(30秒後)で警告音を発するだけなら簡単に設定できた。しかし1日に一回乃至数日に一度はスマホ同士が全く離れていないのにBluetoothテザリングが切れるのである。切れたら自動で再接続するようにも出来たのであるがいかんせんタイマー(30秒後)を発動させてしまったら手動で切るしかなかった。そこで動作を遅らせられるAutomated Deviceに乗り換えた。Triggerは条件に入った時だけの動作を設定するのに対しAutomated DeviceTriggerと違って条件に入った場合の動作と抜けた場合の動作を設定できる。すなわちBluetoothテザリングが切れても警告音発する前に自動再接続に成功したら警告音は鳴らないようにできるはずだったが、設定しているとまたまた難問が持ち上がった。

警告音はBluetoothテザリングが切れた時に遅らせて鳴らしたいのに、動作を遅らせられるのはBluetoothテザリング接続できた時にしか設定できないのだ。ここでまた色々考えて試行錯誤したのだが、色々試行錯誤していると気づいてしまった。一度はBluetoothテザリング接続できた時に遅れて警告音を発するように設定した後、動作条件を反転すればBluetoothテザリングが切れた時に遅れて警告音を発するようできたのだった。何だ早く言ってくれよである。また切れた時の警告音は大きく自動再接続に成功した暁には小さく成功音を鳴らすよう努力したのだが音声ボリュームをAutomated Deviceを変えることは出来なかった。他にも色々設定できるようになってはいるがスマホのハードやソフトにより動作するしないが違ってくるので仕方ない。一応今回設定した手順を以下に記す。

Automated Device設定(親機・子機共通)
1.「Rules」から「Tap here to create a new rule」を選択する。
2.「Name」を適当に(Bluetoothタグとか)入力する。(Descriptionは入れなくてもよい)
3.「Conditions」から「Tap here to create a new condition」を選択する。
4.「Bluetooth remote devise status」を選択する。
5.「Bluetooth接続する機器」を選択して戻る。
6.「Action to ~ unmached to matched」を選択する。
7.「Tap here to create a new action」を繰り返して以下を設定する。
8.「Bluetooth off (no repeat)」Once選択(Bluetooth動作停止)
9.「Bluetooth on (1 seconds delay) (no repeat)」Once選択 Execution delay=1
(1秒後Bluetooth動作再開)
10.「Play a sound 警告音 (30 seconds delay) (each 2 seconds)」
(切断してから警告音を遅らせる時間をExecution delayで設定する)
(連続して警告音を発生させるならPeriodicを選択し時間設定する)
11.「Conditions」を再度選択し「Bluetooth remote devise status」を選択する。
12.「Check if ~」のチェックをはずす(条件を接続から非接続に反転する)
13.動作を停止するには「There arent actions」のEnabledのチェックをはずす。

上記だけではBluetoothテザリング接続するわけではなく、接続にはBluetooth Auto Connectを利用する。一度手動でBluetoothテザリング接続しておけば、GeneralのSet Last DeviceとEventsのBluetooth onにチェックを入れれば自動で再接続するはずだ。またActionのNotificationを設定することによりBluetoothテザリング再接続の成功音を接続が切れた時の警告音より小さく鳴らすことができた。誤動作誤操作等で警告音が止まらない場合は手動でBluetoothテザリング接続するのが手っ取り早いが、無理な場合は上記13.の「There arent actions」のEnabledのチェックをはずすか、スマホの電源を切るしかない。

最後に常時Bluetoothテザリング接続する大きなメリットを紹介すると、互いを「Smart Lock」の「信頼できる端末」に追加しておくとロック解除が不要になる。正確には何時間か操作していなかったり、Bluetoothテザリング再接続した場合はロック解除が必要だが毎回ロック解除する必要はなくなる。もちろん2台とも持って行かれたらしょうがないが、1台だけ盗まれた場合はロック解除が必要となるし、警告音を大きく設定していたら盗んだスマホを放置するか電源を切ることしかできないと予想する。互いをBluetoothタグにするアイデアはスマホ2台持ちする物凄く大きな理由になる。しかしAutomated Deviceの設定は大変だ。専用アプリが欲しい。アプリを作ってもいい人は是非Google+のコメントから連絡ください。商用利用は禁止ですが無料アプリなら快諾します。