У меня есть приложение для Android, которое работает как центральное, и оно подключается к
Nordic 52x периферия, которую мы разрабатываем. У меня также есть тестовое периферийное устройство на основе Linux / Bluez / Nordic Zephyr IoT
но приложение не будет подключаться к нему.
Для тестового периферийного устройства журнал btsnoop показывает, что расширенное соединение создания отправлено, но
нет ответа. С помощью сниффера я не вижу расширенного создания соединения.
Возможно ли, что журнал btsnoop показывает Create Connection, даже если оно не было отправлено, или я что-то упустил с помощью сниффера?
Единственное различие, которое я вижу между периферийным устройством и тестовым периферийным устройством, состоит в том, что (рабочее) периферийное устройство помещает имя устройства и служебные данные в
рекламный отчет, тогда как (нерабочее) тестовое периферийное устройство имеет только имя устройства в рекламном отчете, а служебная информация находится в ответе сканирования.
У меня нет технического понимания этого, только эмпирическое наблюдение.
Обратите внимание, что приложение Android использует автоматическое подключение, установленное в значение true, и если я установил его в значение false, тестовое периферийное устройство будет подключаться.
Разница, которую я вижу здесь, заключается в том, что для autoconnect false тип peer в пакете создания соединения является случайным, тогда как с
autoconnect true это публично. В обоих случаях периферийные устройства рекламируются как случайные, и это опять-таки эмпирическое наблюдение. Это тоже
Обходной путь, который я буду использовать при необходимости.
Кроме того, то, что я вижу, похоже на этот пост.
Надеюсь, в этом есть смысл, и любые идеи будут оценены.
спасибо заранее,
Eric