當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]Zigbee是一種流行的無線通信協(xié)議,用于以極低的功耗傳輸少量數(shù)據(jù)。它被廣泛應(yīng)用于需要在個(gè)人空間內(nèi)的多個(gè)節(jié)點(diǎn)之間共享數(shù)據(jù)的應(yīng)用中,隨著物聯(lián)網(wǎng)(IoT)的出現(xiàn),Zigbee的應(yīng)用正在快速增長(zhǎng)。它被用于家庭自動(dòng)化、資產(chǎn)跟蹤、遠(yuǎn)程數(shù)據(jù)收集等等。如果您已經(jīng)熟悉Zigbee和Zigbee協(xié)議的架構(gòu),那么您已經(jīng)知道兩個(gè)XBee模塊之間的無線通信可以在沒有任何額外的微控制器的情況下完成,但在實(shí)際應(yīng)用中,這些模塊將始終與微控制器接口以讀取和發(fā)送數(shù)據(jù)。讓我們進(jìn)一步了解如何使用Arduino和NodeMCU板建立Zigbee通信。

Zigbee是一種流行的無線通信協(xié)議,用于以極低的功耗傳輸少量數(shù)據(jù)。它被廣泛應(yīng)用于需要在個(gè)人空間內(nèi)的多個(gè)節(jié)點(diǎn)之間共享數(shù)據(jù)的應(yīng)用中,隨著物聯(lián)網(wǎng)(IoT)的出現(xiàn),Zigbee的應(yīng)用正在快速增長(zhǎng)。它被用于家庭自動(dòng)化、資產(chǎn)跟蹤、遠(yuǎn)程數(shù)據(jù)收集等等。如果您已經(jīng)熟悉Zigbee和Zigbee協(xié)議的架構(gòu),那么您已經(jīng)知道兩個(gè)XBee模塊之間的無線通信可以在沒有任何額外的微控制器的情況下完成,但在實(shí)際應(yīng)用中,這些模塊將始終與微控制器接口以讀取和發(fā)送數(shù)據(jù)。讓我們進(jìn)一步了解如何使用ArduinoNodeMCU板建立Zigbee通信。

Zigbee和XBee的區(qū)別

重要的是要在一開始就澄清,XBee是一個(gè)模塊,一個(gè)產(chǎn)品,它支持許多無線通信協(xié)議,如ZigBee, Wi-Fi (Wi-Fly模塊),802.15.4,868 MHz模塊等。而Zigbee是一種用于建立無線網(wǎng)絡(luò)(Zigbee通信)的標(biāo)準(zhǔn)協(xié)議。人們經(jīng)常交替使用這兩個(gè)術(shù)語,但不應(yīng)該這樣做。為了建立Zigbee通信,我們需要一個(gè)接收器(端點(diǎn))。為此,與Arduino/NodeMCU連接的XBee模塊將完成,這將與另一個(gè)XBee模塊(協(xié)調(diào)器)進(jìn)行無線通信,該模塊發(fā)送數(shù)據(jù),將連接到另一個(gè)Arduino板。

建立Zigbee通信的硬件要求

?1 x Arduino Nano

?1 * NodeMCU

?2個(gè)XBee Pro S2C模塊

?1個(gè)XBee資源管理板(用于XBee編程)

?USB電纜

?LED(連同一個(gè)220歐姆電阻)

?按鈕

使用XCTU軟件配置XBee模塊

基本上,XBee模塊可以配置為協(xié)調(diào)器、路由器或終端設(shè)備。為了使它按照我們的期望工作,首先,我們必須使用XCTU軟件對(duì)它們進(jìn)行配置。您可以使用給定的鏈接下載并安裝XCTU軟件。

使用USB轉(zhuǎn)串口轉(zhuǎn)換器或資源管理器板將XBee模塊與PC機(jī)或筆記本電腦連接。使用USB線將XBee模塊連接到瀏覽器板和插件。我們將詳細(xì)介紹如何準(zhǔn)確地使用該軟件并配置模塊,但在此之前,讓我們準(zhǔn)備好硬件。

XBee與Arduino接口(發(fā)射端)

對(duì)于連接的這一邊,我們使用了Arduino Nano。也可以使用Arduino Uno或NodeMCU板。XBee與Arduino nano接口的完整電路圖如下所示。

在上面的Arduino XBee電路圖中,我們使用了一個(gè)按鈕,當(dāng)按下時(shí),它將傳輸數(shù)據(jù)。為此,將按鈕一端連接到Arduino的D5,另一端連接到GND。

XBee模塊的VCC(引腳1)連接到Arduino Nano的3.3V, XBee模塊的GND(引腳10)連接到Arduino Nano的GND。這兩個(gè)連接為發(fā)射端XBee模塊供電。Dout(引腳2)連接Arduino Nano的D2, Din(引腳3)連接Arduino Nano的D3。我使用面包板來構(gòu)建這個(gè)電路,我的硬件設(shè)置與所有連接如下所示。

XBee與NodeMCU接口(接收端)

為此,我們使用了NodeMCU,但它有一定的限制。您也可以使用Arduino Nano或Arduino Uno。使用Arduino傳輸數(shù)據(jù),NodeMCU接收數(shù)據(jù)的想法是,它將有一個(gè)更實(shí)際的應(yīng)用,如Arduino可以收集一些傳感器參數(shù)并通過ZigBee發(fā)送給NodeMCU,然后NodeMCU可以處理這些數(shù)據(jù)并根據(jù)需要通過互聯(lián)網(wǎng)共享或采取任何行動(dòng)。XBee與NodeMCU接口的完整電路圖如下所示。

XBee的Gnd(pin10)接至NodeMCU的Gnd, XBee的Vcc (Pin1)接至NodeMCU的3.3V。上述兩個(gè)連接也為XBee模塊供電。然后將XBee的Dout (pin2)連接到NodeMCU的D6引腳上,將XBee的Din (pin3)連接到NodeMCU的D7引腳上接收數(shù)據(jù)。

作為是否接收到數(shù)據(jù)的指示,我們使用了LED。為此,將LED陽極連接到NodeMCU的D2上,LED陰極通過NodeMCU的220ohm電阻連接到GND上。同樣,我使用面包板來構(gòu)建這個(gè)電路,我的硬件設(shè)置與所有連接如下所示。

下載并安裝XCTU軟件

設(shè)置、配置和測(cè)試XBee設(shè)備。您需要XCTU軟件。它是一個(gè)易于使用的,免費(fèi)的,多平臺(tái)的RF XBee模塊應(yīng)用程序。在這里下載XCTU軟件,它也會(huì)指導(dǎo)您安裝它。之后,打開應(yīng)用程序并確保XBee模塊已正確連接。在設(shè)備管理器中檢查資源管理板的COM口。

安裝XBee模塊固件

固件應(yīng)該首先安裝在兩個(gè)XBee模塊中,因?yàn)槲覀冋谑褂肵Bee開發(fā)板。

第一步:打開XCTU軟件,點(diǎn)擊“發(fā)現(xiàn)板”。

第二步:選擇XBee模塊連接的COM端口,點(diǎn)擊“下一步”。

第三步:保持默認(rèn)設(shè)置,點(diǎn)擊“完成”。

第四步:現(xiàn)在,在彈出的窗口中,點(diǎn)擊“Add Selected Devices”。

第5步:現(xiàn)在,XBee模塊將出現(xiàn)在窗口的左側(cè)。單擊它來更新用戶界面。

第六步:更新固件,點(diǎn)擊“更新”,在功能集中選擇“802.15.4 TH”,在固件版本中選擇最新的固件,點(diǎn)擊更新。在此之后,將出現(xiàn)一個(gè)彈出窗口。點(diǎn)擊YES。

第七步:輸入任意4位數(shù)字作為PAN ID。PAN ID是PAN (personal area network)的標(biāo)識(shí)符。每個(gè)網(wǎng)絡(luò)必須有一個(gè)唯一的ID。確保兩個(gè)XBee模塊都輸入了相同的PAN ID。這表明兩個(gè)XBee模塊在同一個(gè)網(wǎng)絡(luò)中。

第八步:輸入任意4位數(shù)字作為目的地址。對(duì)于其他XBee模塊,必須輸入相同的數(shù)字作為源地址。

步驟9:輸入任意4位數(shù)字作為源地址。必須輸入相同的數(shù)字作為另一個(gè)XBee模塊的Destination Address。

步驟10:將一臺(tái)設(shè)備設(shè)置為“坐標(biāo)[1]”,另一臺(tái)設(shè)備設(shè)置為“終端設(shè)備[0]”。

現(xiàn)在,單擊頂部欄中的Write。在此成功之后,符號(hào)從“E”變?yōu)椤癈”(End Device to Coordinator),正如我們所設(shè)置的。對(duì)于另一個(gè)XBee模塊,它應(yīng)該是“E”)。

注意:正如步驟中提到的,必須對(duì)兩個(gè)XBee模塊執(zhí)行此操作。兩者之間的唯一區(qū)別是終端設(shè)備和協(xié)調(diào)器的源地址和目的地址相反,必須選擇一個(gè)作為終端設(shè)備,另一個(gè)作為“協(xié)調(diào)器”。在“Coordinator Enable”下拉列表中,確保兩個(gè)XBee模塊都被賦予相同的PAN ID。

COM 5為接收端nodeMCU, COM 14為發(fā)送端Arduino nano。

將XBee引腳焊接到Arduino和NodeMCU

XBee模塊的引腳與面包板不兼容。因此,從XBee模塊引腳焊接4根電線到頭引腳,并使用它連接到面包板,如下圖所示?;蛘?,如果你想避免焊接工作,你也可以使用母頭到公頭連接器電線。

在概述中,使用兩個(gè)XBee模塊建立ZigBee通信。Arduino Nano和NodeMCU用于在兩個(gè)XBee設(shè)備之間進(jìn)行通信。XBee模塊的編碼是這樣的,當(dāng)在發(fā)送端按下一個(gè)按鈕時(shí),LED在接收端點(diǎn)亮。這表明在源端傳輸?shù)臄?shù)據(jù)在目的端被正確接收。

ZigBee通信程序Arduino

Zigbee通信的完整Arduino代碼可以在本頁底部找到。代碼解釋如下:

本部分模擬了引腳2 (Rx)和引腳3 (Tx)的串行通信。

Pin 5是Arduino Nano上連接按鈕的地方,這是發(fā)送信息所需要的。

要跟蹤按鈕是否被單擊,可以使用語句。如果按下按鈕一次,它會(huì)打開LED,如果再按一次,它會(huì)關(guān)閉LED。為了跟蹤這一點(diǎn),使用了切換。

該程序從一個(gè)空設(shè)置開始,并設(shè)置串行監(jiān)視器的波特率。

初始化按鈕引腳以讀取輸入。

這部分代碼片段使用軟件串行開始XBee和Arduino之間的連接。9600是XBee模塊的默認(rèn)通信速度。

這部分是檢查按鈕是否按下。如果按下,則引腳讀取LOW并記錄此操作。它還檢查之前是否單擊了按鈕。

這部分是將消息打印到串行監(jiān)視器上

重置之前的單擊,以便它可以再次檢測(cè)到單擊。當(dāng)開關(guān)為假時(shí),LED處于關(guān)閉狀態(tài)。

把消息發(fā)給XBee

延遲1秒是為了等待消息被傳遞

這個(gè)位檢查按鈕是否被點(diǎn)擊

在串行監(jiān)視器上打印消息

設(shè)置到之前的點(diǎn)擊狀態(tài),關(guān)閉LED

把消息發(fā)給XBee

創(chuàng)建一秒鐘延遲來等待消息的傳遞

ZigBee通信程序NodeMCU

Zigbee通信的完整NodeMCU代碼可以在本頁底部找到。代碼解釋如下:

代碼的Receiver部分與Arduino代碼幾乎相同

本部分模擬了引腳13 (Rx)和引腳12 (Tx)的串行通信。

將LED設(shè)為引腳2

存儲(chǔ)從XBee接收到的數(shù)據(jù)

初始化串行監(jiān)視器并以默認(rèn)波特率9600連接到XBee模塊

初始化LED作為輸出

將數(shù)據(jù)存儲(chǔ)在接收到的變量中

檢查接收數(shù)據(jù)是否為0

然后打印信息并關(guān)閉LED

如果接收到的數(shù)據(jù)為1,則打印消息并打開LED。

本文編譯自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日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(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)閉