一、 什么是iBeacon

iBeacon技术是Apple公司在2013年9月发布的一种基于BLE蓝牙的通信协议。主要用于短距离传送少量数据。应该场景例如在商场中,当你靠近某个商品时,在不用解锁手机的情况下,会把这个商品的折扣信息推送到你的手机上。


如上图所示,iBeacon设备一直发送广播数据,广播数据包括UUID,Major和Minor值。UUID为16个字节,major和minor各占两个字节。

名称 大小 说明
UUID 16 字节 一个商场中的iBeacon设备都共用一个UUID
Major 2 字节 商场中的一个商铺占用一个Major
Minor 2 字节 商铺中的一个商品占用一个Minor

由UUID,Major和Minor就可以定位是在哪个商场,哪个商铺,哪个商品。iBeacon设备并不能广播商品的优惠信息、商品的图片,只是广播了这个商品的ID而已,手机如何获得如上图所示的优惠信息?这就要看下图了

手机得到商品的ID后,通过ID向云端获取商品的详细信息,例如图片,折扣和其他商品详情。

二、 iBeacon工作原理

iBeacon蓝牙的广播包如下图所示:

Preamble:固定值01010101b。
Access Address:固定值0x8E89BED6
PDU:分为三个部分Header,Advertiser Address和Data。
Header:包含广播类型等相关信息
Advertiser Address:广播者的地址,该地址又有公共地址和私有地址之分。
Data:广播出去的真正有用信息。该部分信息不能超过31个字节。
对于iBeacons来说有,其Data部分主要包含了iBeacon Prefix,Proximity UUID,Major,Minor和TX power。从链路层上来说,其数据类型只有两种,如下图所示:

第一种数据类型为Flags,内容包括Flag Length,Flag Type和Flag Data。Flag Length是指Flag Type和Flag Data的长度(以字节为单位),对于iBeacon来说,很显然Flag Length为0x02。Flag Type根据蓝牙协议为固定值,其值为0x01。Flag Data主要用来表明广播的类型,支不支持传统蓝牙等信息。对于iBeacon来说其值为0x06,其表明该广播不支持BR/EDR,广播模式为一般可发现广播。
第二种为Manufacturer Specific Data,内容包括Manufacturer Specific Data Length,Manufacturer Specific Data Type和Manufacturer Specific Data。Manufacturer Specific Data Length是指Manufacturer Specific Data Type和Manufacturer Specific Data的长度(以字节为单位),从上图可知,很显然其值为26,即0x1A。Manufacturer Specific Data Type根据蓝牙协议为固定值,其值为0xFF。Manufacturer Specific Data有25个字节,分为6种数据,各部分数据解释如下:
Company ID:公司ID,对于苹果公司来说,其ID为0x004C
Beacon Type:固定值,其值为0x1502
Proximity UUID:一般一个商场用同一个UUID,自己定义
Major:一般一个商铺用同一个Major
Minor:一般是一个商品编号
TX power:是指距离iBeacon设备1m测得的信号强度值RSSI。用于测量iBeacon设备的距离。在实际应用中,由于人体或者其他通信阻碍物可能削弱信号,因此这个距离只是一个估算值。实际在测试的过程中,信号强度RSSI会有比较大的波动,对于如何测得比较准确的值,苹果公司给出了相应测试方法(以iphone 5S为例)。

CRC:用于广播包的校验。其校验多项式为 X24+X10+X9+X6+X4+X3+X+1

蓝牙iBeacon工作原理相关推荐

  1. iBeacon工作原理(How do iBeacon work?)

    ---------------------------------------------------------------------------------------------------- ...

  2. 【无线电波】蓝牙Bluetooth来源 原理?有无辐射影响健康 是否安全!?

    今天我们主要学习无线电波蓝牙Bluetooth诞生来源?蓝牙Bluetooth是怎么运行的?是否安全,有无辐射,会不会影响健康? 蓝牙名字的诞生及来源,与"烂"牙有什么关系 我们称 ...

  3. 蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

    苹果推出Ibeacon室内定位技术是为了弥补GPS无法覆盖室内定位这种场景.苹果意味着创新,在其推动下,蓝牙Ibeacon得到了极大的应用.而腾讯则是利用蓝牙Ibeacon在场景体验方面进行了创新,实 ...

  4. 蓝牙技术的工作原理及用途

    所谓蓝牙技术就是一种全球无线通讯标准,在一定距离内连接设备.目前,蓝牙技术也已应用到各个领域中,并已成为接入物联网(IOT)的主要技术.那关于蓝牙技术的工作原理本文将进行介绍,并概括其特点. 蓝牙技术 ...

  5. 蓝牙及蓝牙耳机工作原理

    耳机原理 1 蓝牙技术的特点 1.1 蓝牙协议体系结构 整个蓝牙协议体系结构可分为底层硬件模块.中间协议层和高端应用层三大部分.链路管理层(LMP).基带层(BBP)和蓝牙无线电信道构成蓝牙的底层模块 ...

  6. 蓝牙Ibeacon室内定位之微信摇一摇原理浅析--蓝牙定位--新导智能

    苹果推出Ibeacon室内定位技术是为了弥补GPS无法掩盖室内定位这种场景.苹果意味着立异,在其推进下,蓝牙Ibeacon得到了极大的运用.而腾讯则是运用蓝牙Ibeacon在场景体验方面进行了立异,实 ...

  7. 蓝牙音箱电路板原理图_一文看懂音响电路图及工作原理

    什么是音响 音响指除了人的语言.音乐之外的其他声响,包括自然环境的声响.动物的声音.机器工具的音响.人的动作发出的各种声音等. 音响大概包括功放.周边设备(包括压限器.效果器.均衡器.VCD.DVD等 ...

  8. 蓝牙4.0 OSAL层工作原理

    BLE系统架构 // OSAL_SimpleBLEPeripheral.cconst pTaskEventHandlerFn tasksArr[] = {LL_ProcessEvent, // tas ...

  9. GPS、WiFi、基站、蓝牙(iBeacon)、AGPS几种定位方式总结

    1.GPS GPS(Global Positioning System)即全球定位系统,它是由美国研究的一种定位方式,特点是:不需要SIM卡,不需要连接网络,只要在户外,基本上就能随时随地的准确定位. ...

  10. 实现原理 扫描枪_条码扫描枪工作原理

    条码扫描枪工作原理 是用于读取条码所包含的信息的设备, 条形码阅读器的结构通常为以下几部分: 光源. 接收 装置.光电转换部件.译码电路.计算机接口. . 条形码阅读器的基本工作原理为: 由光源发出的 ...

最新文章

  1. 【组队学习】【24期】Docker教程
  2. 【VMware vSAN 6.6】2.1.带有本地存储的服务器:vSAN硬件服务器解决方案
  3. java大文件 索引_JAVA 大文件上传解决方案(500M以上)
  4. 在浏览器中输入网址后的流程
  5. SQL SERVER 系列(7)数据表排序和聚集函数
  6. BZOJ 4070 [Apio2015]雅加达的摩天楼 ——分块 SPFA
  7. TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
  8. python3入门基础语法总结_Python基础语法总结
  9. 玩转oracle 11g(29):检查操作系统版本和查询表中修改数据
  10. vsftpd设置被动模式_(1)vsftpd主、被动模式iptables配置方法
  11. java递推_【Java】递归递推的应用
  12. 2013中国电商盘点回顾
  13. 海康录像机识别不到硬盘_海康硬盘录像机提示“资源不足”如何解决?
  14. web前端开发技术期末考试_Web前端开发技术期末试题1
  15. 设计原则之合成复用原则
  16. 大话设计模式系列之面向对象基础(一)
  17. JS(javascript)中this的几种用法实例详解
  18. AI行业精选日报_人工智能(1022)
  19. 如何删除vue手脚架创建的自定义配置
  20. php面试题 优信二手车_分布式定时任务对比 - sharedCode的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. 国内智能硬件行业 调研报告
  2. “恒德”机场智能应急指挥调度系统解决方案
  3. 项目管理十大知识领域和47个过程
  4. Springboot gzip解压http数据流
  5. mac用什么软件测试硬盘好坏,Mac怎么测试硬盘速度?
  6. canvas实现flybird小游戏
  7. Hadoop之常用端口号
  8. 大数据第三季--flume(day2)-徐培成-专题视频课程
  9. java怎么实现直方图均衡化_直方图均衡化原理与实现
  10. 图像风格迁移及代码实现