蓝牙IBEACON协议详细解析

蓝牙IBEACON协议详细解析

先看一个不太清楚的图片,这个是nordic官方提供的解析的文档。
蓝牙IBEACON协议详细解析
先看顶上的三个字节,flags length type,这三个是固定的,因为ibeacon长度是固定,所以length位也是固定的,三个我们可以忽略,主要是后面的25个字节是我们需要解析的数据。
4C 00 这两位代表beacon的公司名称,4C就是苹果的ibeacon,nordic的是0x59,其他公司的需要查询蓝牙联盟的数据库。
02 15 这个代表了是ibeacon的服务类型,这个也是固定的,就是说我们设备如果需要扫描ibeacon设备,只要判断这里两位是02 15 就是可以判定这个是ibeacon设备。
01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF F0 这16个字节是ibeacon的UUID,注意ibeacon里的UUID,不是唯一指这个设备是唯一的,一般指设备的服务类型,比如该beacon是用于干什么的,手机app开发的时候,就是通过一个固定的uuid扫描到一组beacon来处理。
AB CD 这两位是beacon的Major值,经常用于beacon的分组,比如1层楼的beacon是一组major的值,2层的beacon是一组major的值。
01 02 这两位是beacon的Minor值,跟上面的major值放在一起,指在同一major值(组)下,唯一的一个设备id号。
C3 最后一位代表rssi的参考值,这个一般是指该beacon设备在一米处的rssi信号强度值,注意这个是有符号的int8类型,比如这里的C3就是代表了-61