Ibeacon 是apple开发的基于BLE(Bluetooth low energy)的精确定位技术。常常用来做室内定位。
这里简单讲解下ibeacon的数据包格式
这里以UUID为B9407F30-F5F8-466E-AFF9-25556B57FE6D,Major为01,minor为01(此uuid为Estimote B9407F30)为例:
d6 be 89 8e # Access address for advertising data 这个通常是固定的
40 # 包头的第一个字节. Contains: (type = 0), (tx add = 1), (rx add = 0)
24 # 包头的第二个字节第,表示长度,这里的长度是Mac地址(6Byte) + 数据包过的长度(这里是30)
05 a2 17 6e 3d 71 # 蓝牙的Mac地址,注意这里不是真正的mac地址
02 01 1a 1a ff 4c 00 02 15 b9 40 7f 30 f5 f8 46 6e af f9 25 55 6b 57 fe 6d 00 01 00 01 c5<span style="font-family: Arial, Helvetica, sans-serif;"> #蓝牙数据包</span>
52 ab 8d 38 a5 # 校验和checksum
这里核心的部分是蓝牙的数据包部分
02 # 第一个AD structure 的字节数(接下来的字节数,这里是2个byte)
01 # AD type 的标志
1A # 标志的值 0x1A = 000011010
bit 0 (OFF) LE Limited Discoverable Mode
bit 1 (ON) LE General Discoverable Mode
bit 2 (OFF) BR/EDR Not Supported
bit 3 (O