本页内容

蓝牙低功耗心率游戏

一款演示与蓝牙低功耗心率设备/服务交互的游戏。

“蓝牙低功耗心率游戏”演示了如何使用 Qt Bluetooth API开发蓝牙低功耗应用程序。该应用程序涵盖了扫描蓝牙低功耗设备、连接设备上的心率服务、写入特征和描述符,以及在心率发生变化后接收来自设备的更新等操作。

Qt 心形游戏的启动界面

该示例介绍了以下 Qt 类:

要使该应用程序正常运行,需要一台具备心率服务的蓝牙低功耗设备。另一种选择是使用可编程的蓝牙低功耗设备来模拟该服务。 您也可以为此目的使用“心率服务器”示例。如果没有此类设备,可以使用演示模式,该模式会生成并显示随机值。通过在命令行中传入--simulator 参数即可启用此演示模式。

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

Qt Bluetooth 关于本示例中使用的 API 的详细说明 ,请参阅 Qt Bluetooth 模块文档的“使用 xml-ph-0000@deepl.internal 低功耗 API”一节中。

如果没有心率监测设备,则“蓝牙低功耗扫描器”示例可能更适合。该扫描器示例可与任何类型的蓝牙低功耗外围设备配合使用。

运行示例

您可以从以下位置运行该示例:

检查蓝牙权限

在应用程序开始使用蓝牙之前,我们必须检查是否已授予相应的权限:

QBluetoothPermission permission{};
permission.setCommunicationModes(QBluetoothPermission::Access);
switch(qApp->checkPermission(permission)) {
caseQt::PermissionStatus::Undetermined:
    qApp->requestPermission(permission, this, &DeviceFinder::startSearch);
   return;
caseQt::PermissionStatus::Denied:
    setError(tr("蓝牙权限未获授予!"));
    setIcon(IconError);
    return;
caseQt::PermissionStatus::Granted:
    break;// 继续进行搜索
}

可视化导览

该应用程序会搜索附近的所有蓝牙低功耗外围设备。假设远程设备会广播其存在状态。搜索到的设备将以列表形式显示。请注意,即使某些蓝牙低功耗设备未提供心率服务,系统仍会将其全部列出。

Qt 心形游戏正在扫描蓝牙设备

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

Qt Heart Game 的游戏画面

监控过程结束后,将显示所接收数值的一个简要摘要。

Qt 心形游戏结果界面

示例项目 @ code.qt.io

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.