Spec-Zone.ru › Qt 5.14

Qt Bluetooth

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

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

Функция API Android iOS Linux (BlueZ 4.x/5.x) macOS UWP (Universal Windows Platform) Win32
Классический Bluetooth x x x x x
Bluetooth LE Центральный x x x x x x
Bluetooth LE Периферийный x x x x
Bluetooth LE Объявление и сканирование

Qt 5.14 добавляет нативный порт Win32, поддерживающий Классический Bluetooth на Windows 7 или более поздних версиях, и Bluetooth LE на Windows 8 или более поздних версиях. Он должен быть включён во время сборки с помощью параметра конфигурации -native-win32-bluetooth. Бэкенд UWP используется по умолчанию, если этот параметр не установлен, и целевая платформа Win32 поддерживает необходимые API UWP (минимальное требование - Windows 10 версии 1507, с немного улучшенным обнаружением служб с Windows 10 версии 1607).

Обзор

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, он не портирован на все из них. Платформы, которые не поддерживаются, используют поддельный или эмуляционный бэкенд, который автоматически выбирается, когда платформа не поддерживается. Эмуляционный бэкенд отображает соответствующие сообщения об ошибках и значения, что позволяет разработчику 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 Включает ведение журнала реализации UWP (Universal Windows Platform)
qt.bluetooth.windows Включает ведение журнала реализации Win32

Категории ведения журнала можно использовать для включения дополнительных предупреждений и отладки вывода для 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.14/qtbluetooth-index.html

Spec-Zone.ru

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