Профиль BLE SPP

В своем проекте я намерен использовать SPP поверх BLE, используя стек Bluez. Однако я не нашел примера кода для профиля Bluez для BLE SPP. Может ли кто-нибудь помочь с образцом приложения для BLE SPP для Bluez? Желательно BLE SPP сервер.

С уважением


person Embedded Enthusiast    schedule 20.06.2020    source источник


Ответы (1)


К сожалению, у BlueZ нет примера BLE SPP. BLE SPP не является частью принятых профилей BLE, и поэтому вам будет нелегко найти пример для этого любым поставщиком/стеком.

Вы можете изучить реализацию собственной службы поддержки/характеристик BLE SPP, но для этого вам придется работать как на центральной, так и на периферийной стороне, что в конечном итоге будет очень сложным. Я рекомендую проверить, можете ли вы добиться того, чего хотите, с существующими профилями BLE.

Если вам просто нужна двусторонняя связь между двумя устройствами BLE, вы можете просто настроить сервер GATT в BlueZ с характеристиками, которые вы можете читать/записывать или получать уведомления. Вам нужно понять теоретический аспект профиля BLE GATT, а также то, как реализовать его в BlueZ. Я рекомендую следующие ссылки, чтобы вы начали: -

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

person Youssif Saeed    schedule 21.06.2020
comment
Мне нужен был клиент-серверный тип связи. Где в ответе на запрос не обязательно должны быть только характеристики чтения/записи. Другой вопрос, относящийся к этому, заключается в том, возможно ли использовать TLS поверх связи BLE и/или BT? Любые источники, реализующие это. Был бы очень благодарен. - person Embedded Enthusiast; 21.06.2020
comment
Так что еще вам нужно, кроме чтения/записи? А что такое ТЛС? Безопасность транспортного уровня? Если это так, то и BLE, и классический Bluetooth имеют внутреннюю безопасность, и вам не нужно реализовывать что-то дополнительное, если только вам не нужно что-то нестандартное для вашего случая. - person Youssif Saeed; 21.06.2020
comment
Я бы использовал только сопряжение из-за некоторых определенных ограничений. Теперь, если сопряжение не включает парольную фразу, тогда не будет безопасности/шифрования? Чтобы сделать данные BLE более безопасными, мы намерены добавить нашу собственную безопасность (безопасность транспортного уровня/SSL). Это будет означать, что обмениваемые данные будут иметь содержание запроса/ответа рукопожатия. Итак, вопрос в том, какие другие методы обычно используют люди для шифрования данных, помимо того, что предлагает BT/BLE. - person Embedded Enthusiast; 21.06.2020
comment
Для того, что вы описываете, нет общей реализации. Для BLE, если у вас нет возможности ввода-вывода на устройстве, вам необходимо использовать сопряжение JustWorks. Если вы в конечном итоге используете что-то еще, ваша реализация по-прежнему будет подвержена активному перехвату и атакам MITM, но, возможно, тот факт, что вы используете конкретную реализацию, может быть немного выгоднее по сравнению с полным отсутствием сопряжения. Посмотрите эту ссылку, чтобы узнать больше о безопасности BLE: bluetooth.com/блог/ - person Youssif Saeed; 21.06.2020