Не удается подключиться к устройству BLE на Raspberry Pi

Я пытаюсь подключиться к устройству BLE (датчик сердечного ритма, Polar H7), на Raspberry Pi 2. Я использую последнюю версию bluez (5.35), найденную здесь:http://www.bluez.org/download/ Но когда я пытаюсь подключиться, используя gatttool, У меня всегда есть "соединение отклонено" ошибка.

вот что я делаю :

pi@raspberrypi ~ $ sudo su
root@raspberrypi:/home/pi# hciconfig dev
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 5C:F3:70:69:54:3D  ACL MTU: 1021:8 SCO MTU: 64:1
        DOWN
        RX bytes:616 acl:0 sco:0 events:34 errors:0
        TX bytes:380 acl:0 sco:0 commands:34 errors:0

root@raspberrypi:/home/pi# hciconfig dev up
root@raspberrypi:/home/pi# hcitool lescan
LE Scan ...
00:22:D0:6D:E0:E6 (unknown)
00:22:D0:6D:E0:E6 Polar H7 6DE0E61C
^Croot@raspberrypi:/home/pi# hcitool lecc 00:22:D0:6D:E0:E6
Connection handle 64
root@raspberrypi:/home/pi# gatttool -b 00:22:D0:6D:E0:E6 -I
[00:22:D0:6D:E0:E6][LE]> connect
Attempting to connect to 00:22:D0:6D:E0:E6
Error connect: Connection refused (111)
[00:22:D0:6D:E0:E6][LE]> 

Я попытался следовать этой теме:BLE gatttool не может подключиться, даже если устройство можно обнаружить с hcitool lescan но это не работать на меня.

5 ответов


мне пришлось отключить плагин pnat на /etc/bluetooth/main.conf ->DisablePlugins=pnat. Я читал, что он нестабилен, но я мало знаю об этом плагине.


я смог успешно подключиться к своему устройству, используя:

sudo gatttool -t random -b DD:9D:0B:43:A1:77 -I
connect

по умолчанию GATT не включен. Добавьте следующие строки в /etc/bluetooth / main.conf

EnableLE = true           // Enable Low Energy support. Default is false.
AttributeServer = true    // Enable the GATT attribute server. Default is false.

Если вам все еще интересно, почему случайный работал. Я прошел через код и это то, что я нашел.

​-t ​(Addr:Type: Set LE Address Type)     
Public | random    
Default: Public

случайный или статический адрес является 48-битным случайным адресом и должен соответствовать следующему требования:

• два наиболее значимых бита статического адреса должны быть равны '1'

• все биты случайной части статического адреса не должны быть равны '1'

• все биты случайная часть статического адреса не должна быть равна "0"

(источник)


вы пытаетесь использовать gatttool -b 00:22:D0:6D:E0:E6 -I а затем подключиться, сразу после обнаружения MAC без подключения до с hcitool lecc 00:22:D0:6D:E0:E6 ?