0

我正在使用Web 蓝牙 API,我正在尝试从浏览器获取我的设备(小米 MyBand、BLE 设备)的当前电池电量。
我是蓝牙 web api 的新手,请记住,也许我缺少一些基本的东西。

我的设置:

  • Chrome 版本 76.0.3809.132(64 位)
  • macOS Mojave v10.14

这是我的 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) 
    })

我记录了2号,然后我收到了这个错误: 铬控制台

错误: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

谢谢大家。

4

0 回答 0