bluetoothctl - Что такое агент Bluetooth?

16

Я использую bluetoothctlутилиту для настройки Bluetooth-соединения между компьютерами и Raspberry Pis.

В bluetoothctl, я могу видеть , что есть то , что называется «агентом», и посмотрев на большинстве учебников, этот «агент» должен быть установлен «на» для создания соединений. Я пытаюсь понять, что такое агент Bluetooth.

1) Что такое агент Bluetooth?

2) Для чего нужна команда "default-agent" bluetoothctl? Может ли оно быть одинаковым для всех соединений?

3) Каково влияние неиспользования агента при настройке соединения?

4) Глядя на man bluetoothctlэто, говорят, что агентам можно настроить возможности. Что такое способность агента? Какие ценности можно поставить там?

5) Агенты существуют только с Bluetooth? Есть, скажем, агенты Wi-Fi тоже?

Я довольно новичок в мире Bluetooth, и документация по bluetoothctl довольно ограничена ... Любая информация будет оценена.

phodor
источник

Ответы:

12

Агент Bluetooth - это то, что управляет «кодом сопряжения» Bluetooth. Он может либо отвечать на входящий «код сопряжения», либо может отправлять его.

Агент по умолчанию должен работать для вас. Вы говорите, что вы новичок в Bluetooth, поэтому я предлагаю вам перейти к настройкам по умолчанию на данный момент.

Если агент не используется, это означает, что два устройства не могут согласовать «код сопряжения».

Пример может помочь, поэтому вот пример того, что сработало для меня на моем 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

Здесь я попросил айфон соединиться с Шепом, и айфон отправил 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-агент для передачи ожидаемого кода сопряжения

$ bluetooth-agent 0000 &

Очевидно, «0000» может быть любым числом.

Эти агенты и «коды сопряжения» относятся не только к Wi-Fi, но и к Bluetooth.

Geoff
источник
Спасибо, Джефф. Хорошее уточнение. Плюс ссылка, которую вы мне предоставили, объясняет, как установить последовательное соединение через Bluetooth, что было моей следующей проблемой.
phodor
Кажется bluetooth-agent, не доступно на xenial. Некоторое прибегание к гуглу предполагает, что это было частью bluezпакета. Любые мысли о том, как заранее установить ключ доступа на xenial?
cheshirekow
@cheshirekow проверить bt-agent в bluez-tools
Бьорн Нильссон,