Bluetooth Low Energy

**Bluetooth Low Energy** (**Bluetooth LE**, **BLE**) とは、無線PAN技術である Bluetooth の一部で、バージョン 4.0 から追加になった低消費電力の通信モード。Bluetooth は Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) と Bluetooth Low Energy (LE) から構成される。

従来からの BR/EDR と比較して、省電力かつ省コストで通信や実装を行うことを意図して設計されている。BR/EDR とは独立しており、互換性は持たないが、BR/EDR と LE の同居は可能である。もとの仕様は**Wibree**という名称で2006年にNokiaによって開発されたものであり、これが2009年12月に Bluetooth Low Energy として Bluetooth 4.0 に統合された。

パーソナルコンピュータ（PC: Windows、macOS、Linuxなど）やモバイル端末（Androidデバイス、iPhone/iPad/Apple Watch、Windows Phone、BlackBerryなど）において標準でBluetooth Low Energyに対応しており広く普及している。スポーツとフィットネス、医療、PC周辺機器、ビーコンなどに利用されている。

## 概要
BLEの基礎となったのは、Nokiaによって制定された「Wibree」という仕様である。その後、 (Bluetooth SIG) に引き継がれ、2009年12月にBluetooth 4.0に追加されたものが、最初のBLEである。以降はそのアップデート版として、2013年12月にBluetooth 4.1、2014年12月に4.2、2016年12月に5.0、2019年1月に5.1、2020年1月に5.2、2021年7月に5.3がそれぞれ策定・発表されている。なお、BLE 4.0および4.1、4.2の間には後方互換性が保証されている。

このように、BLEは従来からのBR/EDRのメジャー・バージョンアップ版としてではなく、そもそも別個の規格として策定された仕様である。BR/EDRと比較して「省エネルギーであること」「複雑でないこと」「低コストであること」などを謳っており、その特徴を獲得することに仕様策定の目的が絞られている。事実、安価なハードウェア、簡素で拡張性のあるデータモデルが実現されており、BLE普及の原動力となっている。

## 呼称
Bluetoothバージョン4.0 (Bluetooth 4.0) がリリースされた2009年当時、呼称としては、「Bluetooth Smart」および「Bluetooth Smart Ready」などといったものがあった。従来のBluetooth BR/EDRのみが実装されたものを「Bluetooth」、Bluetooth LEのみが実装されたものを「Bluetooth Smart」、Bluetooth LEおよびBR/EDRの両方が実装されたものを「Bluetooth Smart Ready」と呼称することが提案されていた。また、これらの互換性をわかりやすくするため、Bluetooth SIGはロゴ策定の計画を2011年に発表していた。

しかし2016年に、Bluetooth SIGより「Bluetooth Smart」および「Bluetooth Smart Ready」の商標廃止が通達され、以降はBluetoothのみとなった｡ 

Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) は、「Bluetoothクラシック」(Bluetooth Classic) と呼ばれることもある。

## 機能
### Bluetooth BR/EDRとの互換性
Bluetooth LEはBluetooth BR/EDRとは異なる規格であるため、互換性を持たない。しかしながら、Bluetooth 4.0の仕様書においては、LEとBR/EDRのどちらか、あるいは両方の実装をすることが許可されている（デバイスタイプとしては、BR/EDR、LE only、BR/EDR/LEの3通りがある）。また、LEはBR/EDRと同様の2.4&nbsp;GHzの周波数帯を利用している。これにより両方をサポートするデバイスでは、ハードウェアとしては一つのアンテナを共有することができる。

互換性について、Bluetooth SIGによってデバイスリストが公開されている。

### 通信速度と到達距離
BLEにおける通信速度の規格値は、Bluetooth 4.0は1Mbps、5は2Mbps, 1Mbps, 500kbps, 125kbpsである。ただし、様々な制約により、現実的な通信速度は10kbps程度にとどまる。これは、BLEが「省エネルギー」を主眼に置いており、「通信速度を最低限に抑えれば消費エネルギーも少ない」というトレードオフの結果である。

また、到達距離についても、30メートル以上の距離を設定することは可能ではあるが、実際には5メートル程度にまで短くされる。これも通信速度と同様の理由による。Bluetooth 5 では通信速度を 125 kbps にすることで最大到達距離が400mとなった。

## ネットワーク構成
BLEでは、デバイスとデバイスが通信をおこなう方法として、**ブロードキャスト**と**コネクション**という2つの方法を定義している。なお、あるBLEネットワーク内において、これらの方法が混合して存在し、通信をおこなっていてもかまわない。

### ブロードキャスト
ブロードキャストは、あるBLEデバイスから別のBLEデバイスに対して、一方的にデータを送信するための通信方法である。あるBLEデバイスが、一定周期でデータを発信し続け、別のBLEデバイスがそれをスキャン・受信することによって、データのやり取りをおこなう。

この通信方法において、データを発信するデバイスを**ブロードキャスター**、データを受信するデバイスを**オブザーバー**と呼ぶ。また、ブロードキャスターが発信しているデータのことを**アドバタイズパケット**と呼ぶ。アドバタイズパケットには、仕様に定められた範囲内で、自由なデータを設定することができる。

あるひとつのブロードキャスターが、不特定多数のオブザーバーに対して、同時に同じデータを発信できることが特徴で、よって機密性を要求されるようなデータのやり取りには不適である。例えば、「測定した温度データを一定周期に発信し続ける温度計（ブロードキャスター）」と、「受信した温度データを利用者に通知するアプリケーション（オブザーバー）」といったような利用法がある。

現実に利用されている例にAppleによって策定されているiBeaconがある。

### コネクション
コネクションは、あるBLEデバイスと別のBLEデバイスとの間で、相互にデータを送受信するための通信方法である。ブロードキャストとことなり、データの送受信は、コネクションに参加したデバイス間のみで、プライベートにおこなわれる。

この通信方法において、通信のホスト（コネクションを開始する側）となるデバイスを**セントラル**もしくは**マスター**、セントラルからのコネクション開始要求を受け付け、以降セントラルによって定められたタイミングでデータの送受信をおこなうデバイスを**ペリフェラル**もしくは**スレーブ**と呼ぶ。一般にセントラルはスマートフォンやタブレット、PCが担当する。ペリフェラルは、それらのデバイスから利用される周辺機器が担当する。意図的に、セントラルよりもペリフェラルのほうが実装要件が安易・安価となるよう設計されており、これはペリフェラルデバイス（BLEに対応した周辺機器）が多く開発される理由にもなっている。1つのセントラルは複数のペリフェラルと接続することができる。最大接続数にBLE仕様上の制限はないが、リソースの関係上、実際には最大8台などに制限されている。一方、1つのペリフェラルは1つのセントラルにしか接続できない。

通信には汎用属性（アトリビュート）プロファイル（Generic Attribute Profile, GATT）というデータ構造定義を用いており、GATTは広範な拡張性をもつため、各種デバイスは様々な目的のためにコネクションという通信方法を利用することができる。

PC・スマートフォン・タブレットに使われるOSおよびBluetoothアダプターは一般的にセントラルロールをサポートするが、ペリフェラルロールをサポートするかどうかは各デバイスのOSおよびハードウェア次第である。サーバー向けOSはBluetooth自体をサポートしていないものもある。

多くのアプリケーションでは接続処理が完了すると、セントラルとペリフェラルは、一方がサーバーになり、もう一方がクライアントになる。通常はペリフェラル側がサーバーになり、セントラル側がクライアントになるが、用途によっては逆でも構わない。GAPのセントラル／ペリフェラルとGATTのクライアント／サーバーの役割は互いに独立している。

## プロトコルとプロファイル
BLEには、Bluetooth BR/EDRと同様に、**プロトコル**と**プロファイル**というふたつの仕様定義が存在している。

### プロトコル
プロトコルには、「あらゆるBLEデバイスが利用する」定義が含まれる。以下のようなものである。なお、先に示すものほど機械的には低レベルな定義であり、後に示すものほどプログラム的な仕様定義となる。

* コントローラー
** 物理層（PHY）
** リンク層（LL）
** ホストコントローラーインターフェイス（HCI）
* ホスト
** ホストコントローラーインターフェイス
** セキュリティ・マネージャ（SM）
** 属性（アトリビュート）プロトコル（Attribute Protocol, ATT）
** 論理リンク制御およびアダプテーションプロトコル（Logical Link Control and Adaptation Protocol, L2CAP）
** 汎用属性（アトリビュート）プロファイル（Generic Attribute Profile, GATT）
** 汎用アクセスプロファイル（Generic Access Profile, GAP）
* アプリケーション

これらの定義には、デバイス間のペアリングコネクション実施やデータ送受信の方法、また通信周波数定義・制御などのハードウェア的定義が含まれている。

### プロファイル
プロファイルには、「あるBLEデバイスにおいて用いられる、データの送受信定義やユースケースなど」が含まれる。プロファイルのうち、GATTとGAPはプロトコルに含まれる特殊なプロファイルであり、そのほかのプロファイルとは区別される。また、Bluetooth BR/EDRにおけるプロファイルとは全くの別物であり、定義などに互換性はない。

#### GAPとGATT
汎用アクセスプロファイル（Generic Access Profile, **GAP**）に定義されているのは、ブロードキャストや検索の方法、コネクションの確立・管理方法などである。BLE仕様においては最上位となる定義であり、すべてのBLEデバイスがこの定義に準拠、またサポート・実装していなければならない。

汎用属性（アトリビュート）プロファイル（Generic Attribute Profile, **GATT**）に定義されているのは、あるデバイスが保持しているデータ要素の検索方法や、書き込み・読み出し・プッシュをおこなうための基本的なデータモデルを定義している。すべてのBLEデバイスは、GATTで定義されている仕様のもとにデータのやり取りをおこなう。そのほかのプロファイルでおこなわれるデータ定義の基底となっており、データ層の最上位となる定義である。

#### そのほかのプロファイル
GAPおよびGATT以外のプロファイルは、あるユースケースにおいて、各デバイスの振る舞いやデータ構成などを定めた、仕様セットである。Bluetooth SIG自身によって策定されたプロファイルには以下のようなものがある。

* Find Me Profile - あるデバイスの位置を特定するためのプロファイル
* HID over GATT Profile - Bluetooth BR/EDRにおけるHuman Interface Device Profileにあたるプロファイル。マウス、キーボードなどに用いる
* Health Thermometer Profile - 体温計プロファイル

すべての策定済みのプロファイルについては、Bluetooth SIG Adopted Specificationsにリストがある。

また、Bluetooth SIGが策定していないユースケースのために、メーカーが独自にプロファイルを策定することも認められている。iBeaconは、そのようなプロファイルのひとつである。

## アプリケーション
Bluetooth SIGは、元のBluetooth仕様から借用して、BLEデバイス用のいくつかのプロファイルを定義している。製造業者には、互換性を確保するために、デバイスに適切な仕様を実装することが期待される。デバイスには、複数のプロファイルの実装が含まれる場合がある。

のBLEアプリケーションプロファイルの多くはGeneric Attribute Profile（GATT）に基づいている。これは、LEリンクを介して属性と呼ばれる短いデータを送受信するための一般的な仕様である。Bluetoothメッシュプロファイルはこのルールの例外であり、General Access Profile（GAP）に基づいている。

### メッシュプロファイル
Bluetoothメッシュプロファイルは、Bluetooth Low Energyを使用して、ネットワーク内の他のBLEデバイスと通信する。各デバイスは、情報を「メッシュ」を構成した他のBLEデバイスを経由して転送する。たとえば、1台のスマートフォンから建物全体の照明をオフにできる。

* MESH（メッシュプロファイル）- ベースメッシュネットワーキング用。
* MMDL（メッシュモデル）- アプリケーション層の定義用。あいまいさを避けるために、メッシュ仕様では「プロファイル」の代わりに「モデル」という用語が使用されている。

### ヘルスケアプロファイル
ヘルスケアアプリケーションのBLEデバイスには多くのプロファイルがある。Continua Health Alliance コンソーシアムは、Bluetooth SIGと協力してこれらを推進している。

* BLP（Blood Pressure Profile）- 血圧測定用。
* HTP（Health Thermometer Profile）- 医療用温度測定デバイス用。
* GLP（Glucose Profile）- 血糖値モニター用。
* CGMP（Continuous Glucose Monitor Profile）- 連続血糖値モニター用

### スポーツとフィットネスのプロファイル
スポーツおよびフィットネスアクセサリーのプロファイルは次のとおり。

* BCS（ボディコンポジションサービス）
* CSCP (Cycling Speed and Cadence Profile) - 自転車やエアロバイクに取り付けられたケイデンスや車速の計測センサー用
* CPP（サイクリングパワープロファイル）
* HRP（心拍数プロファイル）- 心拍数
* LNP（ロケーションおよびナビゲーションプロファイル）
* RSCP（走行速度とケイデンスプロファイル）
* WSP（体重計プロファイル）

### インターネット接続
* IPSP（インターネットプロトコルサポートプロファイル）

### 汎用センサー
* ESP（環境センシングプロファイル）
* UDS（ユーザーデータサービス）

### HID接続
* HOGP（HID over GATT Profile）により、BLE対応のワイヤレスマウス、キーボード、およびその他のデバイスが可能になり、バッテリー寿命が長持ちする。

### 近接センシング
このアプリケーションは、「常時接続」デバイスで長いバッテリー寿命を提供するのに最適である。iBeaconデバイスの製造業者は、Apple社のiOSデバイスがサポートする近接センシング機能を利用するために、デバイスに適切な仕様を実装している。

関連するアプリケーションプロファイルは次のとおり。

* FMP（“find me”プロファイル）を使用すると、1番目のデバイスが2番目の置き忘れたデバイスにアラートを発行できる。
* PXP（近接プロファイル）を使用すると、近接モニターは、近接レポーターが近距離にあるかどうかを検出できる。 物理的な近接度は、無線受信機の RSSI 値を使用して推定でき、距離の絶対的な校正はしていないが、通常デバイス間の距離が設定されたしきい値を超えるとアラームを鳴らすことができる。

### アラートとタイムプロファイル
* 電話アラートステータスプロファイルとアラート通知プロファイルを使用すると、クライアントデバイスは別のデバイスからの着信アラートなどの通知を受信できる。
* タイム (Time) プロファイルを使用すると、サーバーデバイス側のネットワーク時刻をもとに、クライアントデバイスの現在時刻やタイムゾーンを設定（同期）することができる。例えば腕時計と携帯電話の間など。

### バッテリー
* バッテリーサービスは、デバイス内の単一バッテリーまたはバッテリーセットの、バッテリー状態とバッテリーレベルを公開する。

### オーディオ (Auracast,LE Audio)
2020年1月に発表されたLE Audioは、従来のBluetooth音声規格 (Classic Audio) を再定義するものとなる。デフォルトのコーデックとしてLC3を採用した。Bluetooth 5.2の非同期転送とあわせて低遅延となっており、マルチストリームの仕様も標準化された。音源デバイスからの1つまたは複数の音声ストリームを、無制限の数のヘッドホンで同時に受信することができる。また補聴器のサポートも追加される。標準のBluetoothオーディオ (SBC) と比較して、バッテリー寿命が長くなっている。

2022年7月に、LE Audioのフルセットの仕様が完成した。

### 接触追跡と通知
2020年12月、Bluetooth SIGは、COVID-19のパンデミックに対応するためウェアラブル接触通知サービスの仕様案をリリースした。このサービスにより、ウェアラブルデバイスの接触通知サービスは、スマートフォンなどのクライアントデバイスと通信して制御できるようになる。

## ハードウェア実装
### チップ
2009年の後半以降、Bluetooth SmartのICチップの実装（製品）が多くの製造業者からアナウンスされた。実装には一般的にソフトウェア無線 (software radio) が使用されるため、仕様のアップデートにはファームウェアのアップグレードによって対応することができる（ハードウェアの変更は不要）。

## 対応OS
* PC
** Microsoft Windows: セントラルロールはWindows 8以降、ペリフェラルロールはWindows 10 Creators Update (バージョン1703, Build 15063) 以降。

** macOS: セントラルロールはバージョン10.7以降、ペリフェラルロールはバージョン10.9以降。
** Linux 3.4以降（BlueZ 5.0による対応）
* モバイル
** Android: セントラルロールはバージョン4.3以降、ペリフェラルロールはバージョン5.0以降。Bluetooth 5対応はバージョン8.0以降。
** iOS: セントラルロールはバージョン5.0以降、ペリフェラルロールはバージョン6.0以降。
** Windows Phone 8.1以降
** BlackBerry 10

Bluetooth LEアプリケーションを開発するには、OSによるGATT APIのサポートが必要となる。

BLEペリフェラルデバイスと接続・通信するための機能をウェブブラウザ上で提供するための実験的な技術として、Web Bluetooth APIも策定されている。

## ターゲット市場
Bluetooth SIGは省電力技術の市場としてスマートホーム、健康、スポーツ、フィットネスをはじめとするたくさんの市場があるとしている。例えば以下のようなものが挙げられる。
* ボタン電池で月単位や年単位で動く機器（必要とする電力が少ないため）
* サイズが小さく、低価格な機器
* 市場シェアの大きい携帯電話、タブレット、PC周辺機器などへの対応

## 脚注
### 注釈

### 出典

## 参考文献
* 「Bluetooth Low Energyをはじめよう」 Kebin Townsend、Carles Cufi、Akiba、Robert Davidson著、水原文訳、オライリー・ジャパン、2015年。 

## 関連項目
*  及び 
* Bluetooth
* 無線PAN