Beacons通常使用广播频道,由beacon望文生义,他们每隔一段时间传输数据包,这些数据被设备像智能机接受,因此iBeacons是简单的低功耗蓝牙广播的特殊应用,iOS端加入了特别的支持。
你尝试拦截一个蓝牙广播包,例如来自于Estimote beacon,你将看到下列数据:02 01 06 1A FF 4C 00 02 15 B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D 00 49 00
(捕获这些数据,如果使用OSX,一个附加的下载包含一个蓝牙扫描和包日志)
以上数据已经有报文了,固定访问地址、广播PDU头和MAC地址被移除;它只有广播数据—30字节,因此它适应了31字节的限制。
什么使得蓝牙广播成为iBeacon?格式由苹果规定,分解如下:02 01 06 1A FF 4C 00 02 15: iBeacon prefix (fixed) B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D: proximity UUID (here: Estimote’s fixed UUID) 00 49: major 00 0A: minor C5: 2’s complement of measured TX power