我が家ではノートPC(Windows10)をBluetoothスピーカーと繋げています。
コードレスで少し遠くに置いていても見栄えがスッキリしているのが気に入っています。
しかしながら、どうもPC起動時に自動で接続してくれません。
Windows10の右側に出てくるアクションセンターを見るとBluetoothはONになっています。
手動でBluetoothをOFF、ONしてやれば繋がるので、Windows10のバグで間違いなさそう。
バグの修正も待っていられないので、なんとか自動で繋げる方法はないか調べ、解決策を見つけたのでここにまとめます。
OSはWindows10を想定してます。
対応方針
Bluetoothドライバは以下のような構成になっています。
①スピーカーのBluetoothドライバ
|
②WindowsのBluetoothドライバ
|
③Bluetoothハードウェアメーカーのドライバ
|
④Bluetoothのハードウェア
Windowsは①のスピーカードライバを使って音を出します。
①は②のWindowsのBluetoothドライバを利用します。
③、④はBluetoothハードウェアメーカーのドライバとハードウェアですが、これらはメーカーによって微妙に差異があります。
その差異を②のWindowsのBluetoothドライバが補間している構成です。
今回のような、WindowsでBluetoothのON/OFFを実施するには、②のドライバを無効化→有効化すればよいです。
方針としては、ドライバを無効化→有効化するスクリプトを作成し、Windowsログイン時に実行するように設定ます。
準備
ドライバをコマンドで無効化→有効化するには、Microsoftが提供しているdevcon.exeが必要になります。
devcon.exeは標準ではWindows10に入っていません。
WDKというキットをインストールすれば導入されます。
以下MSサイトからWDKをダウンロード、インストールします。
2のWDKをダウンロード、インストールします。(1、3は関係なし)
以下、WDKのインストールディレクトリはデフォルトとして記載します。
スクリプト作成
メモ帳に以下コマンドを記載し、「BluetoothEnable.bat」という名前で保存します。
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable "BTH\MS_BTHBRB"
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable "BTH\MS_BTHLE"
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable "BTH\MS_BTHBRB"
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable "BTH\MS_BTHLE"
当方の環境では、BluetoothEnable.batを[ドキュメント]-[script]フォルダに置きました。
なお、BTH\MS_BTHBRBがWindowsのBluetoothドライバを表しています。
BTH\MS_BTHLEはBluetooth4.0用らしいです。
スケジュールタスク作成
Windowsのタスクスケジューラを利用して、コンピュータ起動時に作成したスクリプトが自動実行されるように設定します。
手順は以下のようになります。
(1)Windowsアイコンを右クリック、コンピュータの管理を開きます。
(2)左ペインからタスクスケジューラを選択、右の操作ペインの「基本タスクの作成」をクリックします。
(3)任意のタスク名、説明を入力します。
(4)「トリガー」として「ログオン時」を選択します。
(5)「操作」として「プログラムの開始」を選択します。
(6)「プログラム/スクリプト」で先ほど保存した「BluetoothEnable.bat」を選択します。
(7)確認画面が表示される。
このタスクの[プロパティ]ダイアログを開くにチェックを入れ、「完了」クリックします。
(8)「全般」タブで以下設定を行い、OKをクリックします。
最上位の特権で実行する → チェック
構成 → Windows10を選択
再起動を実施し、Bluetoothスピーカーが正常接続できるようになれば成功です。
コメント