我是基于原生应用程序开发的新手。我们必须开发一个移动应用程序(作为BLE客户端),需要通过BLE(蓝牙低功耗/智能蓝牙)进行通信,以监控物联网设备(BLE外设/中央)。我们正在使用Bluetooth SIG的Bluetooth Developer studio工具来设计自定义BLE服务并为我们的物联网设备生成BLE配置文件。对于移动端,我们将使用facebook的原生跨平台框架。
有人可以推荐一些好的BLE库来反应原生应用吗?
答案 0 :(得分:7)
因为我无法在一个地方找到任何好的答案,所以我自己尝试了很少的图书馆。我只是分享我的结论,这可能有助于其他新手启动反应原生BLE客户端移动应用程序。
因此,以下是一些可用于React Native Mobile Apps的客户端(中心)角色的良好BLE库: -
react-native-ble-manager: 通过服务和特征UUID(即BLE命令为十六进制值)进行低级 BLE通信的优秀模块/库它易于使用,被社区和成熟的库广泛使用但需要BLE服务和特色UUIDs知识。
react-native-ble-plx喜欢ReactiveX编程的开发人员可以通过服务和特征UUID(即BLE命令作为十六进制值)来引用此低级BLE通信模块。它是一个非常稳定的库,主动维护,本质上是异步的,但由于多个依赖库和使用base64编码/解码进行数据转换,需要大量内存和相对较慢的性能。
react-native-ble-quick-sdk喜欢蓝牙开发者工作室且想要在没有太多BLE知识的情况下快速构建应用程序的开发人员可以参考这个高级 BLE API模块需要了解服务和特征UUID(即BLE命令为十六进制值)它需要相对较少的内存并提供更好的性能,因为它不使用base64进行数据转换。在使用Node的EventEmitter时,本质上是部分反应性的。它会自动为目标BLE设备生成大量API源,并自动生成特定于设备的示例应用。最大的缺点是没有稳定的版本,还没有广泛使用。
react-native-ble: NodeJS样式的低级BLE通信模块通过服务和特征UUID(即BLE命令作为十六进制值)不是很积极地维护,但它基于一个非常稳定的noble库。
答案 1 :(得分:3)
在本地反应中,我使用过的最好的库是下面的。你可以测试一下。您的所有要求是否全部提交。即使在某些情况下,您也需要操纵Android默认蓝牙功能。
https://github.com/Polidea/react-native-ble-plx
解决问题的最佳方法是尝试了解Android和IOS的蓝牙功能,以及如何熟练操作上述库。