iBeacon的数据包格式

Ibeacon 是apple开发的基于BLE(Bluetooth low energy)的精确定位技术。常常用来做室内定位。

这里简单讲解下ibeacon的数据包格式

这里以UUID为B9407F30-F5F8-466E-AFF9-25556B57FE6D,Major为01,minor为01(此uuid为Estimote B9407F30)为例:

 

[plain]  view plain  copy
  1. d6 be 89 8e # Access address for advertising data 这个通常是固定的  
  2. 40 # 包头的第一个字节.  Contains: (type = 0), (tx add = 1), (rx add = 0)  
  3. 24 # 包头的第二个字节第,表示长度,这里的长度是Mac地址(6Byte) + 数据包过的长度(这里是30)  
  4. 05 a2 17 6e 3d 71 # 蓝牙的Mac地址,注意这里不是真正的mac地址  
  5. 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>  
  6. 52 ab 8d 38 a5 # 校验和checksum  

这里核心的部分是蓝牙的数据包部分

[plain]  view plain  copy
  1. 02 # 第一个AD structure 的字节数(接下来的字节数,这里是2个byte)  
  2. 01 # AD type 的标志  
  3. 1A # 标志的值 0x1A = 000011010    
  4.    bit 0 (OFF) LE Limited Discoverable Mode  
  5.    bit 1 (ON) LE General Discoverable Mode  
  6.    bit 2 (OFF) BR/EDR Not Supported  
  7.    bit 3 (ON) Simultaneous LE and BR/EDR to Same Device Capable (controller)  
  8.    bit 4 (ON) Simultaneous LE and BR/EDR to Same Device Capable (Host)  
  9. 1A # 第二个AD structure的字节数 (接下来的字节数,这里是26个)  
  10. FF # AD type 的标志,这里Manufacturer specific data.更多的标志可以到BLE的官网找到:例如0x16 表示servicedata  
  11. 4C 00 # 公司的标志 (0x004C == Apple)  
  12. 02 # Byte 0 of iBeacon advertisement indicator  
  13. 15 # Byte 1 of iBeacon advertisement indicator  
  14. B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D # iBeacon proximity uuid  
  15. 00 01# major   
  16. 00 01 # minor   
  17. c5 # calibrated Tx Power  


由于Ibeacon是建立在BLE上的数据包。所以,可以发发出BLE的设备均可以发送ibeacon。

Apple官方有AirLocate 开放源码的软件可以供开发参考。


from: http://blog.csdn.net/hello_hwc/article/details/38687767



注意:经测试,必须有可连接性广播包一起发出,iBeacon才能被手机收到并识别。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值