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


50

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、スピーカーが接続されていて、コマンドを実行するたびにスピーカーからの音が数秒間途切れるため、何も見つからないのは非常に面白いです。

回答:


32

私はbluez-toolsでそうすることができました:

sudo apt-get install bluez-tools

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

bt-device -l

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

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


この機能は新しいバージョン用に再実装されていることに注意してくださいbt-audio


9
何もありませんので、これは古いバージョンのためにおそらくbt-audioコマンドはもう
エドゥアール・ロペス

1
アップデートについては、github.com / khvzak / bluez
エドゥアールロペス

Linux Mint 17(Cinnamon)ではbluez-test-audio connect MAC_ADDRESS、すでにペアリングされたオーディオデバイスを正常に使用しました。
スザナ

2
bt-device -c mac_addressDebianでの使用に成功しました。9.
jbrock

11

私はsudo apt-get install bluez-toolsある時点でそれを使用したので、しました。

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

その後、実行するhciconfig scanと、接続が自動的に開始されたようです。


1
Ubuntu 16.04。bluez-simple-agentコマンドはありません。
LRDPRDX

2

私はこれが少し遅いことを知っていますが、このコマンドで遊んhcitoolでいたので、スキャンを実行してプロセスが「死にかけている」という問題を解決することに注意したことを指摘したいと思います。問題は、デバイスがペアリングされていない場合にのみスキャンが機能することです。あなたの場合、あなたはあなたがスピーカーが既にペアリングされていることを意味するGUIで接続されているのを見ることができると言います...したがってスキャンは何も返しません。

同じツールでデバイスをペアリング/接続する方法に取り組んでいますが、他のオプションが与えられていることがわかります。対処したらすぐに回答を更新します。


2

組み込みのユーティリティを使用してこれを行うには、を使用して、もう少し手動のプロセスを実行できます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の問題の投稿は、スクリプトを作成する方法を示唆していますが、スキャンが結果を出すまで手動で待機する必要があるため、それはうまくいきませんでした。


0

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 Bluetoothアダプターに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 -lMACアドレスを取得するために使用します。)
  2. Bluetoothオーディオをデフォルトの出力として設定します。(pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'正しい名前を取得するために使用します。)

-1

これは少し遅いかもしれませんが、私はまったく同じ問題を抱えていましたhciconfig

しかし、sudo hcitool lescan私のために仕事をしました-多分それはまだあなたを助けることができます!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.