Метценгерштейн 0 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба Стал разбираться с данным МК, вроде понятно, но не до конца все. Не ясно, как осуществляется привязка МК, если он в режиме перифериал, например. Вообще, bonding и pairing- это одно и тоже? Или каков вообще принцип? Там что-то в device manager записывается. Может кто-то прояснить доступным языком? Разумеется, читал документ на сайте нордика, но ясности он не внес )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба Стал разбираться с данным МК, вроде понятно, но не до конца все. Не ясно, как осуществляется привязка МК, если он в режиме перифериал, например. Вообще, bonding и pairing- это одно и тоже? Или каков вообще принцип? Там что-то в device manager записывается. Может кто-то прояснить доступным языком? Разумеется, читал документ на сайте нордика, но ясности он не внес )) Может поможет глоссарий в моей статье - https://geektimes.ru/post/276558/ Бондинг и пайринг, как следует из него совершенно разные вещи. Но прежде чем сделать бондинг надо сделать пайринг. За оба процесса отвечает слой GAP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба Может поможет глоссарий в моей статье - https://geektimes.ru/post/276558/ Бондинг и пайринг, как следует из него совершенно разные вещи. Но прежде чем сделать бондинг надо сделать пайринг. За оба процесса отвечает слой GAP Спасибо. Почитаю статью Вашу. Сейчас уезжаю, вечером еще поразбираюсь, отпишусь с вопросами. Если не сложно будет, помогите проникнуться) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба Прочитал глоссарий. Я раньше видел эту статью. Вопрос- как в примерах от Нордика это реализовано. Где и как происходит пайринг и потом уже идет бондинг и передача данных в зашифрованном виде? Пока копаю исходники. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба в ф-ии 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 он уже знает, он уже в памяти и сразу коннект идет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 19 марта, 2017 Опубликовано 19 марта, 2017 · Жалоба Pairing — связывание (пайринг). Процесс создания парами BLE устройств одного или более совместных секретных ключей для последующего шифрования трафика. Пользователь оказывается вовлечён в этот процесс, когда система просит ввести PIN код.Никогда не встречал запрос пин кода в BLE. Только в пользовательских протоколах более высокого уровня, путем записи в характеристику. Это, похоже, и есть что мне надо.Сперва расскажите что вам надо, мы же не знаем. Не понятно, как я подключаюсь? Т.е. не с любого же устройства подцепился, и уже в системе.В примерах от нордик по-умолчанию с любого. В BLE можно передавать данные в одну сторону без установки соединения. Может вам это надо? Потом, надо как-то запомнить мое устройство, тлф, например, что как только в зоне видимости, его ID он уже знает, он уже в памяти и сразу коннект идет.Вероятно ваше приложение в телефоне, которое работает с BLE должно проводить сканирование и устанавливать соединение когда нужное устройство найдено. Иначе зачем просто так устанавливать соединение самому телефону когда никакому приложению это не нужно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 19 марта, 2017 Опубликовано 19 марта, 2017 · Жалоба Нужно передавать данные с одного девайса - перифериал на централ. Но нужно именно, чтобы устройства были привязаны друг к другу. Забондены или запэйрины. Т.е. абы кто чтобы не мог подцепиться. Вот и пытаюсь понять как это делается. Как привязать устройства одно к другому. А не привязанные чтобы не могли данными обмениваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Нужно передавать данные с одного девайса - перифериал на централ.Для этого не нужно устанавливать соединение. Данные можно передавать в адвертайз пакетах. Но нужно именно, чтобы устройства были привязаны друг к другу. Забондены или запэйрины.Зачем? Т.е. абы кто чтобы не мог подцепиться.Если направление передачи в одну сторону зачем вообще кому-либо соединятся. Запретите соединение для всех. adv_params.type = BLE_GAP_ADV_TYPE_ADV_NONCONN_IND; Как привязать устройства одно к другому. А не привязанные чтобы не могли данными обмениваться.Кажется для этого применяется whitelist. никогда не использовал. Не знаю как добавлять в этот список устройства. Может быть ваша реальная цель скрывать данные для посторонних устройств? Тогда наложите шифрование на данные в адвертайз пакете. Но насколько я понимаю получится только сделать AES в режиме ECB. Для разряжения статистики можно подсовывать рандомные данные на вход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Допустим, мне надо сделать следующее: Устройство на nRF в режиме перифириал. Я хочу им управлять со смартфона, кот. централ. Но управлять не любым смартфоном, а только тем, который привязал заранее. Т.е. где- то в недрах nRF должен быть прописан ID смартфона. Вот этот алгоритм и как это делается меня интересует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Раньше вы писали что у вас одностороняя передача данных. Нужно передавать данные с одного девайса - перифериал на централ. А гуглить не пробовали? https://devzone.nordicsemi.com/question/162...pecific-master/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба гуглил, разумеется. Писал, что не до конца доезжаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Для этого не нужно устанавливать соединение. Данные можно передавать в адвертайз пакетах. Если я правильно понимаю, в этом случае есть один минус - на обоих устройствах одноврменно не достичь минимального энергопотребления. Либо приемник постоянно слушает, либо передатчик часто передает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Пожалуй да. Но ведь приемник это как правило будет телефон. Там энергии куда больше. У меня девайс на NRF51822 уже полгода проработал на батарейке CR2032. При этом он каждые 10 сек кидает адвертайз с температурой чипа (точность никакая), остаточным напряжением батарейки и еще своих 4 байта. Показывает что осталось 92%. За 100% было принято 3,3В Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба А сколько было принято за 0% :) Судя по описанию АйМаяка (уж не помню где я видел) при 900 мс интервале и питании от CR24** (~600 мА*ч) будет жить примерно год. Телефон в режиме постоянного включенного приемника? Это ж как минимум 10мА потребления только BT частью! А сколько будет кушать еще софт в фоне? ИМХО, это приемлимо только для приемника с внешним питанием. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба За 0% было принято 0В. На батарейке сейчас 3.06В Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться