【问题标题】:BLE Advertisement scan in javascriptJavaScript 中的 BLE 广告扫描
【发布时间】:2018-08-07 07:13:21
【问题描述】:

扫描附近的低功耗蓝牙设备的广告是我的首要任务。 我尝试的代码请求设备(它想配对以获得特性)。 但我的用例是听他们的广告。为此我找到了这段代码

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中获取数据?提前致谢。

【问题讨论】:

    标签: javascript bluetooth-lowenergy ibeacon navigator


    【解决方案1】:

    根据来自 Web Bluetooth GitHub 的 implementation status 文档,Web Bluetooth Scanning API(它提供了 requestLEScan 方法)尚未在任何浏览器中实现。

    【讨论】:

    • 谢谢。浏览器中的 Javascript 中是否有任何替代方法可以在不配对的情况下从信标读取广告?
    • 遗憾的是,我一无所知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多