是否有任何蓝牙低功耗(BLE)库用于本地反应?

dan*_*ann 3 bluetooth bluetooth-lowenergy react-native

我是反应基于原生的应用程序开发的新手.我们必须开发一个移动应用(如BLE客户端)需要通过BLE通信(蓝牙低功耗/智能蓝牙)来监视的IOT装置(BLE周/中心).我们正在使用Bluetooth SIG的Bluetooth Developer studio工具来设计自定义BLE服务并为我们的物联网设备生成BLE配置文件.对于移动端,我们将使用facebook的反应原生跨平台框架.

任何人都可以推荐一些好的BLE库来反应原生应用吗?

dan*_*ann 8

因为我在一个地方找不到任何好的答案,所以我自己尝试了很少的图书馆.我只是分享我的结论,这可能有助于其他新手启动反应原生BLE客户端移动应用程序.

因此,以下是一些可用于React Native Mobile Apps的客户端(中心)角色的良好BLE库: -

  1. react-native-ble-manager:一个很棒的模块/库,用于通过服务和特征UUID进行低级 BLE通信(即BLE命令为十六进制值)它易于使用,被社区和成熟的图书馆广泛使用,但需要BLE服务和特性UUIDs的知识.

  2. react-native-ble-plx喜欢ReactiveX编程的开发人员可以通过服务和特性UUID(即BLE命令作为十六进制值)来引用这个低级BLE通信模块.它是一个非常稳定的库,主动维护,本质上是异步的,但需要大量的由于多个依赖库和使用base64编码/解码进行数据转换,因此内存和性能相对较慢.

  3. react-native-ble-quick-sdk喜欢蓝牙开发者工作室且想要在没有太多BLE知识的情况下快速构建应用程序的开发人员可以参考这个高级别的 BLE API模块,该模块不需要服务知识和特征UUID(即BLE命令)作为十六进制值)它需要相对较少的内存并提供更好的性能,因为它不使用base64进行数据转换.在使用Node的EventEmitter时,本质上是部分反应性的.它会自动为目标BLE设备生成大量API源,并自动生成特定于设备的示例应用程序.最大的缺点是没有稳定的版本,还没有广泛使用.

  4. react-native-ble:NodeJS样式的低级BLE通信模块,通过服务和特征UUID(即BLE命令为十六进制值)不是那么积极地维护,但它基于一个非常稳定的高级库.


小智 3

在 React Native 中,我使用过的最好的库如下。你可以测试一下。无论您的所有要求是否已满足。即使在某些情况下,您也需要操作 Android 默认蓝牙功能。

https://github.com/Polidea/react-native-ble-plx

解决问题的最佳方法是尝试了解 Android 和 IOS 的蓝牙功能以及如何很好地操作以上库。