реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> nRF51822 вопросы по работе с ним, Непонятен bounding, pairing
Метценгерштейн
сообщение Mar 21 2017, 19:24
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 312
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



а примеры есть, чтобы был изначально вбит passkey у перифериала и централа? Т.о. когда они в зоне видимости находятся, сразу связь устанавливается.
Я пока варианты перебираю, т.к. еще не определился с нужным типом бондинга.
Go to the top of the page
 
+Quote Post
alx125
сообщение Mar 23 2017, 01:55
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 18-05-09
Из: Novosibirsk
Пользователь №: 49 204



Цитата(AlexandrY @ Mar 18 2017, 11:09) *
Может поможет глоссарий в моей статье - 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."
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Mar 23 2017, 17:54
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 312
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



я про то, как в примерах и в каких это реализовано. На сайте нордика ответили мне, что надо смотреть пример ble_app_hrs
Завтра буду разбираться с этим примером. Там еще далеко не все примеры поддерживают бондинг. Например, UART без бондинга идет там.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Mar 23 2017, 19:58
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 312
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Все равно из примера ble_app_hrs не понятно как я подцепляюсь к устройству. Можете объяснить этот момент? В каком месте кода происходит проверка на пайринг или код статический или что там происходит?
Не любым же я устройством цепляюсь к ble_app_hrs? Где- то в этом примере надо код установить для связки?
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 24 2017, 05:02
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 257
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Делал устройства на 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 разобрались? Это не то что вам надо?
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Mar 24 2017, 07:02
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 312
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Т.е. для того же примера 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. А без него как-то еще можно?
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2017 - 19:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016