在过去的几个月里,我一直在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上就不行了。
发布于 2020-06-16 08:11:50
这是一个已知问题,无法使用Windows上的Web蓝牙访问安全特征。在其他平台上,配对是自动进行的,但在Windows上不会。这是一个跟踪问题:
https://bugs.chromium.org/p/chromium/issues/detail?id=960258
发布于 2020-06-17 03:05:37
我也坚持这一点,至于解决办法,我建议windows平台首先使用windows本身配对设备,然后通过浏览器配对(作为一种变通办法)。不是很多,但希望这能有所帮助,至少列表中有一点。附注:它应该只通过windows配对一次,这样PC就会记住设备,然后只要PC记住设备,你就可以通过浏览器进行配对。
https://stackoverflow.com/questions/62356599
复制相似问题