Advertising Parameter
Bluetooth Low EnergyのLink Layerのパケットは、Preamble、AccessAddress、PDU、CRCにより構成される。
BLUETOOTH SPECIFICATION Version 4.0 [Vol 6] P36より
Access Address
AccessAddressは4オクテットで構成され、Advertising時は、0x8E89BED6の値がもちられる。接続時には、それぞれ個別のアドレスが割り振られる。
1 |
|
BLUETOOTH SPECIFICATION Version 4.0 [Vol 6] P36に記載
PDU
PDUは、HeaderとPayloadにより構成される。Payloadの長さや書式は、Headerで定義されたTypeにより変化する。
PDU Headerは、16ビットしか割り振りがないので、ビット単位で構成される。最初の4ビットがPDU Typeが定義される。
領域名 | 長さ | 意味 |
---|---|---|
PDU Type | 4bit | PDUのタイプを定義 |
RFU | 2bit | 現在は使用していない。(未定義の領域) |
TxAdd | 1bit | AdvA, InitA, ScanAなどがpublicな場合0、randomの場合1。 PDU Typeにより定義がかわる。 |
RxAdd | 1bit | AdvA, InitA, ScanAなどがpublicな場合0、randomの場合1。PDU Typeにより定義がかわる。 |
Length | 6bit | PDU Typeや、Payloadの中身によっても変化 |
RFU | 2bit | 現在は使用していない。(未定義の領域) |
HeaderのTypeは下図の値で定義される。
BLUETOOTH SPECIFICATION Version 4.0 [Vol 6] P39に記載。
Advertisingに関連するPDU Typeは以下の通りである。
Type | 意味 |
---|---|
ADV_IND | 不特定多数デバイスから接続可能なアドバタイズイベント(undirected) |
ADV_DIRECT_IND | 特定デバイスから接続可能なアドバイタイズイベント(directed) |
ADV_NONCONN_IND | 不特定多数デバイスから接続不可能なアドバイタイズイベント(undirected) |
ADV_SCAN_IND | 不特定多数デバイスからスキャン可能なアドバタイズイベント(undirected) |
iBeaconでは、ADV_NONCONN_INDを使用する。また、PDU Type別のフォーマットは下表のように定義されている。
Type | フォーマット |
---|---|
ADV_IND | TxAdd 0:AdvA public TxAdd 1:AdvA random |
ADV_DIRECT_IND | TxAdd 0:AdvA public TxAdd 1:AdvA random RxAdd 0:InitA public RxAdd 1:InitA random |
ADV_NONCONN_IND | TxAdd 0:AdvA public TxAdd 1:AdvA random |
SCAN_REQ | TxAdd 0:ScanA public TxAdd 1:ScanA random RxAdd 0:AdvA public RxAdd 1:AdvA random |
SCAN_RSP | TxAdd 0:AdvA public TxAdd 1:AdvA random |
CONNECT_REQ | TxAdd 0:InitA public TxAdd 1:InitA random RxAdd 0:AdvA public RxAdd 1:AdvA random |
ADV_SCAN_IND | TxAdd 0:AdvA public TxAdd 1:AdvA random |
BLUETOOTH SPECIFICATION Version 4.0 [Vol 6] P39-P41より抜粋
1 |
|
1 2 3 4 5 6 7 |
|