見出し画像

BLE ペリフェラル & セントラル

(Goto English Version | 前往繁體中文版)

ペリフェラル & セントラルとは?

ペリフェラル:アドバタイスで自身の存在を教えます、一般的はセンサーなどのデーバイス(例えば:温度計)。
セントラル:アドバタイスをスキャンして、周りのペリフェラルを発見します、一般的はスマートフォン。

ペリフェラルはアドバタイスで自身の存在を教えます

アドバタイスの長さは最大31バイトまで設定できます。
アドバタイスの間隔、中身のデータが設定できます。

ペリフェラルの中身は?

ペリフェラルはあるサービスを持って、サービスはキャラクタリスティングを持って、キャラクタリスティングは値とプロパティを持ちます。

サービス(例:バッテリサービス [GATT サービス:0x180F])
- ペリフェラル持っています。
- 一つペリフェラルは一つ以上のサービスを持つことができます。

キャラクタリスティング(特徴)
- サービスの中にあります。
- 一つサービスは一つ以上のキャラクタリスティングを持つことができます。
- キャラクタリスティングは値とプロパティがあります。

プロパティ
- 読み出し:値を一回読み出しします。
- 書き込み:値を一回書き込みします。
- 通知:値が変更すると、セントラルに通知します。

セントラルとのコミュニケーション

通信方法は二つあります。
1、ペアリングして通信します。
2、アドバタイスのカスタムデータを読みます。(ペアリングなし)

ペアリングでの接続

スマートフォンは周りのアドバタイスをスキャンして、ターゲットサービスUUIDを持っているデバイスとペアリングします。
ペアリングは一対一です。一つペリフェラルは同時に一つセントラルしか接続ができませんが、一つセントラルはたくさんのペリフェラルと接続ができます。

アドバタイスを読みます

アドバタイスの長さは31バイトまでですが、カスタムデータが入れることができます。
例えば、あるBLEデバイスは温度計センサーの読み出し値をアドバタイスデータを付けて、ブロードキャストが実現できます。周りのBLEセントラルはアドバタイスを解析したら、ペアリングしなくても、現在の温度が分かります。(Arduinoのサンプルを後日シェアします。)

(Lee)



この記事が気に入ったらサポートをしてみませんか?