Spec-Zone.ru › Qt 5.15

Qt Bluetooth

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

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

Функция API Android iOS Linux (BlueZ 4.x/5.x) macOS UWP (Универсальная платформа Windows) 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 (Универсальная платформа Windows)
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, version 3 или GNU General Public License, version 2. Для получения дополнительной информации см. Лицензирование Qt.

В Linux Qt Bluetooth использует отдельный исполняемый файл, sdpscanner, для интеграции со стандартным стеком протоколов Bluetooth Linux BlueZ. BlueZ доступен по GNU General Public License, version 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.15/qtbluetooth-index.html

Spec-Zone.ru

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