このページでは

Bluetooth Low Energy 心拍数ゲーム

Bluetooth Low Energy心拍数デバイス/サービスとの連携を実演するゲームです。

「Bluetooth Low Energy 心拍数ゲーム」では、 Qt Bluetooth APIを使用してBluetooth Low Energyアプリケーションを開発する方法を示しています。このアプリケーションでは、Bluetooth Low Energyデバイスのスキャン、デバイス上の心拍数サービスへの接続、特性値および記述子の書き込み、そして心拍数が変化した際のデバイスからの更新情報の受信といった処理を網羅しています。

Qt Heart Gameのスタート画面

このサンプルでは、以下の Qt クラスを紹介しています:

このアプリケーションを動作させるには、心拍数サービスを備えたBluetooth Low Energyデバイスが必要です。代替手段として、このサービスをシミュレートできるプログラム可能なBluetooth Low Energyデバイスも利用できます。 その目的には、心拍数サーバーのサンプルを使用することもできます。そのようなデバイスが利用できない場合は、ランダムな値を生成して表示するデモモードが利用可能です。このデモモードは、コマンドラインで `--simulator ` を指定することで有効になります。

このゲームの目的は、測定された心拍数をできるだけ高くすることです。

Qt Bluetooth このサンプルで使用されているAPIの詳細な説明は 、Qt Bluetooth モジュールのドキュメントの「xml-ph-0000@deepl.internal Low Energy API の使用」セクションに記載されています。

心拍数測定デバイスが入手できない場合は、「Bluetooth Low Energy スキャナ」のサンプルの方が適している可能性があります。このスキャナのサンプルは、あらゆる種類の Bluetooth Low Energy 周辺機器で動作します。

例の動作

以下の場所からサンプルを実行できます:

Bluetoothの権限の確認

アプリケーションが Bluetooth を使用できるようになる前に、適切な権限が付与されていることを確認する必要があります:

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("Bluetoothの権限が許可されていません!"));
    setIcon(IconError);
    return;
caseQt::PermissionStatus::Granted:
    break;// 検索へ進む
}

ビジュアルツアー

このアプリケーションは、周辺にあるすべてのBluetooth Low Energy周辺機器を検索します。リモートデバイスは自身の存在をアドバタイズしているものと想定しています。検出されたデバイスはリストとして表示されます。なお、心拍数サービスを提供していない場合でも、検出されたすべてのBluetooth Low Energyデバイスがリストに表示される点に注意してください。

Bluetoothデバイスを検索する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.