注目キーワード

【Bluetoothを極める】Bluetooth Low Energy : LE(基本となる構成要素)

すけろく
前回の記事で、
Bluetoothには、大きく2種類あるのがわかった。
げんろく
そうだ。
最近では、Bluetooth Low Energy対応デバイスのことを
Bluetooth搭載ということも多くなっている。
すけろく
Bluetoothを使う場合には、サーバー/クライアント
のような役割があるのか?
げんろく
よし、今回は、主にBluetooth Low Energyの
基本となる構成要素について見ていくとしよう。
最近の機器(パソコン、スマートフォン、タブレット、イヤホン、マウス、キーボード・・・)では、Bluetoothに対応していることが当たり前になっています。
Wi-FiとBluetoothは同じ2.4Ghz帯を使っていますが、BluetoothはWi-Fiとは目指している用途が違います。
この「Bluetoothを極める」シリーズでは、Bluetooth(特にBLE)とは何かを深堀りしていきます。
最終的には、ArduinoやM5Stackのようなマイコン、Raspberry PiやJetsonのようなシングルボードコンピュータでプログラムするところまでフォローする記事を作成していく予定です。
今回の記事では以下の内容を記載しています。
Bluetooth Low Energy : LE(基本となる構成要素)
それでは一緒に確認していきましょう!

今回の記事は以下の図書を元にまとめております。詳細はぜひ本で!

Bluetoothのデバイス種別

Bluetooth 4.0以降では、2種類(Classic、Low Energy:LE)の規格が定義されていますが、それぞれの規格にどう対応しているかで、デバイスの種類が異なります。

デバイスの種類は、次の3とおりになります。

  • Bluetooth Classicのみに対応しているもの
    呼び方は、「Classic」 または 「BR/EDR」です。
  • Bluetooth ClassicとLow Energyの両方に対応しているもの旧称:Bluetooth SMART READY
    呼び方は、「デュアルモード」または、「BR/EDR/LE」です。
  • Bluetooth Low Energyのみに対応しているもの旧称:Bluetooth SMART
    呼び方は、「シングルモード」または、「LE」です。

Bluetoothの旧称って?

一時期、旧称とロゴを変えることによって、デバイスの規格対応状況を表現しようとする動きがありました。

現在では、ご存じの通り、使われていません。

 

デバイス種別ごとのプロトコル・プロファイルスタック

Bluetooth Classic、Low Energy の3種類のデバイスごとに、実装されるプロトコル・プロファイルの構成が異なります。

図にまとめると次の通りです。

Bluetoothデバイスには、「アプリケーション」、「ホスト」、「コントローラ」があります。

また、ホストとコントローラ間の橋渡しをするホスト・コントローラインターフェイス(HCI)というものがあり、ホスト側とコントローラ側に分かれます。

アプリケーション

実現したい機能を実装するアプリケーション部分を表します。
これはBluetooth規格外のプログラム部分になります。

ホスト
Bluetoothの上位層のプロファイル、プロトコルを実装しています。
コントローラ
Bluetoothの階層のリンク層と物理層を実装しています。
以降では、Bluetooth Low Energy:LE の基本となる構成要素について、ご紹介します。
(プロファイルや、プロトコルの詳細は、次回の記事以降でご紹介していきます。)
Bluetooth Classicについては、機会があれば、別記事でご紹介しますね!

デバイスのチップ構成

Bluetoothを搭載した機器には、アプリケーション、ホスト、コントローラを搭載するチップ数や構成によって、次の3種類があります。

  • SoC(System on Chip)  
    1つのICでアプリケーション、ホスト、コントローラすべてが動作します。
  • HCIを使用したデュアルIC
    1つのICでアプリケーション、ホストが動作します。
    もう一つのICでコントローラが動作するIC間の通信は
    ホスト・コントローラインターフェイス(HCI)経由で行います。
  • デュアルIC 
    一つのICでアプリケーション、もう一つのICでホストとコントローラが
    動作する
    IC間は、独自プロトコル(メーカー固有)で行う
図でまとめると次のようになります。

ネットワークトポロジ

Bluetooth Low Energy デバイスは、以下の2種類のネットワークトポロジを構成することができます。(MESHは、別途)

  • ブロードキャスト
  • コネクション
各ネットワークトポロジについて、個別に説明していきます。

ブロードキャスト

コネクションレスのブロードキャストを利用して、到達可能な範囲に存在するデバイスなどにデータを送信することができます。

一度に2つ以上のピア(デバイス)に対してデータを送信する方法です。

Bluetooth Low Energy:LE のアドバタイズ機能を使用します。

ブロードキャストでは、各デバイスは次のような役割を持ちます。

アドバタイズパケット」には、データを格納するための31バイトのペイロードが含まれ、他のデバイスに送信したい任意の情報を格納することができます。

31バイトに収まりきらない場合、「スキャン応答」と呼ばれる二次的なアドバタイズペイロードがサポートされています。(合計62バイト)

62バイト以上のデータのやり取りを行う場合は、コネクションを使います。

ブロードキャストの用途は、主に次のとおりです。

  • 少量のデータを決まったスケジュールでプッシュする
  • ビーコンとして使用する

ブロードキャストの制限としては、セキュリティを確保する手段が提供されていないことです。

(ブロードキャストされたデータはどのオブザーバーデバイスでも受信可能)

コネクション

データを双方向に送信する、データが2つのアドバタイズペイロードに収まらない場合は、コネクションを使います。

2つのデバイス間で永続的で周期的なパケットデータのやり取りを実現します。

データの送受信は、コネクションに参加している2つのピア(デバイス)によって行われます。

コネクションでは、各デバイスは次のような役割を持ちます。

コネクションを開始するには、ペリフェラルから、コネクション可能なアドバタイズパケットを送信し、セントラルがそのパケットを拾い出した際に、コネクションを確立するための要求をペリフェラルへ送信します。

コネクションが確立されるとペリフェラルはアドバタイズを停止し、2つのデバイス間で双方向のデータのやり取りが始められます。

ブロードキャストの用途は、主に次のとおりです。

  • 双方向のデータ送信、高いスループット、セキュアな暗号化されたリンクの確立
  • 「サービス」とサービスに含まれる複数の「特性」を単位としたデータの構造化
  • コネクションパラメータのネゴシエーションを行える

コネクションの制限としては、2つのピア(デバイス間)のみでの通信に限られることです。

編集後記

いかがだったでしょうか。

Bluetooth Low Energy:LEの基本となる構成要素をまとめてみました。

今回の記事を通して、Bluetooth Low Energy デバイスにどの役割が付与されているか、大まかにわかっていただけたかと思います。

次回の記事からは、主に、Bluetooth Low Energy (BLE)のプロファイルやプロトコルについて、もう少し、深堀りします。

最後までご覧いただきありがとうございました。

次回もご期待くださいね!

今回の記事は以下の図書を元にまとめております。詳細はぜひ本で!