2014/05/05

[ios]SensorTagのiBeaconパケット

BLEのスニファで、SensorTagのiBeaconパケットを取ってみた。
iBeaconというよりも、BLEがまだよくわかっていないので、そこからだ。
Core_V4.1の"Core System Package [Low Energy Controller volume] PartB  LINK LAYER SPECIFICATION"に説明がありそうだ。

image

 

iBeaconは、「俺ここにいるぜ!」のようなビーコンパケットに特定のフォーマットを持たせたものだ、という認識。
サザエのしっぽを、苦いから切り捨てるか、これはつまみによいと思って食べるか、の違いみたいなものか。
通信めいたものはAdvertisingだけで、あとは受信側がそれを解析して、好きなように使うだけなんだろう。

image


image

image

まず、ADV_NON_CONN_INDから。
Core_v4.1のp.2507 2.3.1.3 ADV_NONCONN_IND。
このPDUは、non-connectable undirected advertisingイベントで使うものらしい。
接続せず、特定の相手向けでもない、ということか。

image

Lengthが33で、AdvAが6ということは、AdvDataは27ということになる。
AdvAは、advertiser's public(TxAdd=0) or random(TxAdd=1) device addressが載っているらしい。TxAddは0だから、SensorTag固有の値か、TI固有の値か、そんなのなんだろう。
AdvDataには、advertiser's HostからのAdvertising Dataが載っているとのこと。

Advertising Dataのフォーマットみたいなものが見当たらない。これがいいのか?
https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile


image

ここからは、iBeaconのデータと言うことになる。
http://stackoverflow.com/questions/18906988/what-is-the-ibeacon-bluetooth-profile

1A : データ長。AdvDataが27バイトなので、残り26バイト。

FF : <<Manufacturer Specific Data>> CSS v4.pdf
image

4C, 00 : Company Identifier Code。これがAppleのコードらしい。

02, 15 : iBeacon advertisement indicator

FA, 5F, 55, D9, BC, 63, 40, 2E, A2, 54, 09, 1B, 8F, E8, C9, 91 : iBeacon proximity uuid

00, 01 : major
00, 01 : minor

C5 : Tx Power

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。