Как сделать данные BLE доступными для определенного приложения?
Я использовал пример BLE из здесь.
Но любое устройство может читать и записывать заявленные характеристики. Есть ли способ сделать данные недоступными для других устройств, кроме моего приложения. То, что я действительно хотел бы сделать, это что-то вроде SDP, а затем подключаться и обмениваться данными через RFCOMM, но кажется невозможным сделать это в esp32. Я сделал это с помощью библиотеки bluez в Linux, но в случае с esp32 я нашел только одну библиотеку btstack, которую невозможно использовать с esp-idf из-за отсутствия CMakeLists.txt. Есть ли способ добиться того, чего я хочу?
@Ryosuke, 👍0
1 ответ
В общих чертах можно просто потребовать, чтобы клиент сначала прошел аутентификацию. Это потребует небольшого отклонения от примера, на который вы ссылаетесь (который на самом деле обрабатывает только чтение характеристики), чтобы обрабатывать несколько соединений и их состояние, но это должно быть довольно просто.
Похоже, что в библиотеке Arduino BLE отсутствует отправка довольно большого количества информации через обратные вызовы, поэтому вы просто знаете, что есть подключение или отключение или запись в характеристику, а не какие устройства это сделали. Это означает, что вы не сможете обрабатывать несколько подключений одновременно, но убедитесь, что вы сбрасываете состояние аутентификации всякий раз, когда вы получаете подключение или отключение, должно быть достаточно, чтобы никто, кроме вашего собственного клиента, не «разговаривал» с вашим устройством.
- Пример кода для ESP32 в качестве медиа-контроллера для Android/iPhone Media Apps
- Библиотека ардуино или код для ESP32 для сканирования устройств Bluetooth?
- Имена синтаксического анализа обнаружения Bluetooth ESP32
- Веб-страница с использованием Bluetooth?
- Можно ли использовать WiFi и Bluetooth/BLE в одном проекте ESP32?
- ESP32 запускает BLE после глубокого сна
- Максимальная скорость ESP32 Bluetooth SPP
- ESP32 Arduino Bluetooth Serial не подключается повторно после отключения
спасибо, я попробую реализовать этот поток и сообщу вам, как только смогу., @Ryosuke