google-chrome - BLE 浏览器 API startNotifications() 返回“GATT 错误:不支持”。
问题描述
我最近在 ESP32 板上实现了一个 BLE 通知系统。我的系统有一个特定的服务 uuid 和一个特定的特性 uuid。我已将 notify 属性设置为特征:
characteristic = service->createCharacteristic(
UUID,
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_WRITE |
BLECharacteristic::PROPERTY_NOTIFY
);
当我将特征的属性记录到 Chrome 开发工具中时,“通知”属性似乎为“真”:
Notify: true
但是,当我对我的特征使用 startNotifications() 时,我会收到以下错误消息:
Uncaught (in promise) DOMException: GATT Error: Not supported.
这是我使用的代码:
try {
this.batteryLevelCharacteristic.startNotifications()
.then(characteristic => {
characteristic.addEventListener('characteristicvaluechanged',
handleCharacteristicValueChanged);
console.log('Notifications have been started.');
});
} catch(e) {
console.log(e);
}
我真的不明白这个错误......有什么想法吗?:(
提前致谢 !
注意:我在 macOS Catalina 10.15.7 上使用 chrome 版本 87.0.4280.88