Spec-Zone.ru › Qt 5.13

Qt Bluetooth

API Bluetooth предоставляет подключение между устройствами, поддерживающими Bluetooth.

В настоящее время API поддерживается на следующих платформах:

Функция API Android iOS Linux (BlueZ 4.x/5.x) macOS WinRT Win32
Классический Bluetooth x x x x
Bluetooth LE Центральный x x x x x
Bluetooth LE Периферийный x x x x
Bluetooth LE Реклама и сканирование

Несмотря на то, что порт Win32 пока отсутствует, бэкенд WinRT автоматически используется, если целевая платформа win32 поддерживает необходимые WinRT API. Минимальное требование — Windows 10 версии 1507 с несколько улучшенной службой обнаружения с Windows 10 версии 1607. Поэтому цели Windows 7 и 8.x исключены.

Обзор

Bluetooth — это беспроводная технология с коротким радиусом действия (менее 100 метров). Она обладает достаточно высокой скоростью передачи данных 2,1 Мбит/с, что делает её идеальной для передачи данных между устройствами. Подключение Bluetooth основано на базовом управлении устройствами, таком как сканирование устройств, сбор информации о них и обмен данными между ними.

Qt Bluetooth поддерживает разработку Bluetooth Low Energy для использования в сценариях клиент/центральный. Более подробные сведения можно найти в разделе Обзор Bluetooth Low Energy.

Новое дополнение с момента выпуска Qt Bluetooth 5.7 включает поддержку приложений Bluetooth Low Energy, выполняющих роль периферийного устройства/сервера. Этот новый API остаётся в стадии технологического предварительного просмотра.

Начало работы

Для использования библиотеки C++ в вашем приложении добавьте следующий параметр конфигурации в ваш .pro файл:

QT += bluetooth

Для использования классов модуля в вашем приложении вам нужна следующая директива импорта в ваш .qml файл:

import QtBluetooth 5.12

Связанная информация

Сборка Qt Bluetooth

Несмотря на то, что модуль может быть собран для всех платформ Qt, он не портирован на все из них. Платформы, которые не поддерживаются, такие как Windows desktop, используют фейковый или эмулирующий бэкенд, который автоматически выбирается, когда платформа не поддерживается. Эмулирующий бэкенд сообщает соответствующие сообщения об ошибках и значения, что позволяет разработчику Qt Bluetooth обнаружить во время выполнения, что текущая платформа не поддерживается. Эмулирующий бэкенд также выбирается на Linux, если заголовки разработки BlueZ не найдены во время сборки или Qt был собран без поддержки Qt D-Bus.

Использование эмулирующего бэкенда подчёркивается соответствующим предупреждением во время сборки и запуска.

Руководства

  • Обзор Классического Bluetooth
  • Обзор Bluetooth Low Energy

Справочник

  • Типы QML
  • Классы C++

Категории логгирования

Модуль QtBluetooth экспортирует следующие категории логгирования:

Категория логгирования Описание
qt.bluetooth Включает логгирование кроссплатформенных путей кода в QtBluetooth
qt.bluetooth.android Включает логгирование реализации Android
qt.bluetooth.bluez Включает логгирование реализации BlueZ/Linux
qt.bluetooth.ios Включает логгирование реализации iOS
qt.bluetooth.osx Включает логгирование реализации macOS
qt.bluetooth.qml Включает логгирование реализации QML QtBluetooth
qt.bluetooth.winrt Включает логгирование реализации WinRT

Категории логгирования могут быть использованы для включения дополнительного предупреждения и отладки вывода для QtBluetooth. Более подробная информация о логгировании доступна в QLoggingCategory. Быстрый способ включить весь QtBluetooth логгинг — добавить следующую строку в функцию main():

QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true"));

Примеры

  • QML
    • Сканер QML Bluetooth
    • QML Передача изображений по Bluetooth
    • QML Bluetooth PingPong
    • QML Чат Bluetooth
    • Игра Bluetooth Low Energy со счётчиком пульса
    • Сервер Bluetooth Low Energy со счётчиком пульса
    • Сканер Bluetooth Low Energy
  • C++
    • Чат Bluetooth
    • Сканер Bluetooth
    • Передача файлов по Bluetooth

Лицензии и авторские права

Qt Bluetooth доступен по коммерческим лицензиям от The Qt Company. Кроме того, он доступен по GNU Lesser General Public License, версии 3 или GNU General Public License, версии 2. Более подробная информация доступна на странице Qt Licensing.

В Linux Qt Bluetooth использует отдельный исполняемый файл, sdpscanner, для интеграции со штатным протоколом Bluetooth Linux BlueZ. BlueZ доступен по GNU General Public License, версии 2.

BlueZ

Только GNU General Public License v2.0 (Это не обязывает пользовательский код быть GPL. Более подробная информация в деталях.)

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtbluetooth-index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API