TL; DR;不支持Bluno板上的Web藍牙API特性通知?
我的問題是:
是從https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth網絡藍牙API在這一刻不完全支持的的Arduino板一些自定義的設備?因爲當我嘗試將
BluetoothRemoteGATTCharacteristic.startNotifications()
用於我的Bluno Beetle板時,我遇到了DOMException: GATT Error: Not supported.
例外情況。如果
startNotifications()
已完全實施。那麼,是否需要配置我的Bluno主板上的任何額外設置才能使通知正常工作?從大多數在線示例中,在使用此方法之前沒有提到設備上的額外設置。我在運行時檢查了目標特性的notify
屬性爲true
。它不應該是在https://webbluetoothcg.github.io/web-bluetooth/表示有此異常的原因:If neither of the Notify or Indicate bits are set in characteristic’s properties, reject promise with a NotSupportedError and abort these steps.
我的情況:
我試圖建立對鉻,其輸出的文字一點點網絡演示從我的Bluno Beetle v1.0板發送。我的板內
計劃很簡單:
void setup() {
Serial.begin(115200); //initial the Serial
}
void loop() {
Serial.write("hello world");
Serial.println();
delay(500);
}
我使用網絡藍牙API從developer.mozilla.org
// UUID using by Bluno Beetle
var RXTX_SERVICE = 0xdfb0;
var RXTX_CHARACTERISTIC = 0xdfb2;
function handleCharacteristicValueChanged(event) {
var value = event.target.value;
}
navigator.bluetooth.requestDevice({ acceptAllDevices: true, optionalServices: [RXTX_SERVICE] })
.then(device => { console.log(device); return device.gatt.connect(); })
.then(server => { return server.getPrimaryService(RXTX_SERVICE); })
.then(service => { return service.getCharacteristic(RXTX_CHARACTERISTIC); })
.then(ch => { console.log(ch);
ch.addEventListener('characteristicvaluechanged', handleCharacteristicValueChanged);
console.log('Notifications have been started.');
return ch;
})
.then(ch => { return ch.startNotifications() })
.catch(error => { console.log(error); });
一切都非常好,但是,我得到這個異常,當執行該行:ch.startNotifications()
DOMException: GATT Error: Not supported.
我試過使用iOS/An droid APP執行相同的任務,兩個APP都在處理該特性變化的通知。所以我認爲我的Bluno主板在某些配置下工作正常。但我無法找到網絡藍牙API對我來說是有用的,以克服這一點。
任何幫助,將不勝感激!謝謝。