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

标签 arduino bluetooth-lowenergy arduino-esp32

我正在启动一个项目:读取 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 官方发布的,并且在 Arduino IDE 中拥有完整的文档?

最佳答案

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

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

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

  • ESP32 模块功能强大,但功耗较高,最低 60mA,在广告或保持事件 BLE 连接时无法休眠
  • 其他模块(针对库 @1 和 @3),尤其是专为降低功耗而设计的纯 BLE 模块(无 Wi-Fi):例如Nordic nRF51/nRF52 系列处理器在处理器始终运行时消耗 10-15mA,或者在 sleep 与保持事件 BLE 连接相结合时消耗 1-2mA

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

关于arduino - BLE Arduino ESP32 - 我应该使用哪个库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68691357/

相关文章:

c++ - 在 PROGMEM (Arduino) 中创建链表

Android 5.0 多 BLE 设备服务发现

android - 开始LeScan : cannot get BluetoothLeScanner

ios - 如何在 Objective C 中将 CBCharacteristic.value 转换为 NSString

c++ - 如何定义一个lambda函数来捕获类的 'this'指针?

android-webview - ESP32 httpd : Header fields are too long for the server to interpret

node.js - 将实时视频流保存到视频文件

python - Arduino Heroku 请求

network-programming - 通过 C++ 应用程序设置和控制 IP 摄像机

c++ - 来自数组指针的正确语法访问值?