Проблема с аутентификацией в устройстве 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, все работает отлично.

Однако

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

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

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

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

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

Solutions Collecting From Web of "Проблема с аутентификацией в устройстве BLE Bluetooth Low Energy"

Это известная проблема: многие пользователи сообщили о проблемах с невозможностью ввода пароля с 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

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, пока вы не решите проблему.

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

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