姜永增,董 晶,宋廣軍,吳 迪
JIANG Yong-zeng1,DONG Jing2,SONG Guang-jun1,WU Di1
(1.齊齊哈爾大學(xué) 計算機系,齊齊哈爾 161006;2.齊齊哈爾大學(xué) 教育技術(shù)系,齊齊哈爾 161006)
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,無線智能家居系統(tǒng)將成為智能家居系統(tǒng)發(fā)展的主流之一。智能家居系統(tǒng)使用無線傳感器網(wǎng)絡(luò)技術(shù)不但克服了有線系統(tǒng)的高成本和不方便等缺點,而且使用方便,能夠快捷的管理家務(wù)、監(jiān)測家居環(huán)境、遙控家用電器等。本文分析了智能家務(wù)無線控制系統(tǒng)的總體結(jié)構(gòu),設(shè)計了一個小型智能家居無線傳感器網(wǎng)絡(luò),詳細介紹了無線傳感器網(wǎng)絡(luò)節(jié)點的硬件設(shè)計和軟件編寫。實踐表明,采用nRF24E1無線模塊搭建智能家居無線傳感器網(wǎng)絡(luò),具有成本低、功耗低、快速、開放的特點,有很強的推廣價值和廣闊的市場前景。
nRF24E1是北歐集成電路公司(NORDIC)推出的一款帶2.4GHz無線收發(fā)器和增強型8051內(nèi)核的無線收發(fā)模塊,適用于各種無線設(shè)備的短距離互連應(yīng)用場合。該模塊工作于2.4GHz的ISM(工業(yè)、科學(xué)、醫(yī)學(xué))頻段,有多達125個頻點,能夠?qū)崿F(xiàn)點對點、點對多點的無線通信,同時可通過改頻、跳頻來避免干擾。nRF24E1集成度非常高,內(nèi)部集成了增強型51內(nèi)核,2.4GHz無線收發(fā)器,100Kbps的9路模數(shù)轉(zhuǎn)換器,UART接口,SPI接口、PWM輸出,內(nèi)置RC振蕩器、看門狗和喚醒定時器以及專門的穩(wěn)壓電路。所有高頻元件包括電感、振蕩器等都集成在芯片內(nèi)部,因此芯片的性能穩(wěn)定,受外部環(huán)境的影響小。收發(fā)器的功耗相當(dāng)?shù)停l(fā)射模式下,射頻電流消耗僅為10.5mA,接收模式下僅為18mA。
基于以上特點,本系統(tǒng)采用nRF24E1作為無線傳感器網(wǎng)絡(luò)節(jié)點的控制核心和無線收發(fā)器。
本文僅以一個被控系統(tǒng)和一個環(huán)境監(jiān)測網(wǎng)絡(luò)節(jié)點為例進行簡單說明,其他網(wǎng)絡(luò)節(jié)點略去。
本系統(tǒng)采用星形拓撲結(jié)構(gòu),主要由主控系統(tǒng)、被控系統(tǒng)、環(huán)境監(jiān)測系統(tǒng)幾個部分組成。被控系統(tǒng)由多個被控系統(tǒng)網(wǎng)絡(luò)節(jié)點構(gòu)成,被控系統(tǒng)網(wǎng)絡(luò)節(jié)點又由被控?zé)o線模塊和家電組成,具體實現(xiàn)方法就是為每一個需要進入智能家居控制系統(tǒng)的家電通過接口設(shè)備,如智能開關(guān)等安裝被控?zé)o線模塊。被控?zé)o線模塊的控制核心也是nRF24E1。主控系統(tǒng)由主機和主控?zé)o線模塊組成,其中主機可以采用嵌入式系統(tǒng)芯片,也可以采用PC機;主控?zé)o線模塊由nRF24E1擔(dān)當(dāng)控制核心。
環(huán)境監(jiān)測系統(tǒng)由多個環(huán)境監(jiān)測網(wǎng)絡(luò)節(jié)點構(gòu)成,每一個節(jié)點由無線模塊、環(huán)境監(jiān)測傳感器和一些外圍器件構(gòu)成。同樣,環(huán)境監(jiān)測網(wǎng)絡(luò)節(jié)點的控制核心仍然由nRF24E1擔(dān)當(dāng)。
系統(tǒng)工作原理為:主控系統(tǒng)的主機發(fā)出指令,主控?zé)o線模塊將指令無線傳送到被控系統(tǒng),被控?zé)o線模塊將接收到的指令由接口設(shè)備傳給家電,控制家電的運行,如自動窗簾的打開和關(guān)閉等。對于環(huán)境監(jiān)測系統(tǒng),由環(huán)境監(jiān)測傳感器采集當(dāng)前環(huán)境中的數(shù)據(jù),如空氣中煤氣含量、溫度、濕度、光強度等,一旦發(fā)生煤氣泄漏、失火等突發(fā)情況,可以將報警信號通過無線模塊傳送至主控系統(tǒng),由主控系統(tǒng)下達命令,如打開消防開關(guān)、打開排氣系統(tǒng)等。另外,對于普通家居生活,用戶可根據(jù)需要設(shè)定一定的控制命令,如溫度降低,自動打開空調(diào)加溫;光線變暗,自動打開電燈開關(guān)等。
被控系統(tǒng)網(wǎng)絡(luò)節(jié)點硬件組成框圖如圖1所示。

圖1 被控系統(tǒng)網(wǎng)絡(luò)節(jié)點結(jié)構(gòu)框圖
監(jiān)控系統(tǒng)網(wǎng)絡(luò)節(jié)點硬件組成框圖如圖2所示。

圖2 環(huán)境監(jiān)測網(wǎng)絡(luò)節(jié)點結(jié)構(gòu)框圖
對于家用電器來說,安裝被控?zé)o線模塊需要來自于各個領(lǐng)域的技術(shù)支持,且因家用電器種類不同而不同;同樣,對于各種不同的環(huán)境監(jiān)測傳感器來說與微處理器的接口也各不相同。本文主要介紹無線模塊的硬件組成,其硬件原理圖如圖3所示。
其中,nRF24E1的電源由MAX856提供,MAX856是一種高效的CMOS升壓DC-DC電壓源變換器,其輸入電壓0.8-6V,輸出電壓為3.3V或5V,本設(shè)計中輸入電壓可由電池提供,輸出電壓選擇3.3V。
由于nRF24E1內(nèi)部只有一個512Byte的ROM,使用過程中需要擴展片外存儲器,采用32K串行EEPROM 25AA320作為片外存儲器,存放nRF24E1運行所需的主要程序。系統(tǒng)上電后,512字節(jié)ROM引導(dǎo)程序?qū)EPROM中存儲的程序下載到4KB RAM的程序運行空間,另外256字節(jié)RAM用于數(shù)據(jù)存儲器。
對于被控系統(tǒng)網(wǎng)絡(luò)節(jié)點的設(shè)計,只需在圖4的基礎(chǔ)上增加與家用電器的接口電路即可,其信號無非兩類,一類是數(shù)字信號,可由nRF24E1的雙向I/O口接入,另一類是模擬信號,可由其模擬輸入口AIN0——AIN7接入,利用nRF24E1自帶的A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號。

圖3 無線模塊硬件原理圖
nRF24E1有多種工作方式,可以通過PWR_ UP、CE和三個控制引腳設(shè)定。當(dāng)PWR_UP=1、CE=1、CS=0時設(shè)定其為ShockBurst模式,此模式不需要昂貴高速的CPU處理數(shù)據(jù),應(yīng)用片上FIFO緩沖器,以較低的速率寫入數(shù)據(jù),較高的速率發(fā)送數(shù)據(jù),達到了節(jié)電目的,并且具有較高的數(shù)據(jù)傳輸率。
系統(tǒng)工作機制可采用主控系統(tǒng)輪詢和突發(fā)事件報告機制。其工作流程為:主控系統(tǒng)每隔一定的時間向每一個網(wǎng)絡(luò)節(jié)點發(fā)送查詢命令,網(wǎng)絡(luò)節(jié)點收到查詢命令后,向主控系統(tǒng)回發(fā)數(shù)據(jù)。如發(fā)生緊急事件,網(wǎng)絡(luò)節(jié)點可以主動向主控系統(tǒng)發(fā)送報告,由主控系統(tǒng)進行處理并發(fā)出相應(yīng)報警信息。主控系統(tǒng)可以對網(wǎng)絡(luò)節(jié)點的閾值參數(shù)進行設(shè)置,以滿足不同用戶的需要。
網(wǎng)絡(luò)節(jié)點打開電源,初始化,申請加入網(wǎng)絡(luò)后,直接進入休眠模式,當(dāng)主控系統(tǒng)收到網(wǎng)絡(luò)節(jié)點的中斷請求時,觸發(fā)中斷,激活網(wǎng)絡(luò)節(jié)點,接收信息,處理完畢后繼續(xù)進入休眠狀態(tài),等待有中斷請求時再次激活。若有多個網(wǎng)絡(luò)節(jié)點同時向主控系統(tǒng)發(fā)送中斷請求時,主控系統(tǒng)來不及處理而丟掉一些請求,當(dāng)網(wǎng)絡(luò)節(jié)點發(fā)現(xiàn)自己的請求沒有得到響應(yīng)后幾秒鐘將再次發(fā)送請求,直到得到主控系統(tǒng)的響應(yīng)為止。
所以,被控節(jié)點處的程序要有以下功能:向主控系統(tǒng)發(fā)出加入網(wǎng)絡(luò)的申請;監(jiān)測空氣中的無線信號,并判斷是否有發(fā)給本節(jié)點的控制、查詢、設(shè)置命令;執(zhí)行相應(yīng)的控制、查詢、設(shè)置命令;發(fā)送和接收無線信號。
根據(jù)上面的設(shè)計思路,我們設(shè)計出如下程序流程圖,如圖4所示。

圖4 被控系統(tǒng)網(wǎng)絡(luò)節(jié)點程序框圖
監(jiān)控系統(tǒng)網(wǎng)絡(luò)節(jié)點的軟件部分主要負責(zé)對傳感器采集的信號進行A/D轉(zhuǎn)換并判斷采集的結(jié)果是否達到報警值,若達到則進行報警處理。利用nRF24E1內(nèi)部自帶的A/D轉(zhuǎn)換器進行轉(zhuǎn)換。同時,監(jiān)控系統(tǒng)網(wǎng)絡(luò)節(jié)點作為系統(tǒng)的一個分節(jié)點,在開始之前也要先加入網(wǎng)絡(luò)中,并接受主控系統(tǒng)的控制,執(zhí)行相應(yīng)的查詢、控制功能。
根據(jù)無線傳感器網(wǎng)絡(luò)技術(shù)和智能家居的特點,提出了基于nRF24E1的智能家居無線傳感器網(wǎng)絡(luò)系統(tǒng)的構(gòu)成方案,詳細介紹了無線傳感器網(wǎng)絡(luò)節(jié)點硬件組成和軟件編寫。由于nRF24E1的集成度高,功耗低,使其應(yīng)用系統(tǒng)更為簡化,大大增強了無線系統(tǒng)的穩(wěn)定性和可靠性,同時開發(fā)也變得更為簡單,成本進一步降低。實驗表明,該系統(tǒng)的配置合理,通信協(xié)議簡單,功耗低,有良好的市場前景。
[1]劉恒,馬建倉,張小兵.基于nRF24E1的點到多點的無線測控系統(tǒng)的設(shè)計[J].微電子學(xué)與計算機,2006,23(11):78-80.
[2]劉志平.基于MSP430和NRF2401的WSN節(jié)點設(shè)計[J].國外電子測量技術(shù),2009,28(8):57-59.
[3]吳釗炯,嚴仍友.2.4GHz無線收發(fā)芯片nRF24E1的原理及應(yīng)用[J].國外電子元器件,2004,(9):35-37.
[4]鄭君剛,吳成東,韓中華,楊英翔.基于nRF2401的智能家居無線網(wǎng)絡(luò)節(jié)點設(shè)計[J].低壓電器,2007,(14):12-15.
[5]任豐原,黃海寧,林闖.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報,2003,14,(7):1282-1297.
[6]任楓軒,李偉.嵌入式無線網(wǎng)絡(luò)節(jié)點的設(shè)計[J].國外電子測量技術(shù),2008,27,(6):50-53.
[7]姜艷華,朱旻,葛運建.主從式機器人無線通信系統(tǒng)研究[J].自動化與儀表,2008,23(1):17-21.