基于ZigBee技術(shù)的智能家居系統(tǒng)內(nèi)部網(wǎng)絡(luò)設(shè)計
掃描二維碼
隨時隨地手機看文章
摘要:采用TI公司推測出的無線SOC芯片CC2530作為ZigBee組網(wǎng)模塊。整個系統(tǒng)由傳感器組網(wǎng)部分、協(xié)調(diào)器控制、LCD顯示部分構(gòu)成,系統(tǒng)可以對多個傳感器進行實時監(jiān)控,當任一傳感器在LCD上顯示的數(shù)值超過預(yù)先設(shè)定的閾值時,系統(tǒng)將自動控制繼電器、步進電機及蜂鳴器的開啟,進而起到控制電器的開啟和安全警報的作用。
關(guān)鍵詞:ZigBee;Z—Stack;自組網(wǎng);智能家居系統(tǒng)
在這個信息的時代,隨著科學技術(shù)的飛速發(fā)展,家居智能化已經(jīng)成為人們的迫切需求。因此,為了使人們的生活更綠色環(huán)保、更方便、更安全,溫濕度及光照實現(xiàn)實時采集和家實現(xiàn)自動控制、室內(nèi)火情和可燃性氣體實現(xiàn)事實檢測與監(jiān)控變得越來越重要。在智能家居系統(tǒng)中,擔任重要成分的控制系統(tǒng)和組網(wǎng)技術(shù),對其的選擇是十分重要。其中,在智能家居的控制系統(tǒng)中,無線數(shù)據(jù)傳輸方式的靈活等特點戰(zhàn)勝了傳統(tǒng)的有線數(shù)據(jù)傳輸?shù)木窒扌?,從而得到了廣泛應(yīng)用;為了方便用戶的安裝和使用,避免繁瑣的有線的布線,采用無線方式進行組網(wǎng)。無線組網(wǎng)方式多種多樣,其中ZigBee技術(shù)以其組網(wǎng)靈活性、功耗低等優(yōu)異特性而得到廣泛使用。
1 網(wǎng)絡(luò)結(jié)構(gòu)概述
智能家居系統(tǒng)采用ZigBee無線組網(wǎng)技術(shù)作為基層網(wǎng)絡(luò)來實現(xiàn)家居系統(tǒng)內(nèi)部網(wǎng)絡(luò)。在多種網(wǎng)絡(luò)拓撲結(jié)構(gòu)中,星型結(jié)構(gòu)的覆蓋范圍較小,但是結(jié)構(gòu)簡單、數(shù)據(jù)傳輸快,所以在家庭范圍內(nèi),采用星型結(jié)構(gòu)作為基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu)。通過ZigBee無線通訊模塊與傳感器模塊及家電構(gòu)成終端設(shè)備,實現(xiàn)數(shù)據(jù)的采集,傳輸?shù)?使用全功能設(shè)備作為家居內(nèi)部ZigBee網(wǎng)絡(luò)的中心協(xié)調(diào)器,負責建立和維護網(wǎng)絡(luò);通過RS232串口通信實現(xiàn)協(xié)調(diào)器與傳感器模塊之間的連接,系統(tǒng)結(jié)構(gòu)圖如圖1所示。作為智能家居系統(tǒng)的底層基礎(chǔ)網(wǎng)絡(luò),家居內(nèi)部ZigBee無線網(wǎng)絡(luò)可以實現(xiàn)的功能有:1)采集家庭環(huán)境的數(shù)據(jù)和信息。2)簡單處理設(shè)備終端上傳來的數(shù)據(jù)。3)通過串口通信協(xié)議將數(shù)據(jù)上傳到中心協(xié)調(diào)器。4)協(xié)調(diào)器根據(jù)采集上的實時數(shù)據(jù)作出判斷,給出控制指令。5)通過串口通信協(xié)議將數(shù)據(jù)回傳給設(shè)備終端。6)設(shè)備終端作出相應(yīng)的響應(yīng)。
2 ZigBee技術(shù)
ZigBee技術(shù)一種短距離低速傳輸?shù)臒o線網(wǎng)絡(luò)協(xié)議,其功耗抵、快速、可靠、成本低、容量大、安全的特點,使其可廣泛應(yīng)用于各種自動控制領(lǐng)域。
ZigBee協(xié)議棧是在OSI七層模型的基礎(chǔ)上根據(jù)市場和應(yīng)用的實際需要定義的簡化協(xié)議棧,ZigBee協(xié)議棧由物理層、MAC層、網(wǎng)絡(luò)層和應(yīng)用層四層結(jié)構(gòu)組成,其中網(wǎng)絡(luò)層和應(yīng)用層是ZigBee聯(lián)盟在IEEE 802.15.4標準基礎(chǔ)上重新定義的,而物理層和MAC層則是沿用了IEEE 802.15.4標準。ZigBee協(xié)議棧結(jié)構(gòu)如圖2所示。
1)物理層(PHY):本層規(guī)定了物理無線信道以及MAC子層之間的接口,提供了PHY層的數(shù)據(jù)服務(wù)和管理服務(wù)。主要功能是激活/休眠無線收發(fā)設(shè)備,對當前信道進行能量檢測,鏈接質(zhì)量指示,為載波檢測多址與碰撞避免(CMSA—CA)進行空閑頻道評估、頻道選擇、數(shù)據(jù)的發(fā)送及接收等。
2)媒體介質(zhì)訪問層(MAC層):提供數(shù)據(jù)服務(wù)和管理服務(wù)兩種服務(wù),主要完成的功能有:網(wǎng)絡(luò)協(xié)調(diào)者產(chǎn)生并發(fā)送信標幀,設(shè)備與信標同步,支持RAN網(wǎng)絡(luò)的關(guān)聯(lián)和取消關(guān)聯(lián)操作,為設(shè)備的安全性提供支持,信道接入方式采用免沖突載波檢測多路訪問(CMSA—CA)機制,處理和維護保護時隙機制,在兩個對等的 MAC實體之間提供一個可靠地通信連路。
3)網(wǎng)絡(luò)層(NWK):負責拓撲結(jié)構(gòu)的建立和維護網(wǎng)絡(luò)連接,主要功能有設(shè)備連接和斷開網(wǎng)絡(luò)時所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。
4)應(yīng)用層(APL):是用戶根據(jù)需要自行來開發(fā)的,由應(yīng)用支持子層、ZigBee設(shè)備配置層和應(yīng)用架構(gòu)層組成,其中,應(yīng)用支持子層為網(wǎng)絡(luò)層和應(yīng)用層提供接口,把基于服務(wù)和需求相匹配的兩個設(shè)備作為一個整體來進行管理的綁定服務(wù),并未綁定服務(wù)構(gòu)建和保留綁定表,在綁定設(shè)備之間傳輸信息;ZigBee設(shè)備配置層提供標定服務(wù)、為遠程設(shè)備提供請求的任何標準的描述符信息;應(yīng)用架構(gòu)層是應(yīng)用支持子層的應(yīng)用程序的無線數(shù)據(jù)接口,應(yīng)用程序使用該層提供的功能來發(fā)送和接收無線數(shù)據(jù)。
3 系統(tǒng)硬件設(shè)計
ZigBee系統(tǒng)采用的傳感器模塊芯片為CC2530芯片,CC2530是TI公司推出的無線片上系統(tǒng)(SOC)芯片,其需要極少的外接元件,片上集成了不同的構(gòu)造模塊,大致可分為CPU和相關(guān)的存儲器模塊,外設(shè)、時鐘和電源管理模塊,無線信收發(fā)模塊3類,并通過ZigBee協(xié)議棧實現(xiàn)了應(yīng)用。
3.1 溫濕度及光照傳感器硬件電路
在本設(shè)計中,STH10作為溫濕度模塊的主芯片,供電電壓為3.3 V,負責采集室內(nèi)的溫度和濕度。光照傳感器模塊可以感應(yīng)光照的強度。溫濕度探頭直接使用IIC接口進行控制,光敏探頭經(jīng)運放處理后輸出電壓信號到AD輸入。其電路原理圖如圖3所示。
3.2 酒精傳感器電路
酒精傳感器模塊是用等級來劃分的,不能顯示具體的數(shù)值。通過傳感器輸出端的電壓變化來體現(xiàn)酒精的含有量等級。外界給傳感器供5 V電壓,傳感器內(nèi)部工作。在清潔的空氣中,輸出端的電壓為一恒定值,若空氣中含有酒精,輸出端的電壓會降低,根據(jù)電壓降低程度來判斷酒精含量等級。其原理圖如圖4所示。
3.3 繼電器模塊電路
每個繼電器模塊上有4個繼電器,每個繼電器都能單獨進行工作。繼電器模塊采用一片帶中斷輸出的IIC接口的GPIO擴展芯片實現(xiàn),IIC總線擴展芯片使用PCA9554,作為輸出是高電平有效。其原理圖如圖5所示。
4 系統(tǒng)軟件設(shè)計
本設(shè)計是在IAR7.51軟件的開發(fā)環(huán)境下,通過C語言編寫驅(qū)動程序來進行仿真調(diào)試的。
4.1 Z—Stack協(xié)議棧軟件架構(gòu)
Z—Stack協(xié)議棧是基于一個輪轉(zhuǎn)查詢時操作系統(tǒng)的,ZStack從main()函數(shù)進入,首先對系統(tǒng)進行初始化,然后開始執(zhí)行操作系統(tǒng)。協(xié)議棧著有流程如圖6所示。
4.1.1 系統(tǒng)初始化
初始時,系統(tǒng)需要對硬件平臺和軟件架構(gòu)所需的要的各個模塊進行初始化,為操作系統(tǒng)的運行做好準備工作,其具體流程圖和對應(yīng)的函數(shù)如圖7所示。
4.1.2 操作系統(tǒng)的執(zhí)行
操作系統(tǒng)實體只有一行代碼:
Osal_start_system();//no return from here
此函數(shù)不會返回,是一個死循環(huán),這個函數(shù)就是輪轉(zhuǎn)查詢式操作系統(tǒng)的主體部分,這個函數(shù)會不斷地查詢每個任務(wù)是否有事件發(fā)生,如果發(fā)生,執(zhí)行函數(shù);如果沒有發(fā)生,查詢下一個任務(wù)。
任務(wù)是由優(yōu)先級的,系統(tǒng)優(yōu)先處理優(yōu)先級高的任務(wù)。
程序清單:
操作系統(tǒng)要處理MAC層,網(wǎng)絡(luò)層,物理層,應(yīng)用層,zigbee設(shè)備應(yīng)用層,應(yīng)用層,這6層的任務(wù),優(yōu)先級是從MAC層具有最高優(yōu)先級,到用戶層具有最低優(yōu)先級。如果MAC層任務(wù)有事件處理不完,用戶層任務(wù)就不會得到執(zhí)行。
4.2 系統(tǒng)網(wǎng)絡(luò)的形成
4.2.1 協(xié)調(diào)器建立網(wǎng)絡(luò)
ZigBee網(wǎng)絡(luò)節(jié)點設(shè)備調(diào)用ZDO_StartDevice()函數(shù)來啟動設(shè)備,然后調(diào)用它們形成網(wǎng)絡(luò)。協(xié)調(diào)器將掃描DEFAUL_CHANLIST,從中選擇一個合適的信道。這個網(wǎng)絡(luò)會被配置一個PAN標示符和一個16位的網(wǎng)絡(luò)地址。然后調(diào)用 NLME_JNetworkFormationRequest()函數(shù)來建立網(wǎng)絡(luò):
4.2.2 節(jié)點加入網(wǎng)絡(luò)
數(shù)據(jù)采集節(jié)點首先會通過NLME_NETWORK_DISCOVERYrequest原語,啟動加入網(wǎng)絡(luò)流程。數(shù)據(jù)節(jié)點啟動后,先掃描 DEFAULT_CHANLIST指定的頻道。數(shù)據(jù)采集節(jié)點首先要通過信道掃描來發(fā)現(xiàn)2.4GHz頻段的信道中存在的網(wǎng)絡(luò)。當收到協(xié)調(diào)器發(fā)送的信標應(yīng)道后,就按照信標內(nèi)的協(xié)調(diào)器的網(wǎng)絡(luò)地址和PAN_ID等信息加入網(wǎng)絡(luò)。
5 調(diào)試結(jié)果
調(diào)試結(jié)果如圖8所示。
6 結(jié)論
在協(xié)調(diào)器上顯示溫濕度值、光照值及反應(yīng)酒精濃度的電壓值,并且當溫度高于23攝氏度時,自動開啟繼電器進而驅(qū)動電扇的開啟與關(guān)閉;當光照大于250勒克斯時,步進電機上的直流電機自動運轉(zhuǎn)進而驅(qū)動窗簾的開合;當酒精傳感器采集的電壓值大于120 V時,驅(qū)動蜂鳴器報警。