Последние несколько месяцев я без проблем работаю с web-bluetooth на iOS и ChromeOS. Но сегодня я впервые попытался запустить некоторые из моих примеров в Windows, и, к моему удивлению, большинство вещей, которые я реализовал, не работали с Windows. Я могу успешно подключиться к своему периферийному устройству, но всякий раз, когда я пытаюсь прочитать или записать что-либо в настраиваемую службу с настраиваемыми характеристиками, я получаю сообщение об ошибке «Операция GATT не разрешена». Я попытался осмотреться, но нигде информации об этом нет.
Ниже я привожу простейший пример, который у меня есть, он предназначен только для включения / выключения светодиодов на плате nrf52832. Реализована только одна настраиваемая услуга и одна настраиваемая характеристика, значение которой контролирует состояния светодиодов. Это работает без проблем на Chromebook и Mac, но не работает в Windows. Вот ссылка на этот простой проект, включая встроенный код и веб-приложение. https://github.com/shtarbanov/WebBluetooth-Feather-nRF52832/tree/master/LED%20Control
Я сделал две реализации одного и того же: одну на основе обещаний, а другую на основе async-await, расположенных в папках «WebApp (Async)» и «WebApp (Promises)» соответственно. Обе эти реализации отлично работают на Mac и Cromebook, но не на Windows.