使用 javascript 读取 ble 数据包的制造数据



我正在做一个 React-native ble 项目,现在需要一个广播公司(设备(观察者(客户端(关系。

是否有一种高级(JavaScript(方法来读取ble的广告包以获取字节数组?我正在尝试阅读整个广告包而不是任何格式。

我使用了react-native-ble-manager,并且正在查看Polidea的react-native-ble-plx:

https://polidea.github.io/react-native-ble-plx/#devicemanufacturerdata

看起来广告包的特定字段在设备下可用:例如制造数据(我最感兴趣并在嵌入式端操作的东西(。但是,大多数 Polidea 示例从连接获取设备。

我可能误解了文档?可以使用一些建议/方向来提供任何进一步的参考。

误解了文档。.

2分钟剥离了一些复杂性,揭示了我需要知道的内容。

答案供他人参考:

BleManager 的 startDeviceScan 函数(UUIDS、options、listener(,其中侦听器是返回设备对象的第二个参数的函数。从那里访问其字段。

this.manager.startDeviceScan(null, null, (error, device) => {
  if (error) {
    console.log(error.message);
    return;
  }
  if(device.name === "Some_encoding_Sensor_1"){
    console.log(device.manufacturerData);
  }

显示的示例应基于 UUID 而不是 device.name 进行过滤,但这在初始/动态(具有多个具有重命名方案的设备(时可能更容易使用。

看看这个JS库:advlib

它有助于广告数据包解码,目前支持以下协议:

  1. 低功耗蓝牙 (博美(
  2. 里利主动射频识别

最新更新