BLE
Bluetooth Low Energyを扱うには、いくつかの重要な概念を理解する必要があります。ここでは、シンプルに、細かい説明を詰め込みすぎずに使い始めるのに十分な範囲だけを取り上げます。では、準備を整えて、さっそく始めましょう。
BLEスタック
以下の図は、Bluetooth Low Energy(BLE)のプロトコルスタックを示しています。BLEスタックは、BLEデバイス間の通信の基盤です。Controller(下位レイヤー)については、今回の目的には不可欠ではないため、詳しくは扱いません。ただし、GAPやGATTなど、Host部分の重要な概念を理解することは大切です。
GAP => デバイスがどのように接続し、通信するか
GAP(Generic Access Profile)は、BLEデバイスがどのようにアドバタイズし、接続し、通信を確立するかを定義します。これは、デバイスの役割(例: central、peripheral)、接続パラメーター、セキュリティモードを扱います。GAPは、デバイス同士がどのように互いを見つけ、通信を開始するかを担います。
GATT => デバイスがどのようにデータを交換し、構造化するか
GATT(Generic Attribute Profile)は、BLEデバイスがどのようにデータを交換するかを定義します。これは、データをサービスとキャラクタリスティックの階層として整理し、クライアント(例: スマートフォンアプリ)がBLE peripheral(例: センサー)からデータを読み取り、書き込み、更新を購読できるようにします。
参考資料
さらに深く理解したい場合は、次のリソースを参照してください