web-dev-qa-db-ja.com

ターミナル経由でBluetoothデバイスに接続する

Mint 15 w/Cinnamonを使用しています。

Bluetoothスピーカーのセットを購入しましたが、ターミナル経由で接続しようとしています。 GUIを介してそれらを正常に表示でき、接続されています。小さなスクリプトを作成したいので、表示されるたびに自動的に接続します。

私はそれらをスキャンしようとしています:

hcitoolスキャン

しかし、私は得る

走査...

そして数秒後にプロセスは死にます。

hidd --searchも同じです。

hciconfig scanを実行すると、次のようになります。

hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:78:E8:69  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:130700 acl:22 sco:0 events:18527 errors:0
    TX bytes:31875398 acl:36784 sco:0 commands:75 errors:0

私のBluetoothアドレスを言っているだけで、電源が入っていると思います。

すでに述べたように、通常のユーザーインターフェイスを介してスピーカーを確認でき、スピーカーに接続していますが、ターミナルからは何も表示されません。

スピーカーが接続されていて、コマンドを実行するたびにスピーカーからの音が数秒間途切れるので、hcitool scanが何も検出しないのは実に面白いです。

56
Zippie

bluez-tools

Sudo apt-get install bluez-tools

デバイスのMACアドレスを取得するデバイスのリスト:

bt-device -l

そして正常にそれに接続します:

bt-audio -c 01:02:03:04:05:06


bt-audio機能は新しいバージョンで再実装されています。

38
Zippie

いつか使用したので、Sudo apt-get install bluez-toolsを使用しました。

hcitool scanからデバイスを見つけた後、bluez-simple-agent hci0 Xを実行しました。Xは追加したデバイスのMACアドレスです。これにより、デバイスへの接続が作成されました。

次にhciconfig scanを実行したところ、自動的に接続が開始されたようです。

12
user62474

組み込みのutilsでこれを行うには、bluetoothctlを使用して、この少し手動のプロセスを実行できます。

hcitool scan  # to get the MAC address of your device
bluetoothctl
agent on
scan on  # wait for your device's address to show up here
scan off
trust MAC_ADDRESS
pair MAC_ADDRRESS
connect MAC_ADDRESS

このGithubの問題 の投稿はそれをスクリプト化する方法を提案していますが、スキャンが結果を生成するまで手動で待機する必要があったため、それは私にとってはうまくいきませんでした。

9
Max

少し遅れていることは承知していますが、このコマンドhcitoolをいじっていたため、スキャンと「死ぬだけ」のプロセスの問題を解決するために指摘した点を指摘したいと思います。問題は、デバイスがペアリングされていない場合にのみスキャンが機能することです。あなたの場合、スピーカーがGUIに接続されていることがわかります。つまり、それらは既にペアリングされています...したがって、スキャンは何も返しません。

同じツールでデバイスをペアリング/接続する方法に取り組んでいますが、他のオプションが表示されていることがわかります。管理が終わり次第、回答を更新します。

2
KipchirchirIan

Debian 9には次のものがインストールされています。

blueman/stable,now 2.0.4-1 AMD64 [installed]
bluez/stable,stable,now 5.43-2+deb9u1 AMD64 [installed]
bluez-obexd/stable,stable,now 5.43-2+deb9u1 AMD64 [installed,automatic]
bluez-tools/stable,now 0.2.0~20140808-5+b2 AMD64 [installed]
pulseaudio-module-bluetooth/stable,now 10.0-1+deb9u1 AMD64 [installed]

GUIアプリケーションBluetooth Managerを使用して、Bluetoothヘッドフォンをデスクトップ上のUSB Bluetoothアダプターにペアリングしました。次の2つのコマンドを実行するキーボードショートカットがあります:bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. ヘッドフォンをBluetooth USBアダプターに接続します。 (bt-device -lを使用してMACアドレスを取得します。)
  2. Bluetoothオーディオをデフォルトの出力として設定します。 (正しい名前を取得するにはpacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'を使用してください。)
0
jbrock