技術コラム

初心者向け!BLE通信の仕組みを解説:
接続からデータ送受信まで

概要
Bluetooth Low Energy(BLE)は、現代のIoTデバイスやウェアラブル技術において欠かせない通信技術です。省電力でありながら安定した接続を提供するBLEは、スマートフォンからスマートホームデバイスまで、さまざまな場面で活用されています。しかし、その通信の仕組みを初めて学ぶ技術者にとっては、やや複雑に感じられる場合があります。本コラムでは、BLEの基本的な通信プロセスを分かりやすく解説し、初心者の方でも自信を持ってBLEの技術を理解できるようサポートします。アドバタイジングからデータ送受信までの流れについて紹介します。

はじめに:BLEチャネルの概念

BLE通信では、「チャネル」という概念がとても重要です。チャネルを簡単に言うと、データを送受信するための「通り道」のようなものです。
BLEでは、2.4GHzの周波数帯域を使って通信を行います。この周波数帯域を、全部で40個のチャネルに分けられており、1個のチャネルあたり2MHzの帯域を持っています。このチャネルを通じてデータの送受信を実現しています。

チャネルは大きく2つの種類に分かれています:

  • アドバタイズチャネル(Advertising Channels): 3つのチャネル(37, 38, 39)がアドバタイズチャネルとして使われます。
    これらはデバイスが自分の存在を知らせたり、新しい接続を確立するために使います。
  • データチャネル(Data Channels): 残りの37個のチャネルはデータチャネルです。
    これらは実際のデータ通信、例えばセンサーからのデータを送るときに使われます。
    BLEは、チャネルを切り替えながら通信を行うことで、他のデバイスとの干渉を避け、効率的にデータをやり取りします。
BLEチャネルの概念:イメージ図

周波数ホッピング

BLEは、通信の信頼性を向上させ、干渉を回避するために周波数ホッピングを利用しています。この技術は、データ送受信時に使用する周波数を一定のパターンで切り替える仕組みです。BLEは、2.4GHzのISMバンド内で40のチャネルを使用し、これらのチャネル間を迅速に切り替えることで、他の無線デバイスからの干渉を最小限に抑えます。周波数ホッピングによって、BLE通信は安定性と効率性を兼ね備え、信頼性の高いデータ送受信を実現しています。

周波数ホッピング:イメージ図

BLE通信の確立プロセス:アドバータイジングから接続まで

BLE通信の第一歩は、デバイス同士が互いの存在を認識し、接続を確立することです。このプロセスは、アドバタイジング、スキャン、コネクションリクエストの3つのステップで構成されており、デバイス間の初期のやり取りを円滑に進めるために重要な役割を果たします。これらのステップを理解することで、BLEデバイスがどのように通信を開始するのか、その基本的な仕組みを学ぶことができます。

BLE通信の確立プロセス:イメージ図

アドバータイジング

BLE(Bluetooth Low Energy)デバイスが通信を開始する最初のステップは、アドバータイジングです。これは、デバイスが自分の存在を周囲に知らせるための方法で、3チャネル(37/38/39)使って、定期的に発信しています。アドバータイジングパケットには、デバイス名や提供するサービスの情報が含まれています。これにより、他のデバイスが接続可能なデバイスを簡単に見つけることができます。アドバータイジングは定期的に行われ、デバイスが接続可能であることを示します。

アドバータイジング:イメージ図

スキャン

スキャンは、BLEデバイスが他のデバイスを見つけるためのプロセスです。セントラルデバイスは、周囲のアドバータイジングパケットを受信し、接続可能なデバイスを特定します。このステップは、デバイスがどのようなサービスを提供しているかを知るための重要な手段です。スキャンを行うことで、デバイスは接続先の候補をリストアップし、最適な接続先を選択することができます。

スキャン:イメージ図

コネクションリクエスト

スキャンによって接続したいデバイスを見つけたら、次に行うのがコネクションリクエストの送信です。これは、セントラルデバイスが特定のペリフェラルデバイスに接続を要求するプロセスです。コネクションリクエストが受け入れられると、両デバイス間で通信が確立されます。このステップを通じて、デバイス間でのデータの送受信が可能になります。

コネクションリクエスト:イメージ図

BLEデバイスのペアリング:データ送受信の準備

接続が確立された後、次に必要なのは、デバイス間での安全な通信とデータのやり取りを準備することです。この段階では、ペアリング、サービスディスカバリー、キャラクタリスティックの取得というプロセスを通じて、デバイス間の信頼関係を構築し、具体的なデータ交換の準備を整えます。これにより、BLE通信の基盤がしっかりと築かれ、データの送受信がスムーズに行われるようになります。

*サービスディスカバリー:ペリフェラルデバイスがどのようなデータや機能を提供しているかを確認
*キャラクタリスティックの取得:サービス内の具体的なデータ読み書き内容を確認

ペアリング

  • 通信相手が見つかり、接続が確立された後、次に行うのがペアリングです。ペアリングは、デバイス間で安全に通信を行うためのプロセスで、暗号化キーの交換が行われます。これにより、データの盗聴や改ざんを防ぐことができ、セキュアな通信が保証されます。ペアリングは一度行えば、次回以降の接続がスムーズになります。
ペアリング:イメージ図

BLEデータ送受信の方法:読み取り、書き込み、通知の活用

  • 通信の準備が整ったら、いよいよデータの送受信が始まります。この段階では、データの読み取り、書き込み、通知とインジケーション、そして周波数ホッピングを通じて、デバイス間での実際のデータ交換が行われます。これらのプロセスを理解することで、BLEデバイスがどのようにして情報をやり取りし、リアルタイムでのデータ更新を実現しているのかを知ることができます。
BLEデータ送受信の方法:イメージ図

データの読み取り

データの読み取りは、セントラルデバイスがペリフェラルデバイスから情報を取得するプロセスです。セントラルは読み取りリクエストを送信し、ペリフェラルは要求されたデータを返します。これにより、必要な情報をリアルタイムで取得することができます。データの読み取りは、センサー情報の取得やデバイスの状態確認に利用されます。

データの書き込み

データの書き込みは、セントラルデバイスがペリフェラルデバイスに情報を送信するプロセスです。書き込みリクエストを送信することで、ペリフェラルデバイスの設定を変更したり、データを更新したりすることができます。これにより、デバイスの動作を制御したり、設定を調整したりすることが可能になります。

まとめ

  • このブログを通じて、BLEの通信の仕組みを理解し、実際の開発に役立てていただければ幸いです。BLEは省電力で柔軟な通信を可能にするため、さまざまなIoTデバイスで活用されています。ぜひ、BLEに触れて、新しい技術を探求してください。
まとめ:イメージ図