繁体   English   中英

BLE Arduino ESP32 - 我应该使用哪个库?

[英]BLE Arduino ESP32 - which library should I use?

我正在启动一个项目:读取 ESP32(外设)上的 ADC 值并通过 BLE 将其发送到 android(中央)。 我有点困惑寻找合适的库。 我找到了至少 3 个解决方案/库

@1: #include <Adafruit_BluefruitLE_SPI.h>

@2: #include <BLEDevice.h>
   #include <BLEServer.h>
   #include <BLEUtils.h>
   #include <BLE2902.h>
 
@3: #include <ArduinoBLE.h>

看起来@3'rd 是最现代的并且由 Arduino IDE 正式发布(请参阅链接https://github.com/nkolban/ESP32_BLE_Arduino/tree/adc2aee2f0d01eb6b30dd5ad3589f2cc89934beb ),因此@2 有更多的例子。

使用@2 我可以使用 .notify 命令开始发布值。 使用@3 没有此命令的文档,看起来我应该只使用 .writeValue 并且 .poll 负责发布该值。

@3 也在使用 setEventHandler ,而 @1 和 @2 没有描述。

使用@3 是否正确,因为它是由 Arduino IDE 正式发布的,并且在 Ardiuno IDE 中有完整的文档?

似乎只有@2 是为 ESP32 模块设计的。 它很受欢迎,对于 ESP32 来说,它不会是一个糟糕的选择。

作为@2 的开始,请看一下这个项目: gihtub 上的 BLEProof - 包含适用于 Android 和 ESP32 的 BLE Central & Peripheral,BLE 读取、写入和通知的简单演示。

在开始一个项目时,请明智地选择硬件:

  • ESP32 模块功能强大但功耗高,最低 60mA,在广告或保持活动 BLE 连接时无法休眠
  • 其他模块(用于库@1 和@3),尤其是专为低功耗设计的only-BLE-modules(无Wi-Fi):例如Nordic nRF51/nRF52 系列处理器在处理器一直运行时消耗10-15mA,或将睡眠与保持活动的 BLE 连接相结合时为 1-2mA

带有库 @2 的 ESP32 是一种对项目进行原型设计便捷方式,但当您仅使用低功耗蓝牙时,它不是一种节能解决方案。 另请注意,我对库@1 和@3 没有任何经验。

我有同样的问题。 我尝试了@2,它工作正常,但@3 有更好的 API,所以跳到那个选项。 显然@3 不支持 esp32。 合并请求存在同样的问题。 但是,当我尝试它时,它有编译错误。 因此,我将在我的项目中使用 @2,并至少在 @3 库支持它之前向任何查看此处的人建议相同的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM