Набор ключей Bluetoothctl

У меня есть Raspberry Pi 2 под управлением ядра Raspbian 4.1.15 и Bluez версии 5.23.

Я хочу иметь возможность подключить устройство (например, телефон Android) к rapsberry, который должен принять соединение без взаимодействия с пользователем.

С bluetoothct я могу сделать устройство доступным для обнаружения, соединить его с другим устройством, но я не нашел способ установить контакт, похожий на bluetooth-agent

bluetooth-agent PIN

Bluetooth-агент больше не доступен в моей системе, есть ли способ сделать это с помощью bluetoothctl?

Ответ 1

Вот что работает благодаря кайлуму:

$bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# discoverable on
Changing discoverable on succeeded
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# agent NoInputNoOutput
Agent registered
[bluetooth]# default-agent 
Default agent request successful

Затем я соединяю малину с телефоном с телефона.

[NEW] Device XX:XX:XX:XX:XX:XX nameofthedevice
[CHG] Device XX:XX:XX:XX:XX:XX UUIDS:
      --UUIDS--
[CHG] Device XX:XX:XX:XX:XX:XX Paired: yes

Ответ 2

У меня была такая же проблема. Если вы дважды нажмете вкладку после agent, вы увидите список доступных агентов; KeyboardOnly работает отлично без уведомлений:

[bluetooth]# agent on          # accidentally used wrong agent
Agent registered
[bluetooth]# agent 
DisplayOnly      DisplayYesNo     KeyboardDisplay  KeyboardOnly     NoInputNoOutput  off              on               
[bluetooth]# agent KeyboardOnly 
Agent is already registered    # can't use two agents at one
[bluetooth]# agent off         # unregister agent
Agent unregistered
[bluetooth]# agent KeyboardOnly   # register proper agent
Agent registered
[bluetooth]# pair XX:XX:XX:04:F5:7C 
Attempting to pair with XX:XX:XX:04:F5:7C 
[CHG] Device XX:XX:XX:04:F5:7C Connected: yes
Request passkey
[agent] Enter passkey (number in 0-999999): 722504
[MoarBacon]# pair XX:XX:XX:04:F5:7C 
Attempting to pair with XX:XX:XX:04:F5:7C 
[CHG] Device XX:XX:XX:04:F5:7C Paired: yes
Pairing successful

Ответ 3

Хулио Матесанц,

У меня та же проблема, нет bt-agent, и вы можете полностью пройти мимо содержимого cfg?

Там нет документации об этом.

  • У меня есть старое приложение, использующее Windows CE, которое требует от моего сервера запроса типа PIN-кода и должно быть исправлено.

С наилучшими пожеланиями

Ответ 4

Сначала вы должны настроить sspmode 0, для запроса pin: hciconfig hci0 sspmode 0

И с помощью приложения bt-agent (вы также можете запускать как deamon):

bt-agent -c NoInputNoOutput -p /root/bluethooth.cfg

Отредактируйте конфигурацию файла, вы можете указать MAC-адрес и пин-код: Например:

XX:XX:XX:XX:XX:XX 1234

Или, если вам нужен пин-код для всех устройств с одинаковым пин-кодом, например 1234, отредактируйте файл следующим образом: * 1234

Это работа для меня!