bluetoothctlコマンド

Uncategorized
OLYMPUS DIGITAL CAMERA
この記事は約5分で読めます。

bluetoothctl は、Linux の Bluetooth管理コマンドです。

Kali Linuxなどで広く使われている BlueZ の対話型管理ツールで、Bluetoothアダプタや接続機器を操作できます。

* BlueZ:LinuxおよびAndroidで公式に採用されているオープンソースのBluetoothプロトコルスタック(通信手順の集合体)です

基本的な機能

起動

以下のコマンドで起動します

プロンプトが “[bluetoothctl]>” となり、対話モードになります

bluetoothctl

ここに下記の様々なコマンドを入力します。

終了コマンドは ‘quit’ 又は ‘exit’ です。

主な表示コマンド

list

利用可能なコントローラをすべて表示します

下図の例ではコントローラーが1つしか無いので、それのみ表示され、そしてそれが選択(default表示)されています。

list

show

選択されているコントローラの情報を表示します

show

主な項目の意味

項目意味
ControllerBluetoothアダプタ
publicPublic Address
NameBluetooth名
Alias表示名
PoweredBluetooth機能が有効か
Discoverable他機器から発見可能か
Pairableペアリングを受け付けるか

info

ペアリング・接続した相手デバイスの情報を表示します

項目意味
Name機器名
Pairedペアリング済み
Trusted信頼済み
Connected現在接続中
UUID提供するBluetoothサービス

paired-devices

 ペアリングされているデバイス一覧を表示します

設定コマンド

設定に入る前に、bluetoothデバイスの3種類の状態について

デバイスの状態ついて

bluetooth機器の稼働状態は、3つの段階

があります

⚫️ power ➡️ off (電源off)
  ⬇️
  on(電源on)
  ⬇️
⚫️ discoverable ➡️ off (見つからない)
  ⬇️
  on (見つかる)
  ⬇️
⚫️ pairable ➡️ off (接続拒否)
  ⬇️
  on (接続可能)

なお、Discoverableは一定時間(デフォルトでは180秒)で自動的にOFFになる設定になっています。

下記showコマンドの11行目にDiscoverableTimeout:…(180)の記載が見えます。

show

bluetoothのペアリングにモタついていると接続が出来なくなる現象はこの設定のせいのようです。
つまり不用意に未知の相手から接続されてしまうというリスクに対応するセキュリティ仕様として時間制限があるようです。

select

デフォルトのコントローラを変更する(コントローラが複数ある場合)

power

Bluetooth レシーバーの電源のオン・オフを切り替える

discoverable

Bluetooth レシーバーを、他のデバイスから検索可能な状態にするかどうかを変更する

discoverable-timeout

discoverable on を実行したあとに、自動的に discoverable off にするまでの時間を設定する。(デフォルトは180秒)

pairable

Bluetooth レシーバーのペアリング可否の状態を変更する

pair

デバイスとペアリングする

connect/disconnect

デバイスと接続。切断する

trust/untrast

デバイスを信頼する・信頼しない

block/unblock

デバイスをブロックする・ブロック解除する

検索コマンド

scan

周囲のbluetooth機器(ペアリング・接続可能なデバイス一覧)を検出します(同一機器が重複して検出されます)

devices

ペアリング・接続可能なデバイス一覧を表示する(上記scanの結果を整理して表示します)

まとめ

bluetoothデバイスの情報表示と操作をするコマンド、 ‘bluetoothctl’ についての投稿でした。

bluetooth機器は、’discoverable’ という状態を持つので操作が少し複雑になっています。

よく使うコマンド一覧

コマンド機能
listBluetoothアダプタ一覧
show現在のアダプタ情報
select使用するアダプタを選択
power onBluetooth ON
power offBluetooth OFF
scan on周囲の機器を検索開始
scan off検索停止
devices発見済み機器一覧
info特定機器の詳細
pairペアリング
connect接続
disconnect切断
trust信頼済みにする
untrust信頼解除
remove登録済み機器を削除
discoverable on自機を発見可能にする
discoverable off発見可能状態を解除
discoverable-timeout <秒数>発見可能時間の変更
(秒数を0とした場合は無制限on)
pairable onペアリング可能にする
pairable offペアリング不可にする
system-alias <名前>Bluetooth名を変更
(他の機器から見える名前を変更)
quit, exit終了

1行コマンド

対話モードに入らずに1行コマンド実行もできます

下記のように ‘bluetoothctl’ に続けてコマンドを入力します

コメント

タイトルとURLをコピーしました