低功耗蓝牙心率游戏

展示如何与蓝牙低能耗心率设备/服务交互的游戏。

蓝牙低能耗心率游戏展示了如何使用Qt蓝牙API开发蓝牙低能耗应用程序。该应用程序涵盖了扫描蓝牙低能耗设备、连接到设备上的心率服务、写入特性和描述符,以及一旦心率发生变化,从设备接收更新。

该示例介绍了以下Qt类

此应用程序要正常工作,需要配有一颗心率服务的蓝牙低能耗设备。一种替代方案可能是可编程的蓝牙低能耗设备,可能模拟此服务。您还可以为该目的使用心率服务器示例。如果没有此类设备,则可用演示模式,该模式会创建并显示随机值。此演示模式通过在命令行中传递--simulator来启用。

游戏的目标是尽可能地提高测量的心率。

有关此示例中使用的API的详细说明,请参阅使用Qt蓝牙低能耗API section of the Qt蓝牙模块文档。

如果无法获得心率设备,蓝牙低能耗扫描器示例可能更合适。扫描器示例与任何类型的蓝牙低能耗外围设备一起工作。

运行示例

要从Qt Creator运行此示例,请打开欢迎模式并从示例中选择示例。有关更多信息,请访问构建和运行示例

检查蓝牙权限

在应用程序可以使用蓝牙之前,我们必须检查是否已经赋予了适当的权限

QBluetoothPermission permission{};
permission.setCommunicationModes(QBluetoothPermission::Access);
switch (qApp->checkPermission(permission)) {
case Qt::PermissionStatus::Undetermined:
    qApp->requestPermission(permission, this, &DeviceFinder::startSearch);
    return;
case Qt::PermissionStatus::Denied:
    setError(tr("Bluetooth permissions not granted!"));
    setIcon(IconError);
    return;
case Qt::PermissionStatus::Granted:
    break; // proceed to search
}

视觉导游

该应用程序在附近搜索所有蓝牙低能耗外围设备。假设远程设备正在广播其存在。找到的设备将显示在列表中。请注意,即使它们不提供心率服务,所有找到的蓝牙低能耗设备也将列出。

在用户选择目标设备后,如果可用,示例将连接到其心率服务。它会自动启用心率值的更新通知,并在屏幕上显示当前值。

一旦监控过程完成,将显示收到值的简要总结。

示例项目 @ code.qt.io

© 2024 Qt公司有限公司。本文件中包含的文档贡献版权属于各自的拥有者。提供的文档受到Free Software Foundation发布的GNU自由文档许可版本1.3条款的许可。Qt及其相关标志是Qt公司在芬兰和/或世界其他国家的商标。所有其他商标均为各自所有者的财产。