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

时间:2019-07-27 21:23:09

标签: javascript bluetooth-lowenergy packet-capture

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

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

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

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

似乎“设备”下的广告包的特定字段可用:例如制造数据(我最感兴趣并在嵌入式方面进行操作的东西)。但是,大多数Polidea示例都是通过连接获取设备的。

我可能会误解文档?可以对任何其他参考文献使用一些建议/指导。

2 个答案:

答案 0 :(得分:0)

误解了文档。

2分钟的简化工作揭示了我需要知道的东西。

供他人参考的答案:

BleManager的startDeviceScan函数(UUIDS,选项,监听器),其中监听器是第二个参数返回设备对象的函数。从那里访问其字段。

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进行过滤,但这可能更易于初始/动态使用(具有重命名方案的多个设备)。

答案 1 :(得分:0)

看看这个JS库: advlib

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

  1. 蓝牙低功耗(BLE)
  2. reelyActive RFID