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

 

 

 

 

 

版权声明:本文为someone-device原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/someone-device/p/12152894.html