Сканирование рекламы BLE в javascript

Моим приоритетом является сканирование рекламы с близлежащих устройств Bluetooth с низким энергопотреблением. Код, который я пробовал, запрашивал устройства (он хотел выполнить сопряжение, чтобы получить характеристики). Но в моем случае я прислушивался к их рекламе. Для чего я нашел этот код

function recordNearbyBeacon(major, minor, pathLossVs1m) { ... }
navigator.bluetooth.requestLEScan({
  filters: [{manufacturerData: {0x004C: {dataPrefix: new Uint8Array([
    0x02, 0x15, // iBeacon identifier.
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15  // My beacon UUID.
  ])}}}],
  options: {
    keepRepeatedDevices: true,
  }
}).then(() => {
  navigator.bluetooth.addEventListener('advertisementreceived', event => {
    let appleData = event.manufacturerData.get(0x004C);
    if (appleData.byteLength != 23) {
      // Isn’t an iBeacon.
      return;
    }
    let major = appleData.getUint16(18, false);
    let minor = appleData.getUint16(20, false);
    let txPowerAt1m = -appleData.getInt8(22);
    let pathLossVs1m = txPowerAt1m - event.rssi;

    recordNearbyBeacon(major, minor, pathLossVs1m);
  });
})

На официальном сайте есть определенные uuid, которые я пробовал, но, похоже, ни один из них не работает. Я хочу получить значения характеристик из данных рекламы. Как получить данные в Javascript? Заранее спасибо.


person Prajual    schedule 07.08.2018    source источник


Ответы (1)


Согласно документу статус реализации из веб-Bluetooth GitHub, Веб-сканирование Bluetooth API (который предоставляет метод requestLEScan) еще не реализован ни в одном браузере.

person heypiotr    schedule 07.08.2018
comment
Благодарить. Есть ли альтернатива в Javascript в браузере для чтения рекламы с маяка без сопряжения? - person Prajual; 09.08.2018
comment
К сожалению, я ничего не знаю. - person heypiotr; 09.08.2018