2014/11/28

Taskerを使おう(4) 自動的にBTテザリングをしてみよう

 役に立つかわからないけど、自分で使っている(た)Profileを解説します。

 前に書いた記事でBluetoothのテザリング接続に少し手間がかかると言っていましたが、それを自動化してみたいと思います。

 BTとの接続はBluetooth Auto ConnectというアプリをTaskerと連携して使います。このアプリは起動時等に指定したBT機器と自動接続するアプリです。

Android app on Google Play Bluetooth Auto Connect

 作動する条件として考えたのは、次の3つを満たすときにしました。
 1 ディスプレイが点いているとき(使うとき=画面が点いているときだけつながっていればいいので)
 2 Wifiに接続されていないとき
 3 Bluetoothがonになっているとき

 Profile画面で右下の+をタップして新しいプロファイルを作成します。

 1の条件だとState→Display→DisplayStateでIsのところをONにします。
 これで画面か点灯している間という条件が出来ます。

 Profileに戻るとタスクを選択しろって言われるので、とりあえずNewTaskを選択します。
 新しいタスクの名前を求められるので、適当につけます。ここではBT自動接続とつけてチェックマークをタップするとタスクの作成画面に移ります。

 タスク画面の一番下の+を押して、野良WifiとかとつながらないようにWifi offにします。

 プラグインからBluetooth Auto Connectを選択して、ペアリング済みの一覧からiPhoneを選択してコネクトにチェック後セーブします。

 これで自動接続まではできました。

 次に終了時のタスクですが、自動接続の反対をやればいいので、
  Bluetooth Auto ConnectからiPhoneを選択してディスコネクトにチェック後セーブします。
  Wifiをonにします。

 この時点でProfileには画面点灯時としか条件がないため、Profile画面に戻り、作ったProfileの下にあるDisplay Stateを長押しすると条件が追加できます。

 追加する条件はWifiに繋がっていない時なので、State→Net→Wificonnectedを選んで、Invertをチェックします。
 Invertは否定(Not)条件なので、Wificonnected(Wifiにつながっている)を否定してNotWificonnected(Wifiにつながっていない)となります。

 もう一つBTがOnのときという条件を追加します。
 自分は常時Onなのでいらないかなーとは思いますが、Offの時に誤作動するのが嫌なのでつけています。
 State→Net→BTStatusでOnを選択します。

 以上のProfileを式にすると下記のとおりとなります。
 
Profile: BT自動接続 (20) ←プロファイル名
State: Display State [ Is:On ] ←画面が付いている状態の時
State: Not Wifi Connected [ SSID:* MAC:* IP:* ] ←Wifiに繋がっていない時
State: BT Status [ Status:On ] ←BTがOnになっている時

Enter: BT自動接続 (19) ←接続時のタスク名
A1: WiFi [ Set:Off ] ←WifiをOffにしています
A2: Bluetooth Auto Connect [ Configuration:Connect to (iPhoneの名前) (マックアドレス) Package:de.refluxa.android.bac Name:Bluetooth Auto Connect Timeout (Seconds):0 ] ←Bluetooth Auto ConnectでiPhoneと接続します

Exit: BT切断 (21) ←切断時のタスク名
A1: Bluetooth Auto Connect [ Configuration:Disonnect from  (iPhoneの名前) (マックアドレス)  Package:de.refluxa.android.bac Name:Bluetooth Auto Connect Timeout (Seconds):0 ] ←Bluetooth Auto ConnectでiPhoneから切断します
A2: WiFi [ Set:On ] ←WifiをOnにしています

 以上で簡単な接続が可能となりました。

 でも、これだと画面がタイムアウトで自動消灯した時とかでも切断してしまうので、もう少し動作を細く設定していく必要があります。

 それは次回以降にでも解説します。