蓝牙信标/ iBeacon的浏览器感知
Posted
技术标签:
【中文标题】蓝牙信标/ iBeacon的浏览器感知【英文标题】:Browser Awareness of Bluetooth Beacons / iBeacons 【发布时间】:2014-11-11 20:10:26 【问题描述】:有没有办法让浏览器知道附近的 iBeacon 设备?
类似于 html5 Geolocation 的工作方式...
如果不是,这是否可以通过浏览器插件来实现,该插件可以提供 javascript 使用的详细信息?
【问题讨论】:
【参考方案1】:很遗憾,没有。没有 Web 浏览器在信标检测和 JavaScript 之间实现任何桥梁。
我认为插件方法在移动浏览器(ios 或 android)上是不可能的,因为这两种浏览器都不支持外部应用程序与 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进行测距和监控之后,蓝牙设备无法连接,直到重置蓝牙