當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:智能家居是當(dāng)前物聯(lián)網(wǎng)的主要應(yīng)用之一,當(dāng)前采用的技術(shù)主要有ZigBee和Z-Wave技術(shù)。然而,ZigBee器件成本昂貴,Z-Wave技術(shù)是非開發(fā)式標(biāo)準(zhǔn),存在系統(tǒng)的兼容性問題。針對上述問題,文中提出了基于NRF24L01實(shí)現(xiàn)智能家居系統(tǒng)的解決方案。同時(shí)詳細(xì)地介紹了智能家居系統(tǒng)的框架和通信協(xié)議,并給出了可行的解決方法。最終測試結(jié)果表明,使用nrf24L01是一套低成本的智能家居解決方案,可進(jìn)一步推進(jìn)智能家居的應(yīng)用。

引言

隨著計(jì)算機(jī)、通信、自動控制和微電子技術(shù)的發(fā)展,無線傳感網(wǎng)絡(luò)成為當(dāng)前研究熱點(diǎn),其主要應(yīng)用領(lǐng)域涉及工業(yè)控制、環(huán)境監(jiān)測和智能家居等。其中,智能家居應(yīng)用尤為矚目,旨在建立由家庭安全防護(hù)系統(tǒng)、網(wǎng)絡(luò)服務(wù)系統(tǒng)和家庭自動化系統(tǒng)組成的家庭綜合服務(wù)和管理集成系統(tǒng),實(shí)現(xiàn)全面安全防護(hù)、便利通信網(wǎng)絡(luò)以及舒適的居住環(huán)境。目前,在智能家居領(lǐng)域開發(fā)應(yīng)用中,2.4GHz的ZigBee和900MHz頻段的Z-Wave兩大技術(shù)應(yīng)用最為廣泛。

Z-Wave是一種基于射頻的低成本、低功耗、高可靠性的短距離無線通信技術(shù),數(shù)據(jù)傳輸速率達(dá)9.6Kb/s,信號有效覆蓋范圍室內(nèi)為30m,室外可超過100m;單一家庭網(wǎng)絡(luò)最多可支持232個(gè)節(jié)點(diǎn),足以滿足一般家庭需求。目前,美國市場上已有成品的Z-Wave家居產(chǎn)品銷售,包括各種家電控制設(shè)備,如Zensys公司推出的遠(yuǎn)程遙控器、插座等,然而Z-Wave聯(lián)盟并沒有開放其標(biāo)準(zhǔn),束縛了系統(tǒng)的開發(fā)和擴(kuò)展。

基于IEEE802.15.4協(xié)議的ZigBee技術(shù)是一種短距離的通信標(biāo)準(zhǔn),有著近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率的特點(diǎn)。由ZigBee協(xié)議標(biāo)準(zhǔn)可知,一個(gè)ZigBee網(wǎng)絡(luò)可容納65536臺設(shè)備,有著250Kb/s的高帶寬,且節(jié)點(diǎn)間通信具備較高的可靠性,再加上ZigBee聯(lián)盟開放了這一標(biāo)準(zhǔn),吸引了更多的廠商和研究機(jī)構(gòu)對ZigBee的研究,使得ZigBee在智能家居中成為通行的國際標(biāo)準(zhǔn)。然而,ZigBee的器件成本相對較高,智能家居中無線傳感器網(wǎng)絡(luò)的建立需要一筆巨額費(fèi)用。

針對上述問題,本文采用2.4GHz這一頻段來實(shí)現(xiàn)無線數(shù)據(jù)傳輸,選用的NRF24L01芯片在此頻段上具備較多的頻點(diǎn),能夠解決家庭間信道干擾問題,同時(shí)搭配成本低廉的STM8S103F3組成智能節(jié)點(diǎn),降低了節(jié)點(diǎn)的成本,也降低了開發(fā)難度。

1節(jié)點(diǎn)硬件設(shè)計(jì)

節(jié)點(diǎn)分為網(wǎng)關(guān)節(jié)點(diǎn)和普通節(jié)點(diǎn):普通節(jié)點(diǎn)帶有各類傳感器,負(fù)責(zé)實(shí)時(shí)采集數(shù)據(jù)和網(wǎng)絡(luò)組建;網(wǎng)關(guān)節(jié)點(diǎn)負(fù)責(zé)該網(wǎng)段網(wǎng)絡(luò)的控制和數(shù)據(jù)的匯總、分析、上傳。圖1所示為網(wǎng)關(guān)節(jié)點(diǎn)和普通節(jié)點(diǎn)的結(jié)構(gòu)圖。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

1.1MCU

STM8S103F3單片機(jī)具有用戶可調(diào)整的16MHzCPU時(shí)鐘頻率,容量為8KB的Flash程序存儲器,集成640B真正的數(shù)據(jù)存儲器EEPROM和1KB的RAM,強(qiáng)大的I/O功能,具有16位高級控制定時(shí)器(TIM1)、SPI、I2C、UART、窗口看門狗、獨(dú)立看門狗、ADC、PWM定時(shí)器(TIM2)、8位定時(shí)器(TIM4)等資源。單線接口模塊(SWIM)和調(diào)試模塊(DM),允許非侵入式、實(shí)時(shí)的在線調(diào)試和快速的存儲器編程。STM8S103F3高度集成,精簡外部電路可以設(shè)計(jì)出更小的節(jié)點(diǎn)。由于STM8S103F3單片機(jī)的這些特點(diǎn),非常適合應(yīng)用在無線傳感器網(wǎng)絡(luò)中。

1.2射頻收發(fā)器件nRF24L01

nRF24L01是一款工作在2.4~2.5GHz世界通用工科醫(yī)用頻段的單片無線收發(fā)器芯片,芯片內(nèi)置晶體振蕩器、功率放大器、頻率合成器以及調(diào)制器等功能模塊,工作電壓為1.9~3.6V,有多達(dá)125個(gè)頻道可供選擇,輸出功率和通信信道可以通過軟件進(jìn)行配置。

nRF24L01采用SPI總線接口與外部微控制器通信,最高可達(dá)10Mb/s,數(shù)據(jù)發(fā)送傳輸最快可達(dá)2Mb/s。

芯片自動處理字頭和CRC,當(dāng)發(fā)送數(shù)據(jù)時(shí),只需要配置相關(guān)寄存器,將發(fā)送的數(shù)據(jù)和接收地址發(fā)送給nRF24L01,它會自動完成數(shù)據(jù)的打包(加字頭和CRC校驗(yàn)碼)和發(fā)送;當(dāng)接收數(shù)據(jù)時(shí),nRF24L01自動檢測載波并進(jìn)行地址匹配,接收到正確數(shù)據(jù)后自動移去字頭、地址和CRC校驗(yàn)碼,mcu通過SPI讀取數(shù)據(jù)即可。

2通信協(xié)議的設(shè)計(jì)

2.1網(wǎng)絡(luò)地址的分配

節(jié)點(diǎn)的網(wǎng)絡(luò)地址設(shè)置為5字節(jié),前4個(gè)字節(jié)表示網(wǎng)段地址,最后一字節(jié)設(shè)置為0表示網(wǎng)關(guān)節(jié)點(diǎn),設(shè)置為1~190表示傳感器節(jié)點(diǎn),191~254表示子網(wǎng)組播地址,255用于局部廣播地址。理論上能劃分232個(gè)網(wǎng)段,在單個(gè)網(wǎng)段內(nèi),可以容納1個(gè)網(wǎng)關(guān)節(jié)點(diǎn),190個(gè)傳感器節(jié)點(diǎn),劃分44個(gè)子網(wǎng)。節(jié)點(diǎn)的網(wǎng)絡(luò)地址事先寫入MCU的EEPROM中,上電自動獲取。

2.2數(shù)據(jù)傳輸模式

本次設(shè)計(jì)中數(shù)據(jù)傳輸?shù)哪J接袉尾?、廣播和組播3種。單播是指從網(wǎng)關(guān)節(jié)點(diǎn)到傳感器節(jié)點(diǎn)或者傳感器節(jié)點(diǎn)到網(wǎng)關(guān)節(jié)點(diǎn)數(shù)據(jù)的傳輸,是點(diǎn)對點(diǎn)通信;廣播是指從一個(gè)節(jié)點(diǎn)到該網(wǎng)段的所有節(jié)點(diǎn)的通信;組播是指從網(wǎng)關(guān)節(jié)點(diǎn)到一組傳感器節(jié)點(diǎn)的數(shù)據(jù)傳輸。

由于nRF24L01具有6個(gè)接收地址,將pipe0設(shè)置為單播使用,開啟nRF24L01的自動應(yīng)答和重發(fā)功能,pipe1設(shè)置為局部廣播使用,pipe2設(shè)置為組播使用,在廣播和組播時(shí)關(guān)閉自動應(yīng)答和重發(fā)功能。

2.3MAC層協(xié)議

為了避免節(jié)點(diǎn)發(fā)送數(shù)據(jù)和接受數(shù)據(jù)時(shí)導(dǎo)致信道的沖突,在網(wǎng)絡(luò)的MAC層采用CSMA/CA協(xié)議[3]。該協(xié)議就是在發(fā)送數(shù)據(jù)幀之前先對信道進(jìn)行預(yù)約。圖2所示是節(jié)點(diǎn)A-E分布圖。圖中,第一種情況是節(jié)點(diǎn)B、C、E在節(jié)點(diǎn)A的無線信號覆蓋范圍內(nèi),而D不在;第二種情況是節(jié)點(diǎn)B、A、D在節(jié)點(diǎn)B的無線信號覆蓋范圍內(nèi),而C不在。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

圖2  兩種節(jié)點(diǎn)分布圖

這樣,可將CSMA/CA協(xié)議的實(shí)現(xiàn)流程分為兩個(gè)部分,分別解決以下兩個(gè)問題。

第一,當(dāng)節(jié)點(diǎn)B和節(jié)點(diǎn)C都要向節(jié)點(diǎn)A發(fā)送數(shù)據(jù)時(shí),會導(dǎo)致發(fā)送端數(shù)據(jù)的沖突。解決的方法可以采用在通信之前,節(jié)點(diǎn)設(shè)置為接收模式,利用nRF24L01的載波檢測(CD)功能監(jiān)聽信道是否空閑。若檢測到信道忙碌,則節(jié)點(diǎn)隨機(jī)延遲一段時(shí)間后重新監(jiān)聽;若檢測到信道空閑,則節(jié)點(diǎn)并不立即發(fā)送,而是采用一定的退避機(jī)制,將信道沖突的可能性降到最低。所以,節(jié)點(diǎn)隨機(jī)退避一段時(shí)間后再進(jìn)行發(fā)送。這里采用二進(jìn)制指數(shù)退避算法BEB。

第二,當(dāng)節(jié)點(diǎn)A和節(jié)點(diǎn)D都向節(jié)點(diǎn)B發(fā)送數(shù)據(jù)時(shí),會導(dǎo)致接受端數(shù)據(jù)的沖突。解決的方法可以利用RTS/CTS/DATA/ACK握手機(jī)制。具體過程如下:

發(fā)送節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送前,先通過競爭方式獲得信道使用權(quán),再向接收節(jié)點(diǎn)發(fā)送請求連接幀(requesttosend,RTS)。

接收節(jié)點(diǎn)收到發(fā)送節(jié)點(diǎn)的RTS幀后,向外廣播確認(rèn)幀(cleartosend,CTS),里面包含發(fā)送節(jié)點(diǎn)地址,建立兩者之Add1C1L1間的通信連接。

發(fā)送節(jié)點(diǎn)收到接收節(jié)點(diǎn)的CTS幀后,向接收節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀DATA,若沒有收到CTS幀,則重新發(fā)送RTS幀。

接收節(jié)點(diǎn)收到發(fā)送節(jié)點(diǎn)的DATA幀后,向從站發(fā)送數(shù)據(jù)確認(rèn)幀ACK。

發(fā)送節(jié)點(diǎn)收到接收節(jié)點(diǎn)的ACK幀后,整個(gè)通信過程結(jié)束,若沒有收到,則重新發(fā)送data。

2.4差錯(cuò)控制

在差錯(cuò)控制方面,系統(tǒng)采取數(shù)據(jù)重發(fā)機(jī)制與nRF24L01自身CRC校驗(yàn)相結(jié)合的方式。發(fā)送節(jié)點(diǎn)在發(fā)送RTS或DATA后,若在一定時(shí)間內(nèi)沒有收到接受節(jié)點(diǎn)的CTS或ACK,貝憧新發(fā)送傳輸失敗的幀,直到接收到回復(fù)或重發(fā)次數(shù)達(dá)到設(shè)定值。另外,nRF24L01提供對CRC校驗(yàn)的硬件支持,通過設(shè)置RF配置寄存器,采取8位CRC校驗(yàn)[4]。當(dāng)接收的數(shù)據(jù)CRC校驗(yàn)出錯(cuò)時(shí),nRF24L01會自動丟棄錯(cuò)誤幀。

2.5數(shù)據(jù)幀格式

nRF24L01在增強(qiáng)型ShockBurstTM模式下的數(shù)據(jù)包格式如圖3所示。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

將網(wǎng)絡(luò)中所有節(jié)點(diǎn)的通道都配置為32字節(jié)模式,因此,一個(gè)數(shù)據(jù)幀可以發(fā)送32字節(jié)。其中數(shù)據(jù)幀的格式如圖4所示。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

圖4中,Networksegment為4字節(jié),Sendaddress為1字節(jié),Receiveaddress為1字節(jié),Sourceaddress為1字節(jié),CMD為1字節(jié),剩下的24字節(jié)為data。Cmd具體含義見表1所列。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

2.6路由表的初始化和維護(hù)

在設(shè)計(jì)中,每個(gè)節(jié)點(diǎn)都要保存它下一跳的路徑,也就是要保存它的鄰居節(jié)點(diǎn)信息。每個(gè)節(jié)點(diǎn)的路由表結(jié)構(gòu)圖5所示。

基于nRF24L01的智能家居網(wǎng)絡(luò)的設(shè)計(jì)

Addi是鄰居節(jié)點(diǎn)地址,Ci表示該節(jié)點(diǎn)與它第i個(gè)鄰居通信所需要的cost,Li表示節(jié)點(diǎn)通過第i個(gè)鄰居向網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送數(shù)據(jù)所需要的cost。鄰居節(jié)點(diǎn)在路由表中的位置按照Li從小到大的順序排列。L1是節(jié)點(diǎn)的mincost。數(shù)據(jù)發(fā)送時(shí)按照mincost發(fā)送。

3實(shí)驗(yàn)測試

筆者制作了7個(gè)節(jié)點(diǎn)模塊,通過軟件將網(wǎng)絡(luò)地址前4個(gè)字節(jié)統(tǒng)一寫為00:FF:EE:FF,最后一位分別寫為0,1,2,3,10,12,34,66。將7個(gè)節(jié)點(diǎn)模塊放置在2個(gè)房間中,上電組網(wǎng)測試。

通過實(shí)驗(yàn)得出:點(diǎn)對點(diǎn)通信時(shí),在無障礙物時(shí)距離可以達(dá)到30m,有一墻之隔時(shí)可傳輸10m。對于單播和廣播通信正常,丟包率不到0.5%。

4結(jié)語

本設(shè)計(jì)采用2.4GHz這一頻段來實(shí)現(xiàn)無線數(shù)據(jù)傳輸,考慮到選用的nRF24L01芯片在此頻段上具備較多的頻點(diǎn),能夠解決家庭間信道干擾問題,同時(shí)搭配成本低廉的STM8S103F3組成智能節(jié)點(diǎn),可降低節(jié)點(diǎn)成本,也降低了開發(fā)難度。本文闡述了系統(tǒng)中的硬件模塊實(shí)現(xiàn),家庭內(nèi)部無線傳感器網(wǎng)絡(luò)的通信協(xié)議及通信數(shù)據(jù)包的設(shè)計(jì)方法,最后測試系統(tǒng)的可行性及穩(wěn)定性。

20211027_617942cbc957c__基于nRF24L01智能家居網(wǎng)絡(luò)的設(shè)計(jì)

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 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)易近期正在縮減他們對日本游戲市場的投資。

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

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

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

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

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

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

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

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

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

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

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