bluez-qt

Библиотека, предоставляющая Qt-интерфейс для работы со стеком BlueZ (официальный стек Bluetooth в Linux). Она позволяет приложениям, написанным на Qt, легко интегрировать функциональность Bluetooth, такую как поиск устройств, подключение, управление сервисами и другие операции без необходимости прямого взаимодействия с низкоуровневыми D-Bus API.

Особенности

  • Qt-style API с использованием сигналов и слотов для асинхронных операций;
  • полная интеграция с Qt-экосистемой и моделью объектов;
  • поддержка основных профилей Bluetooth (A2DP, HFP, HID и др.);
  • автоматическое управление D-Bus соединениями;
  • поддержка как классического Bluetooth, так и Bluetooth Low Energy (BLE).

Основные компоненты

Библиотека состоит из нескольких классов, которые соответствуют основным концепциям Bluetooth (подробнее с документацией можно ознакомиться здесь):

Управление адаптерами

Класс BluezQt::Adapter представляет Bluetooth-адаптер в системе. Через этот класс можно включать/выключать адаптер, запускать/останавливать обнаружение устройств, получать список устройств и управлять режимами работы адаптера.

Управление устройствами

Класс BluezQt::Device представляет удаленное Bluetooth-устройство. Позволяет подключаться/отключаться, получать информацию об устройстве (имя, адрес, тип) и управлять парами. Поддерживает как классические устройства, так и BLE-устройства.);

Управление сервисами и профилями

Библиотека предоставляет классы для работы с различными Bluetooth-профилями:

  • BluezQt::MediaPlayer — управление медиаплеерами через AVRCP;
  • BluezQt::InputDevice — работа с устройствами ввода (мыши, клавиатуры);
  • BluezQt::Headset — управление гарнитурами через HSP/HFP;
  • BluezQt::Battery — получение информации о заряде батареи устройств.

Управление сервисами GATT (BLE)

Для работы с Bluetooth Low Energy предоставляются специализированные классы:

  • BluezQt::GattService — представление GATT-сервиса;
  • BluezQt::GattCharacteristic — работа с GATT-характеристиками;
  • BluezQt::GattDescriptor — управление GATT-дескрипторами.

Агенты и управление сопряжением

Класс BluezQt::Agent используется для реализации пользовательского агента, который обрабатывает запросы на сопряжение, авторизацию и другие интерактивные операции. Это позволяет приложению контролировать процесс подключения устройств.

Центральное управление

Класс BluezQt::Manager является центральной точкой для доступа ко всем адаптерам и устройствам. Через него можно получить список адаптеров, зарегистрировать агент и подписаться на системные события Bluetooth.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "bluez-qt/6.1.0@aurora",
    )    

Процесс локальной сборки описан в документации.

bluez-qt

Qt wrapper for Bluez 5 DBus API.
Лицензия
LGPL v3
Версия
Автор
Evgeniy Samohin <e.samohin@omp.ru>
Скачать
armv7
374.82 Kb
MD5: f4df986a9688930fec6a41dfc88e7795
Updated: 04.09.2025, 09:30:27
armv8
429.91 Kb
MD5: 3db50fcad38983c64696a2deb95311c3
Updated: 04.09.2025, 09:30:17
x86_64
407.65 Kb
MD5: 06137f5918ff2a1a83ea35c2d9feb10a
Updated: 04.09.2025, 09:30:29
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.