Bluetooth®|基礎編

Bluetooth® v4 ーまとめー

2018.05.29

1年半以上にわたり掲載してきました「Bluetooth-基礎編」ですが、今回のまとめをもって最後になります。この記事の企画や準備中にBluetooth v5が発表されましたが、Bluetooth low energyの基礎を理解するためにv4をベースに話を進めてきました。Bluetoothにかかわらず多くの規格、特に新市場やアプリケーションに向けたものはそれなりのスピードで進化します。Bluetooth low energyのコンセプトや基礎知識をもとに、新しいバージョンに追従していってください。

以下は、今までの記事とキーポイントのまとめです。

Bluetooth® v4の概要

▶ Bluetooth® v4の概要 ーはじめにー

この記事のポイント

・Bluetoothには、Bluetooth、Bluetooth SMART READY、Bluetooth SMARTの商標が存在したが、Bluetooth SIGの2016年通達によって、Bluetooth SMARTおよびBluetooth SMART READYの商標が廃止され、Bluetoothのみになった。

・Bluetoothの識別としては、3.0+HSや4.2のような、コア構成を示す決められた識別子を付ける。

▶ Bluetooth v4とは

この記事のポイント

・Bluetooth v4はBluetoothの低消費電力化バージョンで、v4.1以降はv3以前とは互換性がない。

・Bluetooth v4はRF回路規模の縮小と、用途を限定したことによる通信スループット制限により低消費電力化を実現した。


Bluetooth v4の用途

▶ Bluetooth v4でつながるアプリケーション

この記事のポイント

・Bluetooth v4は、ウェアラブル機器などとスマートフォンをつなげる無線技術として注目されている。

・プッシュ型広告など、Bluetooth v4を利用した新しいアプリケーションの開発が進んでいる。


Bluetooth v4の無線方式

▶ 概要

この記事のポイント

・Bluetooth v4は、非連続データを対象にした無線通信。

・長いインターバルをもつ間欠通信、他との干渉を避けるAFHが特徴。

▶ AFH(Adaptive Frequency Hopping)

この記事のポイント

・Bluetoothと無線LAN(Wi-Fi)は、同じ2.4GHz帯を使うので干渉が起こる。

・BluetoothはAFH技術により、無線LANをはじめ他との干渉を避けながら通信を行う。

▶ 通信開始と再送の手順

この記事のポイント

・アドバタイザのアドバタイジングをスキャナが受信し、コネクトリクエストが送られることで通信が開始する。

・通信開始後に通信NGが発生すると、AFHを使い何度でも通信可能なチャネルを探して通信を完了させる。

▶ 最大スループット

この記事のポイント

・Bluetooth v4.1までの理論上の最大スループットは305kbps、インターバルを加味すると28.8kbpsとなる。

・現実的には必ず通信エラーがあるので、28.8kbpsはベストエフォートと理解する。

・v4.2ではペイロードが増えたことにより、最大スループットは267.7kbpsになった。

▶ スレーブレイテンシとクイックトランスミッション

この記事のポイント

・スレーブレイテンシは、マスタからの問いかけに設定した回数分応答しなくても接続を維持し、電力消費を抑える動作。

・クイックトランスミッションにより、スレーブレイテンシの期間でも、必要応じてデータ送信ができる。


Bluetooth v4の上位プロトコルとプロファイル

▶ Bluetooth v4のアドレス(Bluetooth Device Address)

この記事のポイント

・通信プロトコルは、ネットワーク上でデータを通信するための手順や規約をまとめたもの。

・プロファイルは、用途ごとに定義された通信プロトコルの使い方を示したもの。

・Bluetooth v4のアドレスは48ビット(EUI-48)を使用しており、Public AddressとRandom Addressの2種類が使用可能。

▶ ペアリングとセキュリティ

この記事のポイント

・ペアリングとセキュリティは別個のものではなく、ペアリングとは暗号鍵の共有化ということができる。

・Bluetooth v4のペアリングは基本的にPasskey(Level 2)と「Just Work(Level 1)の2種類。

・ボンディングとは、ペアリングすることと解釈できる。

・ペアリングしなくても通信は可能。

・Bluetooth Core Specification 4.1ではLE Pingで暗号化通信の妥当性を確認する仕組みが追加された。

・Bluetooth Core Specification 4.2では、暗号鍵の生成手順が高度化された。

▶ ペアリングとセキュリティ : セキュリティマネージャの動作

この記事のポイント

・ペアリングの開始方法は2種類ある。

・ペアリングは、セキュリティ認証が開始され、Passkeyの表示/入力が行われ、STK(短期鍵)生成に必要な情報交換が終了するまでをいう。

・ペアリングが完了したことをボンディングと呼ぶ。

▶ L2CAPの変更点

この記事のポイント

・Bluetooth v4のL2CAPは、v3以前のものと基本的に同じ仕様だが変更点がある。

・Low Energy Signaling Channelは、スループットを決めるパラメータ変更を、主にスレーブ側からマスタ側に要求するために追加された。

・従来より長いパケットを扱えるようになったが、送受信において分割/まとめ直しの作業を要する。

・Bluetooth Core Specification 4.2からLE Credit Based Connection Channelが設けられ、大きなパケットをそのまま扱えるようになった。

▶ Attribute Protocol(ATTプロトコル)

この記事のポイント

・Attribute ProtocolはBluetooth 4.0から追加された、Client-Serverアーキテクチャを実現するためのプロトコル。

・接続処理が完了すると、マスタとスレーブは一方がサーバになり、もう一方がクライアントになる。

・ATTプロトコルは属性確認のプロトコルなので、例えば温度データそのものを読み込むなどの動作は含まない。

・Attributeは、Handle、Type、Value、Permissionの4つの値で構成されている。

・ATTでは、Attributeのアクセスに関する6種の方法が提供されている。

▶ ATTプロトコルのPUD

この記事のポイント

・ATTプロトコルでは、Attributeのアクセスに関する6種の方法が提供されている。

・各Attributeの値を読み書きするためにFind、Read、Writeの3つの機能が提供されている。

・これらによりATTプロトコルのPDUが構成され利用される。

▶ アトリビュートプロトコルPDUフォーマット

この記事のポイント

・ATTプロトコルPDUは、アトリビュートOpCode、アトリビュートパラメータ、オーセンティケーションシグネチャで構成される。

・アトリビュートOpCodeは、メソッド、コマンドフラグ、オーセンティケーションシグネチャフラグを有する。

・コマンドフラグに1が立っている場合、そのPDUはコマンドであることを意味する。

・オーセンティケーションシグネチャフラグが1の場合は、オーセンティケーションシグネチャを使うことを意味する。

▶ GATTとは

この記事のポイント

・GATTは、ATTを用いてデータを構造化する方法と、アプリケーション間でのやり取りの方法を定義する。

・Bluetooth low energyのアプリケーションは、すべてこのGATTを使用して構築されることから、GATTはBluetooth low energyのデータ転送の主軸となるものである。

▶ GATT機能とは

この記事のポイント

・GATT機能とは、GATTに基づくデータのやり取りのための手順でATTが提供する操作に基づく。

・GATT機能にはサブプロシージャがあり、データアクセス機能をユーザーに提供する。

▶ GATTの構造

この記事のポイント

・GATTプロファイルは、「サービス」、「キャラクタリスティック」、「ディスクリプタ」の3つのアトリビュートで構成されている。

・GATTプロファイルはサービスの集合体であり、サービスはキャラクタリスティックの集合体。

▶ GATT-まとめ

この記事のポイント

・GATTは、ATTを用いてデータを構造化する方法と、アプリケーション間でのやり取りの方法を定義する。

・Bluetooth low energyのアプリケーションは、すべてこのGATTを使用して構築されることから、GATTはBluetooth low energyのデータ転送の主軸となるものである。

・GATTプロファイルは、「サービス」、「キャラクタリスティック」、「ディスクリプタ」の3つのアトリビュートで構成されている。

・GATTプロファイルはサービスの集合体であり、サービスはキャラクタリスティックの集合体。

・GATT機能とは、GATTに基づくデータのやり取りのための手順でATTが提供する操作に基づく。

・GATT機能にはサブプロシージャがあり、データアクセス機能をユーザーに提供する。

▶ プロファイルの例:Health Thermometer Profile

この記事のポイント

・Health Thermometer Profileを例にコレクタとサーモメータのロール、サービス、キャラクタリスティックを示した。

▶ iBeaconとは

この記事のポイント

・iBeaconはApple社の商標で、Bluetooth low energyを利用したiOSの近接通知機能。

・iOS7から搭載された機能でGPSが苦手としている屋内での測位が可能。

・iOSデバイスのアプリは取得したビーコンのID情報をインターネット経由でサーバに問い合わせ、サーバが指定された情報を配信しアプリに表示させるといった利用方法がある。


Bluetooth v4のハードウェア

▶ 実際のLSIとモジュール

この記事のポイント

・実際にどのようなLSIやモジュールがあるか知っておく。