【问题标题】:Cannot connect more than 3 BLE devices to web app无法将超过 3 个 BLE 设备连接到 Web 应用程序
【发布时间】:2021-08-28 03:59:27
【问题描述】:

我在使用网络蓝牙 API 连接 6 台 BLE 设备时遇到问题。我设法连接 3 但在第 3 次之后我收到此错误: DOMException:连接失败,原因不明。 我使用的笔记本电脑安装了蓝牙 5.1。我尝试在其他笔记本电脑上使用以前的版本,并且配对和连接适用于所有传感器。为什么会发生这种情况,这对我来说仍然是个谜。你遇到过这个问题吗?

非常感谢您的帮助。

【问题讨论】:

  • 你有没有用web API以外的任何东西成功地连接了这台机器上的6个蓝牙设备?也许限制是硬件而不是 API。
  • 我尝试使用 Nordic 的桌面应用程序,但由于这些传感器无法配对,而且 Windows 10 只喜欢配对设备,我无法对其进行测试。我正在寻找在 Ubuntu 上的快速解决方法,只是为了连接它们并查看我是否可以接收通知。

标签: javascript bluetooth-lowenergy web-bluetooth domexception


【解决方案1】:

可能您连接到计算机的蓝牙控制器最多可连接 3 台设备。

很遗憾,网络蓝牙 API 不会转发来自控制器的错误代码,而只会在发生故障时显示“未知错误”。

【讨论】:

  • 你知道如何获取本地控制器错误吗?如果是这样,我们可以为 Web 蓝牙错误添加一些详细信息。
  • 嗨,埃米尔,谢谢你的提示。我的笔记本电脑是 Dell Latitude 3301,具有以下硬件: 网络控制器 [0280]:Intel Corporation Cannon Point-LP CNVi [Wireless-AC] [8086:9df0] (rev 30) 子系统:Intel Corporation Cannon Point-LP CNVi [Wireless -AC] [8086:4030] 不幸的是,我无法确定同时最大连接数。一开始我以为是 Ubuntu 的问题,后来我在 Windows 分区上测试了代码,结果还是不行。
  • 这有点困难,因为在常见操作系统(如 Android 和 Windows)上运行的许多蓝牙堆栈实现并不能真正优雅地处理或记录达到最大连接数时的情况,尤其是不要当控制器这样说时,不返回特定的错误代码。 Apple 的 CoreBluetooth 更好,但是它有一个特定的错误代码:developer.apple.com/documentation/corebluetooth/cberror/…。您可以在不同的操作系统平台上尝试一下,看看达到限制时会发生什么。
【解决方案2】:

我解决了为自己安装蓝牙加密狗的问题。我猜组合芯片蓝牙 + Wifi 对我尝试做的工作类型反应不佳。因此,正如回答我的问题的一位好人所建议的那样,这确实是一个硬件问题。使用加密狗,我设法连接了 5 个设备并接收数据。感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-24
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 2022-10-04
    • 2017-10-18
    • 2016-01-02
    相关资源
    最近更新 更多