Spec-Zone.ru › Qt 5.12

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 поддерживает необходимые API WinRT. Минимальные требования — 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, version 3 или GNU General Public License, version 2. Дополнительную информацию см. в Qt Licensing.

В 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.12/qtbluetooth-index.html

Spec-Zone.ru

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