|
nRF51822 вопросы по работе с ним, Непонятен bounding, pairing |
|
|
|
Mar 18 2017, 08:09
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Метценгерштейн @ Mar 18 2017, 09:11)  Стал разбираться с данным МК, вроде понятно, но не до конца все. Не ясно, как осуществляется привязка МК, если он в режиме перифериал, например. Вообще, bonding и pairing- это одно и тоже? Или каков вообще принцип? Там что-то в device manager записывается. Может кто-то прояснить доступным языком? Разумеется, читал документ на сайте нордика, но ясности он не внес )) Может поможет глоссарий в моей статье - https://geektimes.ru/post/276558/Бондинг и пайринг, как следует из него совершенно разные вещи. Но прежде чем сделать бондинг надо сделать пайринг. За оба процесса отвечает слой GAP
|
|
|
|
|
Mar 18 2017, 08:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
Цитата(AlexandrY @ Mar 18 2017, 11:09)  Может поможет глоссарий в моей статье - https://geektimes.ru/post/276558/Бондинг и пайринг, как следует из него совершенно разные вещи. Но прежде чем сделать бондинг надо сделать пайринг. За оба процесса отвечает слой GAP Спасибо. Почитаю статью Вашу. Сейчас уезжаю, вечером еще поразбираюсь, отпишусь с вопросами. Если не сложно будет, помогите проникнуться)
|
|
|
|
|
Mar 18 2017, 23:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
в ф-ии Код static void on_ble_evt(ble_evt_t * p_ble_evt) выполняется код Код case BLE_GAP_EVT_CONNECTED: m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle; break; Это, похоже, и есть что мне надо. Получается, в переменную m_conn_handle я передаю то, к чему я подконнекчен и с кем пошел обмен данных. Не понятно, как я подключаюсь? Т.е. не с любого же устройства подцепился, и уже в системе. Потом, надо как-то запомнить мое устройство, тлф, например, что как только в зоне видимости, его ID он уже знает, он уже в памяти и сразу коннект идет.
|
|
|
|
|
Mar 19 2017, 13:54
|

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

|
Цитата Pairing — связывание (пайринг). Процесс создания парами BLE устройств одного или более совместных секретных ключей для последующего шифрования трафика. Пользователь оказывается вовлечён в этот процесс, когда система просит ввести PIN код. Никогда не встречал запрос пин кода в BLE. Только в пользовательских протоколах более высокого уровня, путем записи в характеристику. Цитата Это, похоже, и есть что мне надо. Сперва расскажите что вам надо, мы же не знаем. Цитата Не понятно, как я подключаюсь? Т.е. не с любого же устройства подцепился, и уже в системе. В примерах от нордик по-умолчанию с любого. В BLE можно передавать данные в одну сторону без установки соединения. Может вам это надо? Цитата Потом, надо как-то запомнить мое устройство, тлф, например, что как только в зоне видимости, его ID он уже знает, он уже в памяти и сразу коннект идет. Вероятно ваше приложение в телефоне, которое работает с BLE должно проводить сканирование и устанавливать соединение когда нужное устройство найдено. Иначе зачем просто так устанавливать соединение самому телефону когда никакому приложению это не нужно?
|
|
|
|
|
Mar 20 2017, 04:57
|

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

|
Цитата Нужно передавать данные с одного девайса - перифериал на централ. Для этого не нужно устанавливать соединение. Данные можно передавать в адвертайз пакетах. Цитата Но нужно именно, чтобы устройства были привязаны друг к другу. Забондены или запэйрины. Зачем? Цитата Т.е. абы кто чтобы не мог подцепиться. Если направление передачи в одну сторону зачем вообще кому-либо соединятся. Запретите соединение для всех. Код adv_params.type = BLE_GAP_ADV_TYPE_ADV_NONCONN_IND; Цитата Как привязать устройства одно к другому. А не привязанные чтобы не могли данными обмениваться. Кажется для этого применяется whitelist. никогда не использовал. Не знаю как добавлять в этот список устройства. Может быть ваша реальная цель скрывать данные для посторонних устройств? Тогда наложите шифрование на данные в адвертайз пакете. Но насколько я понимаю получится только сделать AES в режиме ECB. Для разряжения статистики можно подсовывать рандомные данные на вход.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|