Qt Bluetooth Low Energy - проблемы с использованием нестандартного GATT

0

У меня есть устройство, не зная используемый профиль Гатта, я только знаю, что это что-то "домашнее", а не что-то известное в базе данных Bluetooth.

В Linux команда

gatttool -i hci0  -b xx:xx:xx:xx:xx:xx  --char-read --handle=42

возвращает значение, как и ожидалось (с целевым устройством mac в xx: xx: xx: xx: xx: xx).

В Qt я использую Heartbeat-Example из http://doc-snapshot.qt-project.org/qt5-5.4/qtbluetooth-heartlistener-example.html, где они соединяются с помощью gattprofile, QBluetoothUuid :: HeartRate и QBluetoothUuid :: HeartRateMeasurement

Я не смог изменить пример кода таким образом, чтобы он читал дескриптор 42. Можете ли вы объяснить, где я должен поместить какие значения, чтобы он подключался к "стандартному профилю", как это делает команда gattool? Если я использую gatttool в интерактивном режиме и спрашиваю основной, он возвращает два uuids, но использование их вместо QBluetoothUuid :: HeartRate не сработало.

Теги:
bluetooth
qt
bluetooth-lowenergy
gatt

1 ответ

0

Не похоже, что Qt Bluetooth Low Energy API предоставляет средства для получения доступа к характеристикам на основе их значения дескриптора. (Также не используется API BLE Windows 8). Вы должны использовать UUID. Даже если это самодельное устройство, все службы и характеристики требуются протоколом GATT для получения UUID. Демо-приложение lowenergyscanner может обнаруживать и отображать UUID и дескрипторы всех сервисов и характеристик устройства. Я использовал lowenergyscanner для работы с устройствами BLE, которые я разрабатываю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню