BLE之Beacon

https://mp.weixin.qq.com/s/oe89XpRO7-9bdmCaAhyYAw

1. BLE广播


BLE设备可以通过广播(Advertisement)周期性的向周围的设备发送消息,广播消息格式展开如下:


广播通道上的PDU数据总共有7个类型,分别为4Advertising + 2 Scanning +1 Connect-request。进一步的展开ADV_IND消息格式如下:

最终,看到AdvData由一个个ADStructure组成,每个advStructure包括三个部分:

  • AD length,AD Type和AD Data的长度

  • AD Type:AD Data的数据含义,

  • AD Data:AD Type所指示的数据

AD type 定义在Core Specification Supplement(CSS) v7  

BLE规范允许厂商定义自己的ADtype,此时AD type值为0xFF,基于此,Apple和Google公司分别定义了一种特殊的BLE广播,这就是iBeacon和EddystoneBeacon,即Beacon是一种厂商自己定义的广播数据,这种广播类型是不可连接,不可扫描的,即类型为ADV_NONCON_IND。


2. iBeacon

iBeacon 规范定义在 https://developer.apple.com/ibeacon/

其ADV data定义如下

例如 一个iBeacon的ADVdata如下:

0x0201061AFF4C0002151048E70A5D61492525698305449030901005A77C0

就可以尝试对比上面的结果分析。

3. Google Eddystone

Google Eddystone Beacon定义在: 

 https://developers.google.com/beacons/eddystone

其ADV data定义如下

4. 应用

基于iBeacon的定位:  

https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf

 

猜你喜欢

转载自www.cnblogs.com/someone-device/p/12152894.html