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デバイスのスキャン、ペアリング、接続、切断などの操作を簡単に行うことができます。
今回の記事が皆さんのプログラミング学習に役立つなら幸いです。
最後まで読んでいただき、ありがとうございました。

