Advertising PDU(★)

Advertising PDUは、アドバータイズチャネル(3ch)でやり取りするパケットです。

Advertising PDUのフォーマット

ヘッダー
(2byte)
ペイロード
(Nbyte:種類によってさまざま)

ヘッダーには、PDU Type(4bit)、Length(6bit)が含まれます。

Advertising PDUの種類(PDU Type)

Advertising PDUは主に下記の種類(PDU Type)があります(通常利用されないものは省略しています)。

PDU Type 説明
ADV_IND アドバータイズパケット(送信相手を特定しないケース)。ペイロードには、6Byteの自分のデバイスアドレスと、0〜31Byteのアドバータイズ用データを含めます。アドバータイズ用データには、送信パワー、デバイス名、提供サービス等を入れます。
SCAN_REQ 相手のデバイス情報を取得する時に用いるパケット。ペイロードには、6Byteの自分のアドレスと、6Byteのアドバイタイズしているデバイスのアドレスを含みます。このパケットを使ったスキャンは、能動的に情報を取りにいくので、Active Scanと言われます。通常はPassive ScanというADV_INDを受信するだけのスキャン方法を利用するため、このSCAN_REQは必要ありません。ADV_INDに情報が入り切らない場合などに、このSCAN_REQを使う時もあります。
SCAN_RSP SCAN_REQに対する応答パケット。ペイロードには、6Byteの自分のデバイスアドレスと、0〜31Byteのスキャンレスポンス用データを含めます。スキャンレスポンス用のデータは、アドバータイズ用のデータと同じようなものをいれます。ただし、送信パワー等はいれてはいけないことになってます。
CONNECT_REQ 相手に接続するときに用いるパケット。ペイロードには、6Byteの自分のアドレスと、6Byteの接続相手のデバイスアドレスと、22Byteの接続に用いるパラメータ(データ通信用のチャネル情報、Connection Interval値、Supervision Timeout値等)を含みます。