Подтвердить что ты не робот

Проблема с аутентификацией в устройстве BLE Bluetooth Low Energy

Мы создаем IOT-устройство с интерфейсом BLE, в котором используется панель прохода HM-11 (http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module), на которой размещается чип CC2541 (http://www.ti.com/product/CC2541).

Метод аутентификации установлен на 2:Auth with PIN

Клип из листа данных, показывающего доступные режимы аутентификации, выглядит следующим образом:

63. Query/Set Module Bond Mode Send Receive Parameter AT+TYPE? OK+Get:[para1] None AT+TYPE[para1] OK+Set:[para1] Para1: 0~2 0:Not need PIN Code 1:Auth not need PIN 2:Auth with PIN 3:Auth and bond Default: 0

Для устройств с более низкой версией Android версии 5.0 он работает отлично.

Однако

  • Для устройств с Android версии 5.0 диалог сопряжения отображается без поля с диафрагмой или пин-вводным полем, и когда нажата кнопка pair, она не может спариваться - жалуясь на

    Не удалось выполнить сопряжение с MyApp из-за неправильного PIN-кода или ключа доступа.

  • Для устройств с версией Android версии 5.1 он даже не отображает диалог сопряжения и не может соединяться.

Примечания: Проверено перезапуск устройств, забывание устройств, очистка информации о связях с устройства.

Ищите руководство, советы, помощь, комментарии, код.

4b9b3361

Ответ 1

Это известная проблема - многие пользователи сообщили о проблемах с невозможностью ввода пароля с Android 5.0. Кажется, что это не происходит на всех устройствах.

Другие примеры проблемы:

https://android.stackexchange.com/questions/88011/android-5-bluetooth-pairing-dialog-has-no-passkey-form

https://en.discussions.tomtom.com/mysports-connect-apps-389/pairing-issue-on-nexus-5-android-5-948640

Ответ 2

Bluetooth работает как на аппаратном, так и на программном обеспечении. Поэтому, если ваши устройства не могут говорить на общем языке Bluetooth, они не смогут подключиться.

В целом, Bluetooth совместим с обратной связью: устройства Bluetooth, поддерживающие стандарт Bluetooth 4.2, анонсированный в прошлом году, должны по-прежнему иметь возможность сопрягаться с устройствами, использующими, скажем, древний Bluetooth 2.1, запущенный еще в 2007 году.

Исключениями являются гаджеты, в которых используется низкоэнергетическая версия под названием Bluetooth Smart (или Low Energy), которая работает на другом протоколе, чем более старые, или на классических устройствах Bluetooth. Устройства LE не имеют обратной совместимости и не будут распознавать (или сочетать) старые устройства, поддерживающие классический Bluetooth. (Например, старый телефон Sony Ericsson, поддерживающий Bluetooth 3.0, не сможет подключиться к устройству LE.) Вероятно, это причина ваших проблем, поскольку у Android 5 есть проблемы с BLE, и если ваше устройство классическое Bluetooth, это не сработает. Я предлагаю вам проверить совместимость устройства, и если это будет хорошо, я вернусь к нормальному Bluetooth, пока вы не решите проблему.

Надеюсь, что это поможет.

Ответ 3

Ti cc254x Stack имеет известную ошибку с прямой совместимостью, что делает невозможным соединение с устройствами, поддерживающими функции безопасности BLE 4.2 (обмен LinkKey). Осенью прошлого года эта функция интегрирована в Bluedroid, станет основной для Android 6 и, возможно, уже была объединена некоторыми вендорами. Ошибка была исправлена ​​в пакете Ti cc254x Stack release 1.4.1, но у вашей прошивки вашего модуля может еще не хватить исправление.