0

私はWeb Bluetooth APIで遊んでいて、ブラウザーから自分のデバイス (Xiaomi MyBand、BLE デバイス) の現在のバッテリー レベルを取得しようとしています。
私は bluetooth web api の初心者です。基本的なものが欠けている可能性があることに注意してください。

私のセットアップ:

  • Chrome バージョン 76.0.3809.132 (64 ビット)
  • macOS モハーベ 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をログに記録すると、次のエラーが発生します。 Chrome コンソール

エラー: 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