浅谈低功耗蓝牙信标标准:iBeacon、Eddystone和AltBeacon
引言
本文引用地址:http://www.amcfsurvey.com/article/201703/344714.htm蓝牙信标技术的发展蒸蒸日上,该技术能为消费者、商家和工业环境实现“接近感知应用”例如:
· 终端消费者可以基于他们所处的位置获得即时优惠券和定制产品;
· 商家可以从针对消费者购买习惯的可视度提升及消费者忠诚度提升中获益;
· 工业企业可以从改善的资产监控能力及资产利用率中增加收益。
可能性无穷无尽,信标技术已准备好来改变我们的世界。但在真正使用这一技术前,我们应该了解,它们是如何标准化的?它们的广播包又是如何工作的?
1蓝牙信标
蓝牙信标实际上并不是一个蓝牙技术联盟(Bluetooth SIG)的标准。相反,它们可以被称为“伪标准”(Pseudo-Standard),或者由大型供应商或企业集团牵头的信标应用的正式格式。
当今市场上有三个“伪标准”发展强劲,即:Apple的 iBeacon,Google的 Eddystone,Radius Network的 AltBeacon。这三个伪标准都使用低功耗蓝牙(BLE)广播方法,蓝牙信标利用其支持的通用属性(GATT)配置文件在第37、38、39通道发送广播包蓝牙扫描器接收广播包,对它们进行解码,然后采取行动,以避免在2.4 GHz工业、科学和医疗(ISM)免执照频段上与Wi-Fi数据流产生冲突。
进一步来说,每种标准都使用BLE广播的结构来嵌入它们自己的格式和数据。每当信标设备进行广播时,相同的包通常会在所有三个广播通道上被发送,从而使BLE接收器/扫描器更有可能接收到它。一旦接收到,扫描器会判定包的内容是否可被解码且是否相关,然后将采取相应的行动。
在广播数据包内,数据有效负载被构造为一个或多个[长度, 类型, 数据]三字段形式。
· 长度字段定义了后面的类型字段和数据字段的总长度;
· 类型字段用以指定数据是一个名称、一个服务通用唯一标识符(UUID)、一个统一资源标识符(URI),还是许多其他已定义数据类型中的一个;
· 信标可以对包的数据进行进一步的结构化设置,在数据字段内定义一个子结构,以判定不同的伪标准。
表1 BLE广播包格式
英文解释:
BLE advertising packet BLE广播包 preamble序言 access address 访问地址
Protocol data unit(PDU)(protected by CRC) 协议数据单元(PDU)(受CRC保护)
PDU Header PDU插头 Data payload(0 to 37)数据有效载荷(0-37)
广播包和数据包都使用相同的格式(如表1)。信标遵循标准的广播包格式,但包括了针对一种或多种伪标准的嵌入式数据有效负载。
2 Apple的iBeacon
Apple凭借其iBeacon成为了一家早期的信标采用者。iBeacon这个术语是Apple的商标,想要销售iBeacon产品或使用iBeacon标识的供应商必须从Apple获得一个免费许可。
图1 Apple的iBeacon
iBeacon规定了一个30字节的包,它必须在一个100ms的时隙上广播出去(尽管iBeacon的原始设备制造商们似乎并不总是严格遵守100ms的要求)。使用Core Location框架的iOS 应用程序,可以要求iOS持续监测穿过信标区域的事件,例如,进入或者离开一个由UUID、Major和Minor字段定义的iBeacon的接近区域。无论一个应用程序是否运行,iOS监测都会发生,它甚至可以触发一个已关闭的应用程序开始运行。监测仅在用户为相应的应用程序开启位置服务(Location Service)时才工作。
3 Google的Eddystone
Eddystone是Google开发的一种开源的、跨平台的信标格式。它同时支持Android和iOS设备。不同于其他信标标准,它定义了几种不同的框架类型,这些框架类型可以独立使用或者结合起来使用:
· Eddystone-UID:它广播一个独一无二的信标ID;
· Eddystone-URL:它广播统一资源定位符(URL);
· Eddystone-TLM:它可以被用来广播信标本身的遥测(健康和状态)数据;
· Eddystone-EID:它使用短暂的(短寿命的)标识符以支持要求更高安全性的信标应用。这种框架格式的规格尚未发布。
图2 Google的Eddystone
Eddystone-URL框架使移动平台能够提供基于位置接近感知的网页内容,且无需安装应用程序,从而实现Google一直在推介的“Physical Web”,或者“走过去并使用任何东西的能力(walk up and use anything)”的创新。对于iOS系统,Eddystone已经得到了Chrome浏览器的支持;从version 49版本开始,用于Android系统的Chrome浏览器(Chrome for Android)也将提供对Eddystone的支持。有了Chrome Today小程序,用户就可以访问与其所处周边环境相关的网页内容,并且在遇到信标时能够收到通知。
4 AltBeacon
Radius Network定义了AltBeacon规格,以尝试创建一种与操作系统无关的、开源的标准,从而不倾向于任何特定的供应商。该规格可以免费使用,而不用支付版税或授权费。像其他信标一样,它使用不可连接的、无定向的广播包。
图3 AltBeacon
Silicon Labs供稿
评论