用javascript读取ble包的制造数据
Posted
技术标签:
【中文标题】用javascript读取ble包的制造数据【英文标题】:Read manufacture data of ble packet with javascript 【发布时间】:2019-07-27 21:23:09 【问题描述】:我正在开发一个 React-native ble 项目,该项目现在需要广播者(设备)观察者(客户端)关系。
有没有高级(javascript)的方式来读取ble的广告包以获得字节数组?我正在尝试读取整个广告包而不是任何格式。
我已经使用 react-native-ble-manager 并且正在查看 Polidea 的 react-native-ble-plx:
https://polidea.github.io/react-native-ble-plx/#devicemanufacturerdata
看起来广告包的特定字段在设备下可用:例如制造数据(我最感兴趣并在嵌入式端操作的东西)。但是,大多数 Polidea 示例都是从连接中获取设备的。
我可能误解了文档?可以使用一些建议/指导来进一步参考。
【问题讨论】:
【参考方案1】:误解了文档..
消除一些复杂性的 2 分钟揭示了我需要知道的内容。
答案供他人参考:
BleManager 的 startDeviceScan 函数(UUIDS, options, listener) 其中 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 进行过滤,但这可能更易于初始/动态使用(具有多个具有重命名方案的设备)。
【讨论】:
【参考方案2】:看看这个 JS 库: advlib
它有助于广告包解码,目前支持以下协议:
-
蓝牙低功耗 (BLE)
reelyActive RFID
【讨论】:
以上是关于用javascript读取ble包的制造数据的主要内容,如果未能解决你的问题,请参考以下文章