本文介绍了Web-蓝牙错误&GATT操作未经授权&仅在Windows上发生的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在过去的几个月里,我一直在iOS和ChromeOS上使用网络蓝牙,没有任何问题。但是今天,我第一次尝试在Windows上运行我的一些示例,令我惊讶的是,我实现的大多数东西都不能在Windows上运行。我可以成功连接到我的外围设备,但每当我尝试读取或写入具有自定义特征的自定义服务时,都会收到错误消息"GATT操作未授权"。我试着四处看看,但没有任何关于这方面的信息。

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

我对同一件事做了两个实现,一个基于Promises,另一个基于Async-AWait,分别位于文件夹"webapp(Async)"和"webapp(Promises)"中。这两种实现在Mac和Cromebook上都能正常工作,但在Windows上就不行了。

推荐答案

这是一个已知问题,无法使用WindowsWeb蓝牙访问安全特征。在其他平台上,配对会自动进行,但在Windows上不会。跟踪此信息时出现问题:

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

这篇关于Web-蓝牙错误&GATT操作未经授权&仅在Windows上发生的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-19 08:44