簡體   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