BLEについて今更調べてみた
そもそもBLEとは?
- Bluetooth Low Energyの略でBluetoothの拡張仕様の1つ
- Bluetooth4.0の仕様に基づいている
- 消費電力が小さい
- 電池1個で1年持つと言われている
- 受信時間が短い
登場人物
ペリフェラル(Peripheral)
- 周辺機器
- 発信する側
- アドバタイジングパケットを発信
- アドバタイジングパケットを一定の距離に常時発信している
- 1つ以上のサービスを提供している
セントラル(Central)
- 中心機器
- 受信する側
- アドバタイジングパケットを受信
- ペリフェラルが発信しているデータを受け取ることができる
アドバタイジングパケット(advertising packet)
- ペリフェラルから発信されるパケットデータ
- ペリフェラルの名前・機能・データの情報が入っている
GATT(Generic Attribute Profile)
- BLEの通信のベースとなるプロファイル
- 他のプロファイルと組み合わせて使う
- データ構造の最小単位をattributeとして扱う
- 3つの要素で構成されている
- サービス(Service)
- キャラクタリスティック(Characteristic)
- ディスクリプタ(Descriptor)
サービス(Service)
- attributeを集めてセットにしたのがサービスである
キャラクタリスティック(Characteristic)
- ユーザデータを格納するのに用いられる
- 宣言とvalueのattributeを持つ
ディスクリプタ(Descriptor)
- キャラクタリスティックの追加情報を持つ
- 1個のattributeで構成されている
GATTによる通信アクションの種類
write
- セントラルからペリフェラルに書き込みデータを渡す
read
- セントラルからペリフェラルに読み込みデータを要求
notify
- ペリフェラルからセントラルに通知