「Qtの基礎 - Bluetooth Low Energy」の版間の差分

ナビゲーションに移動 検索に移動
340行目: 340行目:
* サービス
* サービス
*: デバイスの機能をグループ化 (例: 心拍計測、温度センサ等)
*: デバイスの機能をグループ化 (例: 心拍計測、温度センサ等)
*: キャラクタリスティックは各サービスに1つ以上必要である。
* キャラクタリスティック
* キャラクタリスティック
*: 実際のデータ値や操作 (例: 心拍値、温度値、設定値等)
*: 実際のデータ値や操作 (例: 心拍値、温度値、設定値等)
*: キャラクタリスティックは、各サービスに1つ以上必要である。
* ディスクリプタ
* ディスクリプタ
*: キャラクタリスティックの追加情報 (単位や説明等)
*: キャラクタリスティックの追加情報 (単位や説明等)
*: ディスクリプタは必須ではなく、オプショナル (0個以上) である。
<br>
# GATT階層構造
Profile
└── Service (1..n)  # Primary / Secondaryの2種類のサービスタイプ
    └── Characteristic (1..n)
        └── Descriptor (0..n)
<br>
<br>
サービスディスカバリでは、これらの階層構造を探索して、利用可能な機能を特定する。<br>
サービスディスカバリでは、これらの階層構造を探索して、利用可能な機能を特定する。<br>
標準的なサービスには決められたUUIDが割り当てられている。(例: 心拍サービス、電池残量サービス等)<br>
標準的なサービスには決められたUUIDが割り当てられている。(例: 心拍サービス、電池残量サービス等)<br>
UUIDは16-bit (標準) または 128-bit (カスタム) である。<br>
<br>
# BLEサービスディスカバリの手順
1. GAP (Generic Access Profile) によるデバイススキャン
2. デバイスへの接続
3. GATTサービスの列挙
4. 各サービス内のキャラクタリスティック探索
5. 必要に応じてディスクリプタ探索
<br>
<br>
BLEでは、<code>QLowEnergyService</code>クラスでより複雑なサービス階層を管理する。<br>
BLEでは、<code>QLowEnergyService</code>クラスでより複雑なサービス階層を管理する。<br>

案内メニュー