web-dev-qa-db-ja.com

bluetoothctl-Bluetoothエージェントとは何ですか?

bluetoothctlユーティリティを使用して、コンピューターとRaspberry Pi間のBluetooth接続をセットアップしています。

bluetoothctlには、「エージェント」と呼ばれるものがあります。ほとんどのチュートリアルを見ると、この「エージェント」を「オン」に設定して接続を作成する必要があります。 Bluetoothエージェントとは何かを理解しようとしています。

1)Bluetoothエージェントとは何ですか?

2)bluetoothctlの「default-agent」コマンドとは何ですか?すべての接続で同じにすることはできますか?

3)接続を設定するときにエージェントを使用しないことの影響は何ですか?

4)man bluetoothctlを見ると、エージェントに機能を設定できると言われています。エージェント機能とは何ですか?そこにどんな価値を置くことができますか?

5)エージェントはbluetoothでのみ存在しますか? wifiエージェントもあるとしましょうか?

私はBluetoothの世界にかなり慣れていないので、bluetoothctlのドキュメントは非常に限られています...情報をいただければ幸いです。

16
phodor

Bluetoothエージェントは、Bluetoothの「ペアリングコード」を管理します。受信する「ペアリングコード」に応答するか、送信することができます。

Default-agentが機能するはずです。 Bluetoothを初めて使用すると言いますので、現時点ではデフォルトのままにしておくことをお勧めします。

エージェントを使用しないということは、2つのデバイスが「ペアリングコード」をネゴシエートできないことを意味します。

例が役立つ可能性がありますので、ここに、Raspberry Pi 3でShepと呼ばれる機能を使用した例を示します。

pi@shep:~/bluetooth $ bluetoothctl
[NEW] Controller B8:27:EB:B0:BC:22 shep [default]
[NEW] Device 18:9E:FC:94:8C:33 iPhone4
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[CHG] Device 18:9E:FC:94:8C:33 Connected: yes
[CHG] Device 18:9E:FC:94:8C:33 Connected: no

ここで私はiPhoneにShepとペアリングするように依頼し、iPhoneは680044を送信しました。

[CHG] Device 18:9E:FC:94:8C:33 Connected: yes
Request confirmation
[agent] Confirm passkey 680044 (yes/no): yes

または、事前にパスキーを設定する場合は、次を参照してください。

http://www.heatxsink.com/entry/how-to-pair-a-bluetooth-device-from-command-line-on-linux

Bluetooth-agentをセットアップして、予期されるペアリングコードを渡す

$ bluetooth-agent 0000 &

明らかに、 '0000'は任意の数です。

これらのエージェントと「ペアリングコード」は、Wi-FiではなくBluetoothに固有のものです。

12
Geoff