蓝牙信标/ iBeacon的浏览器感知

Posted

技术标签:

【中文标题】蓝牙信标/ iBeacon的浏览器感知【英文标题】:Browser Awareness of Bluetooth Beacons / iBeacons 【发布时间】:2014-11-11 20:10:26 【问题描述】:

有没有办法让浏览器知道附近的 iBeacon 设备?

类似于 html5 Geolocation 的工作方式...

如果不是,这是否可以通过浏览器插件来实现,该插件可以提供 javascript 使用的详细信息?

【问题讨论】:

【参考方案1】:

很遗憾,没有。没有 Web 浏览器在信标检测和 JavaScript 之间实现任何桥梁。

我认为插件方法在移动浏览器(iosandroid)上是不可能的,因为这两种浏览器都不支持外部应用程序与 Mobile Safari / Mobile Chrome 中的 JavaScript 之间的异步通信。您可以做的最好的事情是拥有一个响应信标的自定义应用程序,然后在浏览器中启动一个网页。但我意识到这不是你所要求的。

如果您想使用 JavaScript 构建本机应用程序,您可以使用 Cordova(又名 PhoneGap)并使用提供信标支持的插件。我的公司有一个用于我们的 ProximityKit 信标框架:

https://github.com/RadiusNetworks/proximitykit-plugin-cordova

这里还有一个支持基本信标的 Cordova 插件:

https://github.com/petermetz/cordova-plugin-ibeacon

【讨论】:

优秀的大卫!!!感谢您为我指明 Cordova/PhoneGap 的方向。它几乎涵盖了我所追求的一切,是一个好的开始...... :)【参考方案2】:

这看起来很有希望(2016 年),Google Chrome 开发者网站显示桌面浏览器功能正在进行中。

https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web?hl=en

尽管 Web 蓝牙 API 规范尚未最终确定, Chrome 团队正在积极寻找热情的开发者(我 意思是你)尝试这个工作中的 API 并提供反馈 规范和实施反馈。

Web 蓝牙 API 目前可用于实验性启用 在 Origin Trials 中的原点上,或在本地机器上使用 实验标志。实施已部分完成,并且 目前可在 Chrome OS、Chrome for Android M、Linux 和 马克。

转到 chrome://flags/#enable-web-bluetooth,启用突出显示的 标记,重新启动 Chrome,您应该能够扫描并连接到 附近的蓝牙设备,读/写蓝牙特性, 接收 GATT 通知并知道蓝牙设备何时收到 断开连接。

https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md

【讨论】:

【参考方案3】:

此Web Bluetooth 有 W3C 规范,但尚无支持:http://caniuse.com/#search=bluetooth。

如果您决定编写一个实现此规范的 Phonegap 插件将是一个很好的起点。

【讨论】:

以上是关于蓝牙信标/ iBeacon的浏览器感知的主要内容,如果未能解决你的问题,请参考以下文章

蓝牙测距原理

在对iBeacons进行测距和监控之后,蓝牙设备无法连接,直到重置蓝牙

在蓝牙重置之前,蓝牙设备在测距和监控 iBeacons 后无法连接

机场室内导航,可以实现吗?

ibeacon怎么使用

iBeacon、蓝牙 BLE 和车队管理