首页 > 解决方案 > 从 react PWA 中读取 BLE 信标

问题描述

我正在为客户支持设计 PWA。其中一项功能需要精确(5 米误差范围)定位用户的手机。我正在考虑使用信标作为它们的范围和精度来满足我的需求。

问题是:如何从 react.js(非本机)PWA 中读取信标?当然,对于三角测量,这将需要读取多个信标。

标签: reactjsbluetooth-lowenergypositioningprogressive-web-appsbeacon

解决方案


抱歉,由于浏览器不支持绑定到原始蓝牙扫描,因此没有实用的方法来制作扫描蓝牙信标的网络应用程序。

Google Chrome 确实支持通过Web 蓝牙 API通过 JavaScript 进行的 BLE 交互。但是,它只支持发现和连接 GATT 服务,不支持查找信标所需的任意 BLE 扫描。这意味着您找不到与 iBeacon、Eddystone 或 AltBeacon 兼容的设备。

您可能会发现一个可连接的自定义 BLE 设备,该设备通过可连接的 GATT 服务模拟信标行为。但即使你这样做了,它也只能在 Chrome 上运行,而不是在 Safari、Microsoft 或 Firefox 浏览器上运行,因为这些平台不支持 Web 蓝牙。

即使您使用自定义信标在 Chrome 上进行此操作,蓝牙信标也只能提供非常粗略的距离估计。三角测量仅在 3 米或更短的非常接近的范围内工作得很好。带有信标的更实用的室内定位技术使用 RSSI 指纹而不是三角测量。同样,即使是带有网络蓝牙的 Google Chrome 也不支持执行此操作所需的任意扫描。


推荐阅读