仅 Windows 上出现 Web-Bluetooth 错误“GATT 操作未授权”

Alb*_*ert 5 bluetooth bluetooth-lowenergy web-bluetooth bluetooth-gatt

过去几个月我一直在 iOS 和 ChromeOS 上使用网络蓝牙,没有任何问题。但今天,我第一次尝试在 Windows 上运行我的一些示例,令我惊讶的是,我实现的大部分内容都不适用于 Windows。我能够成功连接到我的外围设备,但每当我尝试读取或写入任何具有自定义特征的自定义服务时,我都会收到错误“GATT 操作未授权”。我尝试环顾四周,但没有任何关于此的信息。

下面是我所拥有的最简单的示例,该示例仅用于打开/关闭 nrf52832 板上的 LED。仅实现了一项自定义服务和一项自定义特征,其值控制 LED 的状态。这在 Chromebook 和 Mac 上没有任何问题,但在 Windows 上不起作用。这是这个简单项目的链接,包括嵌入式代码和网络应用程序。 https://github.com/shtarbanov/WebBluetooth-Feather-nRF52832/tree/master/LED%20Control

我对同一件事做了两种实现,一种基于 Promise,另一种基于分别位于文件夹“WebApp (Async)”和“WebApp (Promises)”中的 async-await。这两种实现在 Mac 和 Cromebook 上都可以正常工作,但在 Windows 上则不行。

Rei*_*ant 1

一个已知问题是,无法在 Windows 上使用 Web 蓝牙访问安全特性。在其他平台上,配对会自动进行,但在 Windows 上则不会。跟踪此问题有一个问题:

https://bugs.chromium.org/p/chromium/issues/detail?id=960258