【Raspberry Pi】bluetoothctlを使ってデバイスをBluetooth接続する方法

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デバイスのスキャン、ペアリング、接続、切断などの操作を簡単に行うことができます。

今回の記事が皆さんのプログラミング学習に役立つなら幸いです。

最後まで読んでいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

大学で機械工学を学んだ後、製造業で働く40代の会社員です。
IT系、電気系を学んでこなかった機械系人間が、ゲーム制作、電子工作に奮闘してます。
極力低コストでものづくりを楽しむのがモットー。

目次