13,000
回編集
編集の要約なし |
|||
37行目: | 37行目: | ||
<br> | <br> | ||
Qt Bluetoothモジュールは、これらの状況を適切に検出して、シグナル / スロットメカニズムを通じて通知する仕組みを提供している。<br> | Qt Bluetoothモジュールは、これらの状況を適切に検出して、シグナル / スロットメカニズムを通じて通知する仕組みを提供している。<br> | ||
<br><br> | |||
== Classic Bluetoothの特徴 == | |||
Classic Bluetoothは、<code>QBluetoothSocket</code>クラスを使用した直接的なソケット通信である。<br> | |||
<br> | |||
RFCOMMプロトコルベースの通信であり、主に、シリアル通信のような双方向データストリームに適している。<br> | |||
Bluetooth Low Energyと比較して、より大きなデータ転送が可能である。<br> | |||
<br><br> | <br><br> | ||
47行目: | 54行目: | ||
スキャン中は、各デバイスの基本情報 (デバイス名、MACアドレス、デバイスクラス、信号強度等) を取得できる。<br> | スキャン中は、各デバイスの基本情報 (デバイス名、MACアドレス、デバイスクラス、信号強度等) を取得できる。<br> | ||
また、スキャン時間や範囲を設定可能であり、バッテリー消費とスキャン精度のバランスを取ることができる。<br> | また、スキャン時間や範囲を設定可能であり、バッテリー消費とスキャン精度のバランスを取ることができる。<br> | ||
<br> | |||
Classic Bluetoothでは、<code>QBluetoothDeviceDiscoveryAgent</code>を使用して、全てのBluetoothデバイスを検出する。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
172行目: | 181行目: | ||
各サービスはUUIDで識別されており、標準的なサービスには予め定義されたUUIDが割り当てられている。<br> | 各サービスはUUIDで識別されており、標準的なサービスには予め定義されたUUIDが割り当てられている。<br> | ||
また、カスタムサービスの場合は独自のUUIDを使用する。<br> | また、カスタムサービスの場合は独自のUUIDを使用する。<br> | ||
<br> | |||
Classic Bluetoothでは、<code>QBluetoothServiceInfo</code>クラスを使用して、単純なサービス情報を管理する。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
452行目: | 463行目: | ||
* 接続パラメータの最適化 | * 接続パラメータの最適化 | ||
*: 電力消費、通信速度、接続の安定性等のバランスを取る。 | *: 電力消費、通信速度、接続の安定性等のバランスを取る。 | ||
<br> | |||
Classic Bluetoothでは、<code>QBluetoothSocket</code>クラスを使用して、<br> | |||
<code>connect</code>メソッドでソケット接続、<code>write</code>メソッド / <code>read</code>メソッドでデータの送受信を行う。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> |