Я подключаюсь к соединению BLE с компьютера с Windows, и мне нужно отправить строку длиной более 20 символов.
Я видел, что в документации Android есть эта функция requestMtu(int mtu)
, с помощью которой вы можетепросьба отправить более 20 символов.К сожалению, я почему-то не смог заставить его работать в JavaScript.Мне кажется, что это не реализовано.Я не уверен, что делаю что-то не так, хотя:
const device = await navigator.bluetooth.requestDevice({
acceptAllDevices: true,
})
const gatt = await device.gatt.connect().catch((err) => { console.log('err=',err); })
const server = await gatt.getPrimaryService(myUUid).catch((err) => { console.log('err=',err); })
const encoder = new TextEncoder('utf-8')
const myField = await server.getCharacteristic(myOtherUUid).catch((err) => { console.log('err=',err); })
myField.writeValue(encoder.encode("this_string_should_be_longer_than_20_characters"))
Поэтому, когда я пытаюсь обновить сейчас, вот так:
device.gatt.requestMtu(200)
Я получаю"device.gatt.requestMtu не является функцией"
Есть идеи, как я могу заставить эту работу работать в JS?