Javascript Web Bluetooth API错误:没有与UUID匹配的服务
我正在玩,我正在尝试从浏览器获取我的设备(小米MyBand,BLE设备)的当前电池电量。Javascript Web Bluetooth API错误:没有与UUID匹配的服务,javascript,browser,bluetooth,bluetooth-gatt,web-bluetooth,Javascript,Browser,Bluetooth,Bluetooth Gatt,Web Bluetooth,我正在玩,我正在尝试从浏览器获取我的设备(小米MyBand,BLE设备)的当前电池电量。 我对bluetooth web api有点陌生,请记住,我可能缺少一些基本的东西 我的设置: Chrome版本76.0.3809.132(64位) macOS Mojave v10.14 这是我的Javascript代码,单击按钮时调用此函数: navigator.bluetooth .requestDevice({filters: [ { name: 'MI' },
我对bluetooth web api有点陌生,请记住,我可能缺少一些基本的东西 我的设置:
- Chrome版本76.0.3809.132(64位)
- macOS Mojave v10.14
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)
})
我记录了2号日志,然后出现以下错误:
错误:NotFoundError:在设备中找不到与UUID 0000180f-0000-1000-8000-00805f9b34fb匹配的服务
我卡住了。你知道我需要做什么吗
完整示例代码如下所示:
现场演示:
谢谢大家。那里有服务吗?用工具确认,如chrome://bluetooth-internals 或nRF连接。此外,请尝试此通用电池电量读数示例,该示例已知可用于其他设备:嘿,谢谢您的回复。是的,它列在chrome BT内部,请参阅:。我只是想得到一些设备信息,我不需要特别的电池。我只是想证明我可以从浏览器中读取设备的某些信息(不仅仅是名称),我看不到服务…180f。。。在屏幕截图中。您已经扩展了服务…感觉0。。。(注册分配编号,可在中找到)。同样,该设备可能没有公开该服务(即使它做广告)。尝试阅读它确实公开的其他服务/特性。搜索可以找到一些有用的信息。