Bluetooth低エネルギー心拍数ゲーム
Bluetooth Low Energy Heart Rate デバイス/サービスとのインタラクションを示すゲーム。
Bluetooth Low Energy Heart Rate Game は、Qt Bluetooth API を使用して Bluetooth Low Energy アプリケーションを開発する方法を示しています。このアプリケーションでは、Bluetooth Low Energy デバイスのスキャン、デバイス上の Heart Rate サービスへの接続、特性と記述子の書き込み、心拍数が変化したときのデバイスからの更新の受信をカバーしています。
この例では、以下の Qt クラスを紹介します:
このアプリケーションを動作させるには、Heart Rate サービスを備えた Bluetooth Low Energy デバイスが必要です。別の方法として、サービスをシミュレートするプログラマブルなBluetooth Low Energyデバイスを使用することもできます。また、そのためにHeart Rateサーバーのサンプルを使用することもできます。そのようなデバイスがない場合は、ランダムな値を作成して表示するデモ・モードが利用できます。このデモ・モードは、コマンドラインで--simulator
を渡すことで有効になる。
ゲームの目標は、測定された心拍数をできるだけ増やすことである。
この例で使用されているAPIの詳細な説明は、Qt BluetoothモジュールのドキュメントのUsing Qt Bluetooth Low Energy APIのセクションに記載されています。
心拍デバイスが利用できない場合は、Bluetooth Low Energy Scanner の例の方が適しているかもしれません。スキャナのサンプルは、どのタイプのBluetooth Low Energy周辺機器でも動作します。
サンプルを実行する
Qt Creator からサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、Building and Running an Example を参照してください。
Bluetooth パーミッションのチェック
アプリケーションが Bluetooth の使用を開始する前に、適切なパーミッションが付与されていることを確認する必要があります:
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 }
ビジュアルツアー
アプリケーションは周辺にある全てのBluetooth Low Energy周辺機器を検索します。リモートデバイスはその存在を通知しているものとします。見つかったデバイスはリストに表示されます。見つかったBluetooth Low Energyデバイスは、心拍数サービスを提供していなくてもすべてリストされます。
ユーザーがターゲット・デバイスを選択した後、心拍数サービスが利用可能であれば、この例はその心拍数サービスに接続します。心拍数の通知更新が自動的に有効になり、現在の値が画面に表示されます。
監視プロセスが終了すると、受信した値の小さな要約が表示されます。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。