谷歌发布 Eddystone 蓝牙通信标准

阅读数:2194 2015 年 7 月 21 日

话题:语言 & 开发架构物联网

在 2005 年国际电信联盟(International Telecommunication Union,ITU)发布有关物联网的 ITU 报告后,物联网开始在全球范围内得到重视,并迅速发展。作为世界著名的互联网公司,谷歌公司也开始积极进行物联网产品的研发和推广。其重大举措包括收购了美国智能家具公司 Nest Labs、提出了为家用物联网设计的 Weave 通讯协议、设计了基于 IP 的 Thread 无线通讯协议和进行基于安卓的Brillo轻量级物联网操作系统的研发等。近日,谷歌又正式发布了一款跨平台的开源蓝牙低功耗(Bluetooth Low Energy,BLE)Beacon 标准——Eddystone,为其在物联网领域的发展增添新的力量。接下来,本文就对 Eddystone 进行简要介绍。

作为物联网的发展趋势之一,BLE Beacon 通常由电池供电,主要通过蓝牙向附近设备发送某种特定信息。例如,装备了 Beacon 的公交车站可以向等车的乘客发送实时的班车信息;博物馆可以利用 Beacon 向参观者介绍附件的展品信息等。Eddystone 就是 BLE Beacon 的一种通信标准,用来指导开发者进行 Beacon 信息的传输。据谷歌官方解释,该名字来源于英国的 Eddystone 灯塔,其意义在于 Beacon 可以像灯塔指引船只那样为用户提供相关信息。Eddystone 的产品经理 Matthew Kulick 和工程经理 Chandu Thota 表示,该项目的目标在于试图创建一个鲁棒、可扩展的 Beacon 标准,并试图把商人、开发者和制造商集合在一起,建立起一个完善的 Beacon 生态系统。

Eddystone 包含两个全新的 API——Nearby API 和Proximity Beacon API。Nearby API 适用于安卓和 iOS 系统,允许应用程序发现附近的 Beacon 硬件,并确认当前所处情境。Proximity Beacon API 则用于连接位置与存储在云端的相关数据,解密 Beacon 所传输信息的含义。那么,Eddystone 究竟有哪些特点呢?

首先,Eddystone 的主要特点之一就是它是一种开源且跨平台的 Beacon 标准。两年前,苹果已经发布了类似的 Beacon 标准——iBeacon。然而,该标准只兼容苹果公司的“i 系列”产品。与之相比,开源的 Eddystone 应用范围要宽广很多。它不仅可以用在安卓系统上,也可以通过链接库文件的方式用在 iOS 系统中。而且,Eddystone 的代码已经托管在GitHub上。相关开发人员都可以下载源代码进行定制化修改或完善。

另外,Eddystone 的特点在于其支持多种框架类型。苹果的 iBeacon 和谷歌的The Physical Web都只支持一种框架。而 Eddystone 支持通用唯一识别码(Universally Unique Identifier,UUID)、URL 链接、临时标识(Ephemeral Identifiers,EID)以及遥测数据等四种框架类型。

通用唯一识别码 UUID 共计 128 位,是每个 Beacon 的全球唯一标识。通过识别不同的 UUID,相应设备上的 APP 就可以知道目前所处的位置或者该标识所暗含的其他信息。苹果推出的 iBeacon 发送的正是 UUID。然而,UUID 需要和对应的 APP 联合使用才能解密该标识所暗含的信息,方式不够灵活、简便。为了解决该问题,Eddystone 支持另一种框架——URL 链接。

URL 链接比 UUID 要更简单、直接。用户接收到 URL 连接后,只需要用浏览器直接打开,即可看到相关的信息。URL 链接可以被理解成 Beacon 的二维码版本。但是,它不需要专门的识别软件或者识别过程。

临时标识 EID 是一种只允许被授权用户读取信息的框架类型。例如,在超市或者餐厅等公开场所,经营者既需要面向所有客户进行信息广播,也需要只针对所有员工进行临时消息公告。EID 就是面对这种情形而专门设计。为了安全性考虑,这些 EID 相关的信息会经常更新,以确保只有授权用户可以解码。

遥测数据框架主要面对需要掌控大量 Beacon 的企业。由于大部分 Beacon 都是采用电池供电,在一段时间后就需要更换电池或充电。遥测数据框架允许 Beacon 将自身的状态和电量信息发送给周围的工作人员,以便进行针对性的维护和更换。

总而言之,Eddystone 具有开源、跨平台和支持多种框架类型等特点。其发布对于 Beacon 生态系统有着非凡的意义。Radius Networks联合创始人兼 CEO Marc Wallace 表示,Eddystone 兼容多种框架协议的特点将使其用途十分广泛。这样,开发人员就不需要为每一种协议单独设置一个 Beacon。而且,为了更好的发展 Beacon 生态圈,谷歌致力于研究 Beacon 标准的同时,把硬件和管理软件等其他方面留给了合作公司。此外,谷歌将会引领 Eddystone app 的开发和支持。谷歌地图在今年早些时候已经在波兰地区使用了基于 Beacon 的技术来进行实时导航和提醒。目前,谷歌正在考虑进一步扩展此服务的应用地域。最后,Google Now也即将推出可以利用 Beacon 信息来更新提醒卡片的服务,扩大 Eddystone 的应用场景。


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注 我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。