Spec-Zone.ru › Qt 5.9

Qt Bluetooth

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

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

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

Обзор

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.2

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

Создание Qt Bluetooth

Несмотря на то, что модуль можно создать для всех платформ Qt, он не портирован на все из них. Платформы, которые не поддерживаются, такие как настольная система Windows, используют подложку имитации или «фиктивную» подложку, которая автоматически выбирается, когда платформа не поддерживается. Фиктивная подложка сообщает соответствующие сообщения об ошибках и значения, что позволяет разработчику 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
    • Сканер Bluetooth QML
    • QML Передача изображений по Bluetooth
    • QML PingPong по Bluetooth
    • QML Чат по Bluetooth
    • Игра с частотой сердечных ударов Bluetooth Low Energy
    • Сервер частоты сердечных ударов Bluetooth Low Energy
    • Сканер Bluetooth Low Energy
  • C++
    • Чат по Bluetooth
    • Сканер Bluetooth
    • Передача файлов по Bluetooth

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

Qt Bluetooth доступен по коммерческим лицензиям от 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.9/qtbluetooth-index.html

Spec-Zone.ru

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