我正在用ESP32做一个项目,该项目涉及与移动应用程序的通信。目前,我使用BluetoothSerial(基于Classic构建(只是为了调试,但我计划制作一个专用的移动应用程序,以获取与项目相关的各种数据,我将通过双工通信,可能通过命令响应接口,从控制器收集这些数据。我想知道的是,与安卓应用程序通信时,哪种蓝牙更可取?我想考虑的事情:
- 在射程内时具有自动连接功能
- OTA的可能性
- 范围
- 硬件要求(如定时器等(
- 数据安全
- 端口功能到iOS
我不在乎:
- 电池使用情况(如果实际差异最小(
- 传输速度(我只是每秒传输一次2-3kb的数字数据(
这并没有太大的区别,因为你上面列出的大多数事情都可以通过任何一种方法实现,所以这取决于你的个人偏好和你对无线技术的现有熟悉程度。然而,我个人会选择BLE,因为与经典的蓝牙不同,BLE现在在Android和iOS的应用程序和资源方面更加成熟。与经典蓝牙相比,当谈到BLE时,你会发现更多的文档和源代码。此外,正如Michael Kotzjan所提到的,经典蓝牙在iOS上相对较新,并且有一些限制。
下面的链接可能会给你一个正确的方向:-
- Android上蓝牙经典版与BLE
- 安卓蓝牙与BLE
- iOS上的蓝牙安全和隐私
- 经典蓝牙、BLE或WiFi直达