Edited at

BLEについて今更調べてみた

More than 3 years have passed since last update.


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


  • ペリフェラルからセントラルに通知