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

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

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

材料

?Arduino UNO R3

?NodeMCU

?NRF24L01收發(fā)模塊

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

?連接電線

?電路試驗(yàn)板

?電力供應(yīng)

NRF24L01收發(fā)模塊

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

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

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

什么是2.4 GHz ISM頻段?

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

技術(shù)規(guī)格:

?2.4Ghz免license ISM頻段。

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

?125信道,可達(dá)到不同點(diǎn)或跳頻通信需要。

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

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

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

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

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

nRF24L01輸出:

nRF24L01引腳說明:

GND:這是接地參考引腳。

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

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

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

SCK:它是串行時(shí)鐘引腳,接受來(lái)自SPI主設(shè)備的傳入時(shí)鐘脈沖。

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

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

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

線路圖

nRF24L01發(fā)送端帶NodeMCU ESP8266

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

nRF24L01與NodeMCU的連接關(guān)系如下表所示:

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

接收器端與Arduino Uno:

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

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

nrf24l01與Arduino Uno的連接:

編程的解釋

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

NRF24L01發(fā)射機(jī)側(cè):

第一步是安裝并包含我們將在這個(gè)項(xiàng)目中使用的所有依賴庫(kù)。

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

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

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

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

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

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

在無(wú)限循環(huán)中,我們調(diào)用了time()函數(shù)來(lái)獲取當(dāng)前時(shí)間,然后將其轉(zhuǎn)換為字符串變量。然后將該字符串變量轉(zhuǎn)換為二進(jìn)制數(shù)組,因?yàn)镹RF24L01收發(fā)器只以二進(jìn)制格式傳輸數(shù)據(jù)。最后使用nrf24.send()函數(shù),我們可以將這個(gè)二進(jìn)制時(shí)間數(shù)組發(fā)送到接收端。

Arduino Uno接收端:

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

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

最后一步是將接收到的數(shù)據(jù)打印成16x2的LCD。但在此之前,我們已經(jīng)將其轉(zhuǎn)換為字符串,因?yàn)槲覀儽仨殞⑼暾臄?shù)據(jù)子字符串化,以明確地獲得時(shí)間和日期。為此,調(diào)用函數(shù)data.substring()。substring()方法從字符串中提取兩個(gè)指定索引之間的字符,并返回新的子字符串。

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

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

本文編譯自iotdesignpro

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉