我正在玩Web Bluetooth API,并且试图从浏览器中获取设备(Xiaomi MyBand,BLE设备)的当前电池电量。
我是蓝牙Web api的新手,请记住,也许我缺少一些基本知识。
我的设置:
这是我的Javascript代码,单击按钮时会调用此函数:
navigator.bluetooth
.requestDevice({filters: [
{ name: 'MI' },
{ services: ['battery_service'] }
]})
.then(device => {
console.log(1)
return device.gatt.connect()
})
.then(server => {
console.log(2)
return server.getPrimaryService('battery_service')
})
.then(service => {
console.log(3)
return service.getCharacteristic('battery_level')
})
.then(characteristic => {
console.log(4)
return characteristic.readValue()
})
.then(value => {
console.log(5)
console.log(value.getUint8(0))
})
.catch(error => {
console.log('error: ', error)
})
错误:NotFoundError:在设备中找不到与UUID 0000180f-0000-1000-8000-00805f9b34fb匹配的服务。
我被困住了。对我需要做什么有任何想法吗?
完整的示例代码在这里:https://github.com/baumannzone/browser-apis/blob/master/src/views/Bluetooth/Example1.vue
实时演示:https://browser-apis.netlify.com/#/bluetooth
谢谢大家。