Я пытаюсь подключить оксиметр с низким энергопотреблением bluetooth с моим рабочим столом Ubuntu, но у меня возникают некоторые проблемы.Подсоединение устройства bluetooth LE с помощью bluez 4.01
я могу видеть, устройство просто отлично с помощью hcitool lescan
, но я не могу подключиться, когда я печатаю
sudo gatttool -b 00:1C:05:FF:ED:A9 -I [ ][00:1C:05:FF:ED:A9][LE]> connect
Эти журналы из hcidump -X
:
HCI Event: Command Status (0x0f) plen 4 LE Create Connection (0x08|0x000d) status 0x00 ncmd 1 HCI Event: Command Status (0x0f) plen 4 LE Start Encryption (0x08|0x0019) status 0x00 ncmd 1 HCI Event: Encrypt Change (0x08) plen 4 status 0x06 handle 64 encrypt 0x00 Error: PIN or Key Missing HCI Event: Command Status (0x0f) plen 4 Disconnect (0x01|0x0006) status 0x00 ncmd 1 HCI Event: Disconn Complete (0x05) plen 4 status 0x00 handle 64 reason 0x16 Reason: Connection Terminated by Local Host
Это выглядит как некоторые вид сбоя аутентификации. Проблема в том, что оксигемометр не требует никаких ПИН или ключей доступа. Это просто простой агент, который отправляет данные тому, кто его связывает.
Спасибо
Большое спасибо за подробный ответ. На самом деле это та же самая проблема, с которой я столкнулся. Он подключается один или два раза, а затем прерывается, пока я не перезагружу компьютер. Какую версию bluez вы используете? Я знаю, что bluetoothctl от bluez 5.X работает безупречно с оксиметром, но из-за проблем с совместимостью мне действительно нужно заставить это работать с bluez 4.X. – user1378063
Проблема, которую я имею, воспроизводима как с bluez4, так и с bluez5. Облегчает ли удаление спаривания (без перезагрузки), а затем соединение работает для вас? Просто пытаюсь определить, является ли ваша проблема одинаковой. – kaylum
Дело в том, что я никогда не мог соединить устройство в первую очередь. Не с диспетчером bluetooth, ни с какой-либо другой консольной командой. Поэтому, когда я запускаю «bt-device -r», он просто возвращает сообщение «не существует». – user1378063