私は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)
})
エラー: 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
ありがとうございます。