Аналоги Qt Bluetooth

BlueSoleil

Windows
Linux
Android

BlueSoleil — проприетарная программная платформа для управления Bluetooth‑устройствами на персональных компьютерах и встраиваемых системах, разработанная компанией IVT Corporation; предоставляет драйверы, стек протоколов и графический интерфейс для установления беспроводных соединений, обмена файлами, работы с беспроводной аудиo- и периферийной аппаратурой, поддерживает множество профилей Bluetooth, включая A2DP, HFP, OBEX и PAN, и используется как коммерческая альтернатива открытым или встроенным решениям, таким как Qt Bluetooth, в сценариях, где требуются дополнительные драйверы, специфическая совместимость с аппаратурой или расширенные пользовательские возможности.

Qt Bluetooth

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: doc.qt.io/qt-6/qbluetooth-index.html

Qt Bluetooth — модуль фреймворка Qt, предоставляющий набор API для разработки приложений, взаимодействующих с устройствами по Bluetooth и Bluetooth Low Energy (BLE). Модуль реализует механизмы обнаружения устройств, установления соединений, обмена данными и управления службами и профилями, при этом интегрируется с остальными компонентами Qt и поддерживает как C++ так и QML интерфейсы. Qt Bluetooth ориентирован на кроссплатформенную разработку и абстрагирует особенности платформенных стеков Bluetooth, предоставляя унифицированный программный интерфейс.

Исторически функциональность Bluetooth в Qt развивалась по мере расширения самого фреймворка и появления BLE; различные версии Qt добавляли поддержку профилей и методов взаимодействия, а также улучшали переносимость между операционными системами. В разных платформах модуль опирается на нативные стековые реализации (например, BlueZ на Linux, Core Bluetooth на macOS/iOS, штатные API на Windows), поэтому конкретный набор поддерживаемых профилей и возможностей может зависеть от целевой ОС и её версии.

  • Обнаружение устройств: сканирование классического Bluetooth и BLE, фильтрация по UUID сервисов и управление длительностью/режимом сканирования.
  • Установление соединений: установление соединений с устройствами как на уровне сервисов BLE (GATT), так и на уровне классических соединений.
  • GATT-клиент и GATT-сервер: чтение и запись характеристик, подписка на уведомления и индикации, публикация сервисов на стороне приложения.
  • Профили и протоколы: поддержка типовых сценариев взаимодействия (например, SPP-эмуляция через последовательные каналы, обмен объектами), с учётом платформенных ограничений.
  • C++ и QML API: классы для использования в C++ (например, для управления адаптером, устройствами и сервисами) и удобно интегрируемые элементы для QML-интерфейсов.
  • Управление адаптером и состояниями: включение/отключение адаптера, получение информации о видимости, состоянии соединений и перечне сопряжённых устройств.
  • Безопасность и сопряжение: механизмы сопряжения, аутентификации и шифрования, поддерживающие требования конкретных платформ и профилей.
  • Событийная модель: сигнально-слотовая архитектура и уведомления об изменениях состояния, приходящих данных и ошибках, пригодные для реактивного программирования.
  • Портабельность: единый интерфейс для различных ОС с возможностью использования нативных особенностей при необходимости.
  • Ограничения платформ: заметная часть возможностей зависит от поддержки на целевой операционной системе и версии стека Bluetooth; некоторые профили могут быть недоступны или требовать дополнительных прав.
Подробнее