我正在做一个 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
它有助于广告数据包解码,目前支持以下协议:
- 低功耗蓝牙 (博美(
- 里利主动射频识别