www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > IoT設計分享
[導讀]射頻通信是物聯(lián)網(wǎng)應用中最常用的通信技術之一,我們之前在兩臺Arduino之間的通信中使用了433 MHz的射頻模塊。在本教程中,我們將使用NRF24L01收發(fā)模塊在Arduino板和NodeMCU之間進行無線通信。在這里,我們將使用NodeMCU ESP8266從互聯(lián)網(wǎng)服務器獲取實時時間戳,并通過NRF24L01收發(fā)器無線傳輸?shù)紸rduino uno,并將其打印在連接到Arduino uno的16x2 LCD顯示屏上。

射頻通信是物聯(lián)網(wǎng)應用中最常用的通信技術之一,我們之前在兩臺Arduino之間的通信中使用了433 MHz的射頻模塊。在本教程中,我們將使用NRF24L01收發(fā)模塊在Arduino板和NodeMCU之間進行無線通信。在這里,我們將使用NodeMCU ESP8266從互聯(lián)網(wǎng)服務器獲取實時時間戳,并通過NRF24L01收發(fā)器無線傳輸?shù)紸rduino uno,并將其打印在連接到Arduino uno的16x2 LCD顯示屏上。

因此,nRF24L01模塊將在發(fā)送端與ESP8266接口,在接收端與Arduino Uno接口。

材料

?Arduino UNO R3

?NodeMCU

?NRF24L01收發(fā)模塊

?16*2字母數(shù)字液晶顯示

?連接電線

?電路試驗板

?電力供應

NRF24L01收發(fā)模塊

nRF24L01收發(fā)模塊用于兩個微控制器之間的無線通信。它在2.4 GHz全球ISM頻段運行,并使用GFSK調制進行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸速率支持250kbps、1Mbps和2Mbps。如果在沒有障礙物的開放空間中使用,以較低的波特率運行,其范圍可達100米。

nRF24L01收發(fā)模塊通過SPI接口通信,最大數(shù)據(jù)速率為10Mbps。SPI總線使用主從總線的概念。這里Arduino/NodeMCU的SPI總線引腳可以連接到NRF24L01收發(fā)模塊的SPI總線引腳上。

nRF24L01收發(fā)模塊在一定頻帶內收發(fā)數(shù)據(jù),稱為信道。如果需要多個NRF24L01收發(fā)模塊相互通信,必須將它們配置為相同的信道。該信道可以在2.4 GHz ISM頻段的任何頻率。每個通道占用的帶寬不超過1MHz。這為我們提供了125個信道,帶寬間隔為1MHz。因此,NRF24L01模塊可以使用125個可能的通信信道,它可以在2.400到2.525 GHz之間。

什么是2.4 GHz ISM頻段?

2.4 GHz頻段是國際上為使用未經(jīng)許可的低功率設備保留的工業(yè)、科學和醫(yī)療(ISM)頻段之一。例如使用ISM頻率的NFC設備、無繩電話和藍牙設備。

技術規(guī)格:

?2.4Ghz免license ISM頻段。

?最高數(shù)據(jù)傳輸速度2Mbps,高效GFSK調制,抗干擾性強,特別適合工業(yè)控制。

?125信道,可達到不同點或跳頻通信需要。

?低功耗1.9 - 3.6V,待機狀態(tài)下僅需1uA。

?發(fā)送和接收中斷信號,每次最多發(fā)送28字節(jié)。

?集成專用穩(wěn)壓器,使用包括DC/DC電源在內的任何電源都能有更好的通信效果。

?雙通道數(shù)據(jù)接收,內置圓形天線,在開放無干擾環(huán)境下通信距離可達100米。

?尺寸:39mm * 17mm * 1mm(PCB嵌入式天線)

nRF24L01輸出:

nRF24L01引腳說明:

GND:這是接地參考引腳。

VCC:這是模塊的電源引腳,可以從1.9伏到3.9伏供電??蛇B接Arduino和NodeMCU模塊的3.3V引腳。

CE:它是芯片使能引腳,是一個有效的高引腳。該引腳模式?jīng)Q定模塊是在發(fā)送還是在接收。

CSN:它代表芯片選擇不,它是一個活動的低引腳,通常保持高。當此引腳變低時,nRF24L01開始在其SPI端口上偵聽任何傳入數(shù)據(jù)。

SCK:它是串行時鐘引腳,接受來自SPI主設備的傳入時鐘脈沖。

莫西:它代表主出從入。負責NRF24L01收發(fā)模塊的輸入。

MISO:它代表主入從出。它負責NRF24L01收發(fā)模塊的輸出。

IRQ:這是一個中斷引腳,當任何新的傳入數(shù)據(jù)可用時,它可以通知主設備。

線路圖

nRF24L01發(fā)送端帶NodeMCU ESP8266

在發(fā)送端,NodeMCU is模塊與NRF24L01模塊連接,NRF24L01模塊作為發(fā)送端。如圖所示,NodeMCU的SPI引腳連接到NRF24L01模塊的SPI引腳上。除此之外,CE和CSN引腳連接到NodeMCU的數(shù)字輸出引腳。

nRF24L01與NodeMCU的連接關系如下表所示:

在發(fā)送端,我們使用“pool.ntp.org”服務器從ESP8266的內置時間庫中獲得當前的時間戳和日期。然后我們可以對這些數(shù)據(jù)進行處理,通過NRF24L01模塊無線發(fā)送到接收端。

接收器端與Arduino Uno:

如圖所示,我們將NRF24L01連接到Arduino Uno上,這里NRF24L01模塊的SPI引腳連接到Arduino Uno板上。LCD的數(shù)據(jù)引腳和控制引腳也連接到Arduino板的數(shù)字引腳上。一個電位器連接到LCD上,以改變LCD顯示的對比度。

LCD與Arduino Uno的連接如下表所示:

nrf24l01與Arduino Uno的連接:

編程的解釋

在本教程的最后給出了NRF24L01 ESP8266接收器側和NRF24L01 Arduino Uno發(fā)射器側的完整程序。

NRF24L01發(fā)射機側:

第一步是安裝并包含我們將在這個項目中使用的所有依賴庫。

這里,我們?yōu)闊o線NRF24L01模塊使用了RF_NRF24.h頭文件??梢詮倪@里下載。同樣,在ESP8266模塊中使用WiFi功能,我們必須包含ESP8266WiFi庫。在這里,我們將找到當前的時間和日期,因此我們還需要在程序中包含時間庫。

下一步是定義NodeMCU將連接到的網(wǎng)絡的憑據(jù)。所以用write_your_ssid和write_your_pass替換你的網(wǎng)絡ssid和密碼。

程序的下一步是定義一個名為nrf24的對象,該對象定義NodeMCU的兩個連接引腳。這意味著我們已經(jīng)將NRF24L01的CE和CSN分別連接到NodeMCU的D4, D2引腳上。

在這一步中,我們配置了無線模塊初始化命令,如信道選擇,傳輸功率,數(shù)據(jù)速率,并檢查它們是否初始化完美,沒有任何錯誤。否則,它將在串行終端中解析錯誤。

然后通過調用WiFi.mode()函數(shù)將NodeMCU設置為站模式。之后我們稱之為WiFi。Begin函數(shù)使用給定的網(wǎng)絡憑據(jù)連接到網(wǎng)絡。

在時間庫中,configTime函數(shù)支持以秒為單位定義時區(qū)。以時區(qū)和夏令時值為參數(shù)。我們還將傳遞服務器名稱作為參數(shù),從中我們可以獲得當前時間,即“pool.ntp.org”和“time.nist.gov”。在印度,時區(qū)是UTC +5:30,因此我們可以把它寫成5.30*3600,也可以寫成11*1800。這里不考慮日光節(jié)約,所以取0。

在無限循環(huán)中,我們調用了time()函數(shù)來獲取當前時間,然后將其轉換為字符串變量。然后將該字符串變量轉換為二進制數(shù)組,因為NRF24L01收發(fā)器只以二進制格式傳輸數(shù)據(jù)。最后使用nrf24.send()函數(shù),我們可以將這個二進制時間數(shù)組發(fā)送到接收端。

Arduino Uno接收端:

在接收端,第一步是包含必要的庫文件,并定義Arduino板的引腳,該引腳將連接到LCD顯示器。

接下來,我們創(chuàng)建了一個新的二進制數(shù)組,其中包含該庫支持的RadioHead用戶消息的最大長度,并使用sizeof()庫計算了它的長度。

最后一步是將接收到的數(shù)據(jù)打印成16x2的LCD。但在此之前,我們已經(jīng)將其轉換為字符串,因為我們必須將完整的數(shù)據(jù)子字符串化,以明確地獲得時間和日期。為此,調用函數(shù)data.substring()。substring()方法從字符串中提取兩個指定索引之間的字符,并返回新的子字符串。

注意:不要忘記打開你的熱點和移動數(shù)據(jù)與打開電源的發(fā)射機和接收機電路。

這就是Arduino和NodeMCU使用NRF24L01模塊進行無線通信的方式。在這里,互聯(lián)網(wǎng)時間通過nRF24L01從NodeMCU發(fā)送到Arduino Uno,并顯示在接收器側的LCD上。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

以下內容中,小編將對接收機的相關內容進行著重介紹和闡述,希望本文能幫您增進對接收機的了解,和小編一起來看看吧。

關鍵字: 接收機 無線信號 無線通信

深圳2025年8月4日 /美通社/ -- 近日,電子元件和工業(yè)品數(shù)字化全球供應商歐時RS聯(lián)合四方維(Supplyframe)創(chuàng)新中心成功舉辦 "歐時RS創(chuàng)客沙龍——Arduino主題開放日"?;顒泳劢归_源硬件與編程領軍平...

關鍵字: Arduino 開源 創(chuàng)客 智能未來

我們已經(jīng)看到了如何通過HC-05發(fā)送和接收數(shù)據(jù),但大多數(shù)藍牙應用程序需要的不僅僅是發(fā)送和接收。在本教程中,我們將看到如何將HC-05與0.91英寸。OLED顯示屏打印HC-05接收到的數(shù)據(jù)。

關鍵字: OLED顯示器 Arduino HC-05藍牙模塊

ESP32模塊非常通用,可以通過WiFi連接到各種不同的平臺來發(fā)送和接收數(shù)據(jù)。在本教程中,我們將使用Arduino的物聯(lián)網(wǎng)云平臺(這是完全免費使用)與ESP32。有關Arduino IoT Cloud的更詳細概述,請查看...

關鍵字: GPS ESP32模塊 Arduino 物聯(lián)網(wǎng)

在這個中級電子和無線電通信教程中,我們將深入研究使用Arduino平臺和nRF24L01+無線模塊構建功能齊全的8+通道RC(無線電控制)發(fā)射器和接收器。該項目結合了微控制器編程,傳感器集成和射頻通信的核心技能,非常適合...

關鍵字: Arduino RC控制器 發(fā)射器 接收器

作為飛行員,在空中和地面上,在飛行和飛行前的許多方面保持“安全第一”是很重要的,其中之一就是避免碰撞。過去幾年,即使是小型航空、自由飛行的飛機,如滑翔機、滑翔傘、懸掛式滑翔機等,在未來的無人機中,也開始采用儀器來觀察和讓...

關鍵字: Arduino ESP32 LED

用c++編程似乎是讓你的Arduino項目起步的障礙嗎?您想要一種更直觀的微控制器編程方式嗎?那你需要了解一下Visuino!這個圖形化編程平臺將復雜電子項目的創(chuàng)建變成了拖動和連接塊的簡單任務。在本文中,我們將帶您完成使...

關鍵字: Visuino Arduino ESP32 STM32

無線通信(Wireless communication)是利用電磁波信號可以在自由空間中傳播的特性進行信息交換的一種通信方式。

關鍵字: 無線通信

在科技飛速發(fā)展的今天,無線通信技術已廣泛滲透到各個領域,為設備之間的互聯(lián)互通提供了極大的便利。串行端口無線模塊作為一種重要的無線通信設備,在實現(xiàn)串口設備無線化通信方面發(fā)揮著關鍵作用。本文將深入探討串行端口無線模塊的定義、...

關鍵字: 無線通信 串行端口 無線模塊

在物聯(lián)網(wǎng)(IoT)蓬勃發(fā)展的當下,各類芯片技術成為支撐這一宏大架構的基石。CC2530 芯片,作為一款在無線通信領域頗具影響力的片上系統(tǒng)(SoC),以其獨特的特性和廣泛的應用,為眾多物聯(lián)網(wǎng)應用場景提供了高效且可靠的解決方...

關鍵字: 物聯(lián)網(wǎng) 芯片 無線通信
關閉