Метценгерштейн 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба а примеры есть, чтобы был изначально вбит passkey у перифериала и централа? Т.о. когда они в зоне видимости находятся, сразу связь устанавливается. Я пока варианты перебираю, т.к. еще не определился с нужным типом бондинга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alx125 0 23 марта, 2017 Опубликовано 23 марта, 2017 · Жалоба Может поможет глоссарий в моей статье - https://geektimes.ru/post/276558/ Бондинг и пайринг, как следует из него совершенно разные вещи. Но прежде чем сделать бондинг надо сделать пайринг. За оба процесса отвечает слой GAP Уточняю :-) "Pairing The procedure by which a temporary common security encryption key is generated to be able to switch to a secure, encrypted link. This temporary key is not stored and is therefore not reusable in subsequent connections. Bonding A sequence of pairing followed by the generation and exchange of permanent se‐ curity keys, destined to be stored in nonvolatile memory and therefore creating a permanent bond between two devices, which will allow them to quickly set up a secure link in subsequent connections without having to perform a bonding pro‐ cedure again." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 23 марта, 2017 Опубликовано 23 марта, 2017 · Жалоба я про то, как в примерах и в каких это реализовано. На сайте нордика ответили мне, что надо смотреть пример ble_app_hrs Завтра буду разбираться с этим примером. Там еще далеко не все примеры поддерживают бондинг. Например, UART без бондинга идет там. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 23 марта, 2017 Опубликовано 23 марта, 2017 · Жалоба Все равно из примера ble_app_hrs не понятно как я подцепляюсь к устройству. Можете объяснить этот момент? В каком месте кода происходит проверка на пайринг или код статический или что там происходит? Не любым же я устройством цепляюсь к ble_app_hrs? Где- то в этом примере надо код установить для связки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 24 марта, 2017 Опубликовано 24 марта, 2017 · Жалоба Делал устройства на NRF51822 для трех разных заказчиков. Ни у кого не стояло задачи ограничить доступ к устройству. У всех разрешено соединение для всех. Хотя когда я начинал разбираться с BLE для меня казалось очень странным после BT2.0 что тут нет необходимости переходить в режим спаривания и вводить пин код. У других компаний встречал следующий режим спаривания для BLE: В кастомном приложении на телефоне нажимаем кнопку добавить устройство. После этого оно просит положить девайс на дисплей телефона и двигать синхронно с движением картинки на телефоне. На самом деле приложение в телефоне всего лишь отслеживает уровень RSSI, возможно тоже самое делает и BLE. И класть на дисплей конечно не обязательно. Так сделано у них https://play.google.com/store/apps/details?...ream.humiditrak и у них https://play.google.com/store/apps/details?...aconthermometer Вы с whitelist разобрались? Это не то что вам надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 24 марта, 2017 Опубликовано 24 марта, 2017 · Жалоба Т.е. для того же примера ble_app_hrs так и есть- он будет работать с любым телефоном? Нашел вроде вот что: вставить в gap_params_init(): static_pin_option.gap_opt.passkey.p_passkey = passkey; err_code = sd_ble_opt_set(BLE_GAP_OPT_PASSKEY, &static_pin_option); APP_ERROR_CHECK(err_code); тогда будет предустановка пароля. И связь будет между только двумя этими устройствами. С witelist так и не понял до конца. По идее, туда и добавляются устройства. А где в коде можно, в том же ble_app_hrs прописать переменную, или что- нибудь, что при нажатии на кнопку на девайсе, я буду эту переменную выставлять, и только тогда мой девайс будет подключаться к телефону. Сумбурно немного объяснил. Но задача- обмен данными только с тем устройством, которое заранее было определено. Вот как это в примере ble_app_hrs сделать? Конечно, думаю, и мой код сработает- про passkey. А без него как-то еще можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться