0

我正在學習使用網絡藍牙api來編寫web應用程序,並使用鉻/鉻運行它。 但通知只響應幾次,我不知道爲什麼以及如何調試它(看看發生了什麼)。網絡藍牙通知只有很少的迴應

藍牙外設是血氧儀,使用BLE發送實時血氧飽和度,心率等。我的瀏覽器使用基於Debian 9.1(基於Debian 9.1(64位))運行的Chromium 60.0.3112.78。

下面是我的javascript:

鉻顯示
var serviceUuid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 
characteristicUuid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ; 
// Sorry, I hide the UUID. 


document.querySelector('#button').addEventListener('click', function(event) { 
    onStartButtonClick(); 
    }}); 

async function onStartButtonClick(){ 
    let options = {}; 
    options.acceptAllDevices = true; 
    options.optionalServices = [serviceUuid]; 
    try{ 
     const device = await navigator.bluetooth.requestDevice(options); 
     device.addEventListener('gattserverdisconnected', onDisconnected); 
     console.log('Got device:', device.name); 
     console.log('id:', device.id); 

     console.log('Connecting to GATT Server...'); 
     const server = await device.gatt.connect(); 

     console.log('Getting Service...'); 
     const service = await server.getPrimaryService(serviceUuid); 

     console.log('Getting Characteristic...'); 
     myCharacteristic = await service.getCharacteristic(characteristicUuid); 

     myCharacteristic.addEventListener('characteristicvaluechanged', 
      handleNotifications); 
     await myCharacteristic.startNotifications(); 
     console.log('> Notifications started'); 
    } catch(error) { 
     console.log('Argh! ' + error); 
    } 
} 
async function disconnect(){ 
    await myCharacteristic.stopNotifications(); 
    onDisconnected(); 
} 

function onDisconnected(event) { 
    // Object event.target is Bluetooth Device getting disconnected. 
    console.log('> Bluetooth Device disconnected'); 
} 

var tmp_count=0; 

async function handleNotifications(event) { 
    // I will read data by Uint8Array. 
    // var databuf = new Uint8Array(event.target.value.buffer); 
    tmp_count++; 
    console.log(tmp_count); 
} 

控制檯:

03:41:49.893 (index):192 Connecting to GATT Server... 
03:41:50.378 (index):195 Getting Service... 
03:41:51.237 (index):198 Getting Characteristic... 
03:41:51.359 (index):204 > Notifications started 
03:41:51.781 (index):228 1 
03:41:51.782 (index):228 2 
03:42:22.573 (index):217 > Bluetooth Device disconnected 

03:41:51.782 (index):228 2後沒有任何反應,所以我把關閉血氧儀。

什麼問題?我能做什麼? 謝謝。

回答