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 Special Interest Group（英語版） (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 LEはBluetooth BR/EDRとは異なる規格であるため、互換性を持たない。しかしながら、Bluetooth 4.0の仕様書においては、LEとBR/EDRのどちらか、あるいは両方の実装をすることが許可されている（デバイスタイプとしては、BR/EDR、LE only、BR/EDR/LEの3通りがある）。また、LEはBR/EDRと同様の2.4 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におけるプロファイルとは全くの別物であり、定義などに互換性はない。 汎用アクセスプロファイル（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（ユーザーデータサービス） HOGP（HID over GATT Profile）により、BLE対応のワイヤレスマウス、キーボード、およびその他のデバイスが可能になり、バッテリー寿命が長持ちする。 このアプリケーションは、「常時接続」デバイスで長いバッテリー寿命を提供するのに最適である。iBeaconデバイスの製造業者は、Apple社のiOSデバイスがサポートする近接センシング機能を利用するために、デバイスに適切な仕様を実装している。 関連するアプリケーションプロファイルは次のとおり。 FMP（“find me”プロファイル）を使用すると、1番目のデバイスが2番目の置き忘れたデバイスにアラートを発行できる。 PXP（近接プロファイル）を使用すると、近接モニターは、近接レポーターが近距離にあるかどうかを検出できる。 物理的な近接度は、無線受信機の RSSI 値を使用して推定でき、距離の絶対的な校正はしていないが、通常デバイス間の距離が設定されたしきい値を超えるとアラームを鳴らすことができる。 電話アラートステータスプロファイルとアラート通知プロファイルを使用すると、クライアントデバイスは別のデバイスからの着信アラートなどの通知を受信できる。 タイム (Time) プロファイルを使用すると、サーバーデバイス側のネットワーク時刻をもとに、クライアントデバイスの現在時刻やタイムゾーンを設定（同期）することができる。例えば腕時計と携帯電話の間など。 バッテリーサービスは、デバイス内の単一バッテリーまたはバッテリーセットの、バッテリー状態とバッテリーレベルを公開する。 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) が使用されるため、仕様のアップデートにはファームウェアのアップグレードによって対応することができる（ハードウェアの変更は不要）。 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周辺機器などへの対応 ^ OSとしてはそれぞれiOS/iPadOS/watchOSが搭載されている。 ^ 仕様書の最終更新とプレスリリースには時間差がある。Bluetoothの記事も参照のこと。 ^ あるデバイスA-B間でコネクションを実施するための一連の手順のこと。通信内容の暗号化などがおこなわれる。 ^ これはデータ片（属性、アトリビュート）の集合体である。 ^ 例えば、体温計プロファイルの場合、「温度」というデータ属性が定義されており、この属性をやりとりすることによって、データの送受信をおこなう。 ^ Windowsランタイム (WinRT) APIでのサポートはWindows 8.1以降。また、Windows 8.xでBLEデバイスにアクセスするには、設定UIで事前にペアリングを済ませておく必要がある。 ^ Radio Versions | Bluetooth Technology Website ^ HowStuffWorks.com: Wibree ^ Low Energy: Point-to-Point | Bluetooth Technology Website ^ Low Energy: Broadcast | Bluetooth Technology Website ^ “Adopted Specifications”. Bluetooth Special Interest Group. 2016年1月12日閲覧。 ^ Specifications – Bluetooth® Technology Website ^ Bluetooth Low Energyをはじめよう p1 ^ “Bluetooth Smart (Low Energy) Technology - Bluetooth Developers Portal”. Bluetooth Special Interest Group. 2016年1月12日閲覧。[リンク切れ] ^ Bluetooth Low Energyをはじめよう p2 ^ Bluetooth Low Energyをはじめよう p4-5 ^ “Bluetooth SIG Extends Bluetooth Brand, Introduces Bluetooth Smart Marks - Press Releases Detail”. Bluetooth Technology Website. Bluetooth SIG (2011年10月24日). 2015年9月30日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー：引数 accessdate は必須です。 ^ “Bluetooth® v4の概要　ーはじめにー”. IoT技術情報サイト ROHM TECH WEB. ROHM. 2018年3月19日閲覧。 ^ Bluetooth 技術概要｜Bluetooth® Technology Website ^ Bluetooth Technology Overview | Bluetooth® Technology Website ^ a b Bluetooth Low Energyをはじめよう p7 ^ “ものになるモノ、ならないモノ（53） スルー防止も？ BLEがもたらすビジネスチャンス”. ITmedia. 2016年1月12日閲覧。 ^ Bluetooth Low Energyをはじめよう p9-11 ^ Bluetooth Low Energyをはじめよう p11-12 ^ Bluetooth Low Energyをはじめよう p9 ^ Bluetooth Low Energyをはじめよう p12-13 ^ Bluetooth Low Energyをはじめよう p133 ^ a b Bluetooth Low Energyをはじめよう p41 ^ a b Bluetooth Low Energyの接続 | フィールドデザイン ^ Bluetooth developer FAQ - UWP applications | Microsoft Docs - Is this functionality supposed to exist on a specific SKU? ^ Windows 10 20H1の最新テストビルド、スマホ連携や視線制御の強化など - CIOニュース：CIO Magazine ^ How to See if Windows 10 PC Supports Bluetooth Low Energy Peripheral Role ^ Attribute Protocol（ATTプロトコル） ｜ IoT技術情報サイト ROHM TECH WEB ^ a b Bluetooth Low Energy - UWP applications | Microsoft Docs ^ Bluetooth Low Energyをはじめよう p13 ^ Bluetooth Low Energyをはじめよう p17-18 ^ Bluetooth Low Energyをはじめよう 2.プロトコルの基本 p17-37 ^ Bluetooth Low Energyをはじめよう p14-16 ^ Adopted Bluetooth Profiles, Services, Protocols and Transports - GATT-Based Specification節。 ^ “Core Specification 5.3 – Bluetooth® Technology Website”. www.bluetooth.com. 2022年7月17日閲覧。 ^ “Mesh Networking” (英語). Bluetooth® Technology Website. 2022年7月17日閲覧。 ^ タイムプロファイル｜Bluetooth®テクノロジーウェブサイト ^ “LE Audio｜Bluetooth®テクノロジーウェブサイト”. Bluetooth®テクノロジーウェブサイト. 2022年7月17日閲覧。 ^ “次世代Bluetooth「LE Audio」で何が変わる? ソニーキーマンに聞いた【藤本健のDigital Audio Laboratory】”. AV Watch. 株式会社インプレス (2022年6月6日). 2022年7月17日閲覧。 ^ “Just Announced: The Complete Suite of LE Audio Specifications Is Now Available”. Bluetooth® Technology Website (2022年7月12日). 2022年7月17日閲覧。 ^ “COVID-19 Pandemic Response Solutions” (英語). Bluetooth® Technology Website. 2022年7月17日閲覧。 ^ windows-driver-docs/windows-driver-docs-pr/bluetooth/bluetooth-support-in-previous-windows-versions.md at c70f46aa2e02f88db0308d7353d1e5b386310253 · MicrosoftDocs/windows-driver-docs · GitHub ^ windows-driver-docs/windows-driver-docs-pr/bluetooth/bluetooth-low-energy-overview.md at 2cf1244ca5ff5eedb51805ca82f75f0d0ad88c32 · MicrosoftDocs/windows-driver-docs · GitHub ^ windows-driver-docs/windows-driver-docs-pr/bluetooth/implementing-a-bluetooth-le-proximity-profile-device-and-application.md at 026a7a01adcb76633616ad6242cc48065a5d2a4a · MicrosoftDocs/windows-driver-docs · GitHub ^ Devices - Windows app development | Microsoft Docs - Bluetooth device support ^ Windows 8 and 8.1 API Index (Windows) | Microsoft Docs ^ New Bluetooth features in Windows 10 Creators Update (a.k.a. GATT Server and friends) - Windows Developer Blog ^ BluetoothAdapter.IsPeripheralRoleSupported Property (Windows.Devices.Bluetooth) - Windows UWP applications | Microsoft Docs ^ CBCentralManager | Apple Developer Documentation ^ CBPeripheralManager | Apple Developer Documentation ^ About Core Bluetooth | Documentation Archive ^ Gustavo Padovan (2013年2月22日). “The big changes of BlueZ 5”. 2014年9月7日閲覧。 “As the MGMT interface is the only one to support the new Bluetooth Low Energy devices, BlueZ developers decided to drop support for the old interface once MGMT was completed. As a result, you need to be running Linux Kernel 3.4 or newer to use BlueZ 5.” ^ Bluetooth Low Energy の概要 | Android デベロッパー | Android Developers ^ Android 5.0 API | Android デベロッパー | Android Developers ^ Bluetooth | Android オープンソース プロジェクト | Android Open Source Project ^ What's New in iOS 5.0 | Documentation Archive ^ What's New in iOS 6.0 | Documentation Archive ^ 【連載】Bluetooth LE (2) iOS デバイスで Bluetooth LE 機器を使う (フェンリル | デベロッパーズブログ) ^ Brynte (2014年5月4日). “Windows Phone 8.1 for Developers–Introducing Bluetooth LE”. MSDN Blogs. 2014年5月16日時点のオリジナルよりアーカイブ。2014年5月18日閲覧。 ^ http://press.blackberry.com/press/2013/blackberry-supports-bluetooth-smart-ready-to-drive-m2m-applicati.html ^ Web Bluetooth API - Web APIs | MDN ^ Bluetooth SIG 'Markets' pages[リンク切れ] 「Bluetooth Low Energyをはじめよう」 Kebin Townsend、Carles Cufi、Akiba、Robert Davidson著、水原文訳、オライリー・ジャパン、2015年。 ISBN 978-4-87311-713-3 ANT（英語版） 及び ANT+（英語版） Bluetooth 無線PAN