Управление сопряжением в Bluez5.50 - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужна помощь, чтобы лучше разобраться с проблемой Bluetooth.Я работаю над системой, состоящей из двух устройств, одно из которых - Raspberry Pi W Zero, а другое - телефон Android.Raspberry Pi действует как периферийное устройство, в то время как телефон Android должен работать как центральное устройство.Код на Raspberry разрабатывается, начиная с примера python в библиотеке Bluez 5.50 (я объединил example-advertising и example-gatt-server), в то время как на телефоне Android запускается специальное приложение для поиска, подключения и обнаружения услуг и характеристик.Значение характеристики должно быть подписано с флагами «encrypt-read» и «encrypt-write».

Если я запускаю «эквивалентное» пользовательское приложение, разработанное для устройств ios, поведение кажется правильным.В частности, устройства ios могут сканировать, а затем подключаться.Как только я пытаюсь прочитать или записать зашифрованные характеристики, на моем телефоне ios я получаю всплывающее сообщение, чтобы принять запрос на сопряжение.

Вместо этого при запуске приложения Android поведение кажется другим.В частности, кажется, что приложение Android должно отправить запрос на сопряжение, чтобы прочитать или записать зашифрованную характеристику.

Учитывая, что в системе Raspberry Pi W Zero не имеет возможности ввода от пользователяЯ хотел бы знать, есть ли какой-нибудь способ добиться того же поведения, что и у меня на ios и на Android.

Поиск по теме Я видел кое-что о примере с простым агентом, представленным в python.тестовый каталог.Есть ли возможность объединить этот пример с примером gatt-сервера?

...