ibeacon广播数据简析
来源:互联网 发布:模拟球机该网络 编辑:程序博客网 时间:2024/06/16 01:37
一、实验目的:
分析基于ble的ibeacon协议广播数据含义
二、实验环境:
本文涉及的广播数据以TI ble芯片cc2xxx为例分析
三、广播数据:
static uint8 iBeacon_advertData[] ={ //ble相关内容,与ibeacon无直接关系 // discoverable mode (advertises indefinitely) 0x02, // length of this data GAP_ADTYPE_FLAGS, DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED, //iBeacon相关内容 0x1A, // length of this data 26byte GAP_ADTYPE_MANUFACTURER_SPECIFIC, /*Apple Pre-Amble*/ 0x4C, 0x00, 0x02, 0x15, /*Device UUID (16 Bytes)*/ 0xE2, 0xC5, 0x6D, 0xB5, 0xDF, 0xFB, 0x48,0xD2, 0xB0, 0x60, 0xD0, 0xF5, 0xA7, 0x10, 0x96, 0xE0, /*Major Value (2 Bytes)*/ 0x00, 0x01, /*Minor Value (2 Bytes)*/ 0x00,0x02, /*Measured Power*/ 0xCD};
1、上述源码有标注iBeacon相关内容,由于iBeacon不属于ble协议规范的内容,因此iBeacon相关协议数据放到了厂商自定义数据字段GAP_ADTYPE_MANUFACTURER_SPECIFIC中
2、Apple Pre-Amble
该项内容个人理解为苹果ibeacon协议的标识,通过该字段来判定是否为ibeacon协议,如有错误,欢迎指正
3、Device UUID
设备uuid,ble本身也是通过uuid来区分service的,但是这里的uuid不同于ble协议的uuid,而是苹果用来区分不同ibeacon设备的,可以自定义
4、Major Value、Minor Value
主要值、次要之,如果使用uuid来代表一类设备,那么该类设备可通过Major Value、Minor Value来区分同一类设备的不同设备个体
5、Measured Power
Measured Power代表ibeacon基站的发射功率,发射功率和rssi息息相关,因此该字段需要参数距离的计算
总结:
通过广播数据中的Apple Pre-Amble字段来判断是不是ibeacon设备
通过Device UUID、Major Value和Minor Value来确定某一个ibeacon基站
Measured Power是唯一需要参与计算的数据
根据多个基站的原始位置信息,以及当前位置距离个基站的距离,可以得到一个当前的位置信息
0 0
- ibeacon广播数据简析
- Ibeacon
- iBeacon
- BLE 协议栈之ibeacon广播包羞涩初探
- BLE 协议栈之ibeacon广播包羞涩初探
- BLE 协议栈之ibeacon广播包羞涩初探
- BLE 协议栈之ibeacon广播包羞涩初探
- 广播数据
- DVB数据广播
- IP数据广播概述
- udp广播数据
- udp广播发送数据
- 广播传送数据机制
- VBI数据广播
- 广播包数据含义
- BLE 广播数据解析
- BLE 广播数据解析
- BLE 广播数据解析
- 第16章-多线程-2
- UE4新手引导之下载和安装虚幻4游戏引擎
- 详解Java8特性之Stream API
- 《Android应用安全设计及安全编码指导手册》【2017年2月1日英文版】
- C51单片机定时器T0,T1的常用基本设置
- ibeacon广播数据简析
- java父类强转成子类
- [玩耍]C++控制台扫雷
- (二)负载均衡
- Win.ini和注册表的读取写入
- 玩转gitHub之更新代码
- sql将一个字段的数据加到另一个字段中
- vs 2015 安装ionic后启动页面没有显示
- dns备忘录