Raspberry PiにプレステやSwitchのワイヤレスコントローラを接続して、操作してみたいと思いませんか?
本記事では、Linuxのbluetoothctlを使ってデバイスをBluetooth接続する方法について解説します。
bluetoothctlとは
「bluetoothctl」とは、Linux環境においてBluetoothデバイスの管理や操作を行うためのコマンドラインツールです。Bluetoothデバイスのスキャン、ペアリング、接続、切断などの操作を行うことができます。ターミナルを通じてBluetoothを制御できるため、シェルスクリプトや自動化に役立ちます。
必要な準備
通常のLinux環境では、bluetoothctlコマンドが使えるはずです。インストールされていない場合は、ターミナルで次のように打ち、bluetoothctlをインストールします。
$ sudo apt -y install bluetooth bluez
インストールされたら、bluetoothctlコンソールを起動します。
$ bluetoothctl
起動すると次にように表示されます。
[bluetoothctl]#
bluetoothctコンソールを終了するには
[bluetoothctl]# quit
と打ちます。
デバイスとの接続方法
スキャン
次のコマンドを実行することで、近くのBluetoothデバイスをスキャンすることができます。
[bluetoothctl]# scan on
デバイスがスキャンされると、MACアドレスとデバイス名が表示されます。
Discovery started
[NEW] Device XX:XX:XX:XX:XX:XX [デバイス名]
このMACアドレスは、ペアリング、接続に必要のため、コピーしておきましょう。
スキャンを終えるには、次のように打ちます。
[bluetoothctl]# scan off
ペアリング
スキャンで検出したデバイスとペアリングしましょう。
[bluetoothctl]# pair XX:XX:XX:XX:XX:XX
“XX:XX:XX:XX:XX:XX”はデバイスのMACアドレスです。
デバイス側で接続要求を受け入れた後、bluetoothctl側の確認依頼にyesを返答します。
[agent] Confirm passkey xxxxxxx (yes/no): yes
最終的に次のように表示されたらペアリング完了です。
[CHG] Device XX:XX:XX:XX:XX:XX Paired: yes
Pairing successful
接続
まず、デバイスを信頼できるデバイスに設定します。次のように打ちましょう。
[bluetoothctl]# trust XX:XX:XX:XX:XX:XX
設定完了の表示がこちら。
[CHG] Device XX:XX:XX:XX:XX:XX Trusted: yes
Changing XX:XX:XX:XX:XX:XX trust succeeded
次に接続です。
[bluetoothctl]# connect XX:XX:XX:XX:XX:XX
接続に成功すると次のように表示されます。
Attempting to connect to XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
Connection successful
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: yes
[デバイス名]#
切断
デバイスと切断するには次のようにコマンドを打ちます。
[デバイス名]# disconnect XX:XX:XX:XX:XX:XX
切断完了されると次のように表示されます。
Attempting to disconnect from XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: no
Successful disconnected
[CHG] Device XX:XX:XX:XX:XX:XX Connected: no
[bluetooth]#
主なコマンド一覧
コマンド | 説明 |
---|---|
scan on | ペアリング・接続可能なデバイスを検索する |
scan off | ペアリング・接続可能なデバイスの検索を停止する |
devices | ペアリング・接続可能なデバイス一覧を表示する |
pair <MACアドレス> | <MACアドレス>のデバイスとペアリングする |
paired-devices | ペアリングされているデバイス一覧を表示する |
trust <MACアドレス> | <MACアドレス>のデバイスを信頼済にする |
untrust <MACアドレス> | <MACアドレス>のデバイスを信頼されていない状態にする |
connect <MACアドレス> | <MACアドレス>のデバイスと接続する |
disconnect <MACアドレス> | <MACアドレス>のデバイスを切断する |
info <MACアドレス> | <MACアドレス>のデバイス情報を表示する |
remove <MACアドレス> | <MACアドレス>のデバイスと切断し、ペアリング情報を削除する |
まとめ
本記事では、Linuxのbluetoothctlを使ってデバイスをBluetooth接続する方法について解説しました。
bluetoothctlを使えばBluetoothデバイスのスキャン、ペアリング、接続、切断などの操作を簡単に行うことができます。
今回の記事が皆さんのプログラミング学習に役立つなら幸いです。
最後まで読んでいただき、ありがとうございました。