久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > [ESP-IDF系列]使用ESP32驅動NRF24L01實現單點通訊

[ESP-IDF系列]使用ESP32驅動NRF24L01實現單點通訊

作者:御坂美琴 時間:2025-06-28 來源:EEPW 收藏


本文引用地址:http://cqxgywz.com/article/202506/471812.htm

1   簡介

最近想DIY一個(簡易的十字形遙控飛行器),也從晚上找了很多的視頻和做了相關的簡易研究(如果搞出來了會分享,沒有經驗)。除去電機根據MPU6050的姿態計算PID進行輸出不談。還有一點比較重要的就是通訊功能。飛行器接收或者向遙控器發送指令然后執行對應的數據處理或者動作。因此考慮到多種的數據傳輸方式。如下是一個簡要的對比。

1751096962597783.png

通信技術通信速率(最大)通信距離(典型)通信頻段特點說明:由于之前并沒有接觸過飛行器相關的。因此我讓GPT對常見的無人機通訊方案進行了一下分析。下述表格為GPT生成的不同通訊協議對應的無人機應用的方向。

表:無人機通信方式一覽表

image.png

2   場景通信技術選型

1751097042979207.png

所以最后選用的是NRF24L01,根據某寶店家介紹,其在空曠場地下通訊的距離可以達到1000米左右(已經是一個非常大的距離了,再遠人眼可能就不可視了)。

1751097089210049.png

上圖為經典的NRF24L01

當然國內也有很多其他系列的2.4 G模塊,比如安信可的NF-02-PA或者NF-02-PE(使用的SI24R1 芯片)。

1751097155431635.png

但是考慮到本次使用的是,結合對應的庫文件的豐富程度。因此我準備了兩個不同的NRF24L01和來進行這次通訊實驗。

1751097197470298.png

3   驅動步驟

主要介紹如何在IDF框架下結合組件管理器來快速實現通過組件nopnop2002/mirf來快速驅動2.4G模塊:

1.首先新建一個IDF的項目,基于HelloWorld 的項目

2.新建idf_component.yml,然后輸入下面的內容

view plaincopy to clipboardprint?

1.dependencies:

2.protocol_examples_common:

3.path: ${IDF_PATH}/examples/common_components/protocol_examples_common

4.nopnop2002/mirf:

5.path: components/mirf/

6.git:https://github.com/nopnop2002/esp-idf-mirf.git

3.編譯一次當前的項目,然后組件管理器會自動下載組件:

1751097298742976.png

4.訪問https://github.com/nopnop2002/esp-idfmirf.git,來查找對應的example

1751097339908467.png

可以使用Clone到本地,或者是直接拷貝文件內容。

5.使用Menuconfi g配置2.4G模塊PIN的連接情況。

1751097442776239.png

6.配置項目目錄的KConfi g,在menuconfi g中進行搜索Application Configuration

view plaincopy to clipboardprint?

1.menu “Application Confi guration”

2.

3.endmenu DIRECTION

4.prompt “Communication polarity”

5.default SENDER

6.help

7.Select Communication polarity.

8.config SENDER

9.bool “As the sender”

10.help

11.As the sender.

12.config RECEIVER

13.bool “As the receiver”

14.help

15.As the receiver.

16.endchoice

17.

18.endmenu

將兩個分別以Sender和receiver的方式進行燒錄。

1751097465463201.png

這樣的話,sender task 便會根據地址FGHIJ 進行數據發送,

image.png

image.png

另一個receiver的task便會進行接收.

image.png

image.png

image.png

4   實驗現象

1751097704669786.png

5   總結

在上文中,我們主要是用nopnop2002/mirf庫快速實現和調試了2.G模塊的通訊和調試,目前來看效果還是非常不錯的,符合預期。但是對于通訊的距離和穩定性還需要進一步進行拉鋸測試。

(本文來源于《EEPW》202506



評論


相關推薦

技術專區

關閉