端末を介してBluetoothデバイスに接続

端末を介してBluetoothデバイスに接続

私はミント15とシナモンを使用しました。

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アドレスだけが出ていてオンになっていると思います。

すでに述べたように、通常のUIを介してスピーカーを見て接続することはできますが、端末を介しては何も得られません。

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

答え1

私はこれを行うことでこれを行うことができましたbluezのツール:

sudo apt-get install bluez-tools

マイデバイスのMACアドレスを取得するために使用されるデバイスのリスト:

bt-device -l

正常に接続されました:

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

答え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の問題スクリプト化されたアプローチを提案しますが、スキャン結果が出るまで手動で待つ必要があるため、この方法は私には適していません。

答え3

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

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

それからそれを実行しましたが、hciconfig scan接続が自動的に開始されたようです。

答え4

一部のヘッドフォンで同様の状況が発生しており、コンピュータと携帯電話の間で切り替えを続けています。このbashスクリプトを作成してパスのフォルダに配置し、コマンドラインを介して(そして私が作成したランチャーを介して)このヘッドフォンに接続/切断することができました。bluetoothctl接続/接続解除スクリプトです。質問にMACアドレスを使用しました。

#!/bin/bash
MAC="${1:-40:2C:F4:78:E8:69}"
DEVICE=$(bt-device -l | grep $MAC  | cut -d  " " -f1-2)

if [[ $(bt-device -i $MAC | awk '/Connected/ {print $2}') == 1 ]]
then
  echo "Device was connected, now disconnecting $DEVICE"
  echo -e "disconnect $MAC" | bluetoothctl > /dev/null
else
  echo "Device was disconnected, now connecting $DEVICE"
  echo -e "connect $MAC" | bluetoothctl > /dev/null
fi

このスクリプトを正常に実行するには、MACアドレスを設定するか、スクリプトを実行するときにMACアドレスを指定する必要があります。あなたも持っている必要がありますbluezのツールインストールする。

適性を使用して bluez-tools をインストールするには:

sudo apt-get install bluez-tools

ハードウェアのMACアドレスを見つけるには、次のコマンドを使用しました。

bt-device -l

追加されたすべてのBluetoothデバイスが一覧表示されます。以下の指示に従って良いスタートをしました。@Zippieの返信-bt-audioこの質問に答えた後に壊れたようです。しかし、bt-device -l良い解決策のようです。デバイスがBluetoothデバイスに追加されていない場合、これらのいずれも機能しません。使ったばかりですブルーマンアプレット設定をします。

関連情報