reactjs - 从 react PWA 中读取 BLE 信标
问题描述
我正在为客户支持设计 PWA。其中一项功能需要精确(5 米误差范围)定位用户的手机。我正在考虑使用信标作为它们的范围和精度来满足我的需求。
问题是:如何从 react.js(非本机)PWA 中读取信标?当然,对于三角测量,这将需要读取多个信标。
解决方案
抱歉,由于浏览器不支持绑定到原始蓝牙扫描,因此没有实用的方法来制作扫描蓝牙信标的网络应用程序。
Google Chrome 确实支持通过Web 蓝牙 API通过 JavaScript 进行的 BLE 交互。但是,它只支持发现和连接 GATT 服务,不支持查找信标所需的任意 BLE 扫描。这意味着您找不到与 iBeacon、Eddystone 或 AltBeacon 兼容的设备。
您可能会发现一个可连接的自定义 BLE 设备,该设备通过可连接的 GATT 服务模拟信标行为。但即使你这样做了,它也只能在 Chrome 上运行,而不是在 Safari、Microsoft 或 Firefox 浏览器上运行,因为这些平台不支持 Web 蓝牙。
即使您使用自定义信标在 Chrome 上进行此操作,蓝牙信标也只能提供非常粗略的距离估计。三角测量仅在 3 米或更短的非常接近的范围内工作得很好。带有信标的更实用的室内定位技术使用 RSSI 指纹而不是三角测量。同样,即使是带有网络蓝牙的 Google Chrome 也不支持执行此操作所需的任意扫描。
推荐阅读
- jquery - JQuery 获取表单上动态创建的 ID 字段数
- android - 禁用 FirebaseUI Firestore 的持久性失败
- go - 在 Golang 中执行“kubectl apply”的等效方法
- laravel - 使用 CAS 进行身份验证,登录后重定向,Laravel
- gradle - Bazel 适合移动+桌面项目吗?
- json - JOLT 对纯 JSON 的重新排序
- gradle - Gradle Kotlin:如何将 groovy build.gradle 的 kotlin2js 插件转换为 build.gradle.kts?
- java - 使用条件更新避免异常(dynamoDB、Java)
- wordpress - 如何创建本地 Wordpress 站点的 .json 文件?
- c# - 使用 ASP.NET Core 和 Entity Framework Core 进行集成测试 - 如何在每次测试时恢复数据库中的测试数据?