| 337行目: | 337行目: | ||
特定のBluetoothデバイスが提供するサービスを探索するプロセスである。<br> | 特定のBluetoothデバイスが提供するサービスを探索するプロセスである。<br> | ||
<br> | <br> | ||
==== GATT階層構造 ==== | |||
BLEでは、GATT (Generic Attribute Profile) という階層構造を持つ。<br> | BLEでは、GATT (Generic Attribute Profile) という階層構造を持つ。<br> | ||
Classic Bluetoothとは異なり、キャラクタリスティックとディスクリプタの概念が追加されている。<br> | |||
<br> | |||
* サービス | * サービス | ||
*: デバイスの機能をグループ化 (例: 心拍計測、温度センサ等) | *: デバイスの機能をグループ化 (例: 心拍計測、温度センサ等) | ||
| 367行目: | 370行目: | ||
UUIDは16-bit (標準) または 128-bit (カスタム) である。<br> | UUIDは16-bit (標準) または 128-bit (カスタム) である。<br> | ||
<br> | <br> | ||
==== BLEサービスディスカバリの手順 ==== | |||
# GAP (Generic Access Profile) によるデバイススキャン | |||
# デバイスへの接続 | |||
# GATTサービスの列挙 | |||
# 各サービス内のキャラクタリスティック探索 | |||
# 必要に応じてディスクリプタ探索 | |||
<br> | <br> | ||
Qtでは、<code>QLowEnergyService</code>クラスを使用して、BLEの複雑なサービス階層を管理する。<br> | |||
<br> | <br> | ||
Classic Bluetoothとの違いを以下に示す。<br> | Classic Bluetoothとの違いを以下に示す。<br> | ||
* | * <code>QLowEnergyController::connectToDevice</code>メソッドで接続する。 | ||
* | * <code>QLowEnergyController::discoveryFinished</code>シグナルで探索完了を検知する。 | ||
* | * <code>QLowEnergyController::createServiceObject</code>メソッドを使用して、サービスオブジェクトを生成する。 | ||
<br> | <br> | ||
==== 使用例 ==== | ==== 使用例 ==== | ||