畢業(yè)設(shè)計(jì)(論文)-基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于Zigbee的智能開關(guān)的設(shè)計(jì)與實(shí)現(xiàn)摘要近年來(lái),智能家居是不斷被人們提到的熱點(diǎn)話題,其能夠提升家居的安全性和舒適性,同時(shí)為用戶提供了生活便利。除了其出色的用戶體驗(yàn),智能家居還有助于實(shí)現(xiàn)居住環(huán)境的節(jié)能環(huán)保,因此成為未來(lái)家居的發(fā)展方向。本文首先提出了一種基于Zigbee技術(shù)的智能家居系統(tǒng),該系統(tǒng)由用戶手機(jī)、網(wǎng)絡(luò)服務(wù)器、網(wǎng)關(guān)和若干功能性子節(jié)點(diǎn)組成。在此系統(tǒng)架構(gòu)下,本文針對(duì)功能性子節(jié)點(diǎn)中的智能開關(guān)節(jié)點(diǎn)部分,從其硬件電路和軟件程序兩個(gè)角度分析了該類節(jié)點(diǎn)實(shí)現(xiàn)自動(dòng)聯(lián)網(wǎng)、斷線自檢、無(wú)線通訊等功能的原理,并設(shè)計(jì)了一個(gè)具有以上功能的智能開關(guān)節(jié)點(diǎn)設(shè)備。通過(guò)對(duì)節(jié)點(diǎn)的調(diào)試,該設(shè)備成功實(shí)現(xiàn)了用戶對(duì)智能開關(guān)的本地、遠(yuǎn)程控制。該智能開關(guān)節(jié)點(diǎn)便于安裝、使用簡(jiǎn)單、出現(xiàn)故障后能夠完成自檢,經(jīng)過(guò)長(zhǎng)期的測(cè)試證明,該節(jié)點(diǎn)在整個(gè)智能開關(guān)系統(tǒng)中能夠正常穩(wěn)定地運(yùn)行。關(guān)鍵詞:智能家居遠(yuǎn)程控制ZigbeeCC2530DesignandImplementationofSmartSwitchBasedonZigbeeAbstractSmartHomeisahottopicinrecentyears,whichcanenhancehomesecurityandcomfort,whileprovidingconvenientlife.Inadditiontoitsexcellentuserexperience,smarthomealsocontributestoenergysavingandenvironmentalprotectionofthelivingenvironment,thusbecomingthefuturedirectionofhome.ThispaperpresentsatechniquebasedonZigbeesmarthomesystem,thesystemconsistsofmobilephoneusers,networkservers,gateways,andseveralfunctionaltempernodes.Inthissystemarchitecture,thispaperfunctiontemperintelligentswitchingnodesection,fromhardwareandsoftwareprogramanalyzestheclasstwonodenetworkautomatically,breakingtheprincipleofself-test,wirelesscommunicationsandotherfunctions,anddesignoftheintelligentswitchingnodeapparatushavingtheabovefunctions.Bynodedebugging,thesuccessfulimplementationofthelocaldevice,remotecontroluserintelligentswitches.Theintelligentswitchnodeiseasytoinstall,simpletouse,afterafailuretocompletetheself-test,afteralongtestprovedthatthenodecanbenormalandstableoperationthroughouttheintelligentswitchsystem.KeyWords:SmartHome;Long-distanceControl;Zigbee;CC2530目錄1.緒論 11.1智能家居背景與意義 11.2智能家居研究現(xiàn)狀 11.3智能開關(guān)概述 22.系統(tǒng)方案設(shè)計(jì) 42.1課題設(shè)計(jì)目標(biāo) 42.2課題設(shè)計(jì)方案 52.3Zigbee網(wǎng)絡(luò)概述 62.4論文章節(jié)安排 63.硬件電路設(shè)計(jì) 83.1微控制器最小系統(tǒng)設(shè)計(jì) 83.2觸摸檢測(cè)電路設(shè)計(jì) 113.3繼電器控制電路設(shè)計(jì) 113.4電源轉(zhuǎn)換電路設(shè)計(jì) 124.軟件程序設(shè)計(jì) 144.1程序設(shè)計(jì)方案 144.2CC2530程序架構(gòu) 144.2.1Z-stack協(xié)議棧 154.2.2操作系統(tǒng)抽象層 154.3底層程序設(shè)計(jì) 164.3.1設(shè)備組網(wǎng)入網(wǎng) 164.3.2串口配置 164.4應(yīng)用層程序設(shè)計(jì) 184.4.1通信協(xié)議設(shè)計(jì) 184.4.2遠(yuǎn)程控制程序設(shè)計(jì) 204.4.3本地控制程序設(shè)計(jì) 204.4.4用戶查詢與通信檢查程序設(shè)計(jì) 215.調(diào)試與分析 225.1調(diào)試方案 225.2底層調(diào)試 235.3應(yīng)用層調(diào)試 236.總結(jié)與展望 256.1總結(jié) 256.2展望 25參考文獻(xiàn) 27附錄 28附錄一系統(tǒng)原理圖和PCB 28附錄二系統(tǒng)實(shí)物圖 29附錄三系統(tǒng)核心代碼 30致謝 34常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文)1.緒論1.1智能家居背景與意義智能家居概念的前身最早可以追溯到上世紀(jì)80年代的美國(guó)。建造于1984年的“都市大廈”坐落于美國(guó)康乃迪克州的哈特佛市。此項(xiàng)目對(duì)建筑中的各種信息進(jìn)行收集和整合,創(chuàng)造出了世界上第一座“智能建筑”。該建筑的主要功能包括:對(duì)大樓空調(diào)、電梯、智能照明設(shè)備等進(jìn)行監(jiān)控;提供語(yǔ)音通信、電子郵件和情報(bào)資料等方面的信息服務(wù)。由于當(dāng)時(shí)網(wǎng)絡(luò)還未普及,傳統(tǒng)的智能家居多采用有線技術(shù),布線復(fù)雜、造價(jià)昂貴、用戶體驗(yàn)度非常不好,因此在很長(zhǎng)一段時(shí)間人們并不看好其發(fā)展。但隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,新一代基于無(wú)線通信的智能家居利用移動(dòng)互聯(lián)網(wǎng)技術(shù)、智能終端控制技術(shù),使整個(gè)智能家居的舒適度提升了上去,智能家居又重新回到了人們的視野中。智能家居創(chuàng)造了一種新的生活方式,這不僅不會(huì)影響用戶的正常生活,而且能夠提升用戶的生活質(zhì)量和工作效率。例如,上班之前只要按動(dòng)遙控器上的按鍵,家里的電燈和電器就能全部關(guān)上,安全防范系統(tǒng)自動(dòng)進(jìn)入警戒狀態(tài);傍晚下班,用手機(jī)就可以遙控打開客廳里的空調(diào)和浴室里的熱水器,回到家中就可以馬上享受一個(gè)舒服的熱水澡。此外,智能家居還能衍生出許多新用途用于滿足不同人群的需求。目前廣泛運(yùn)用于智能家居系統(tǒng)的子節(jié)點(diǎn)設(shè)備包括智能開關(guān)、智能插座、智能窗簾、智能紅外轉(zhuǎn)發(fā)器等,因此使用前景十分廣闊。1.2智能家居研究現(xiàn)狀1998年5月,新加坡舉辦了“98亞洲家庭電器與電子消費(fèi)品國(guó)際展覽會(huì)”。本次展覽會(huì)的一大亮點(diǎn),是通過(guò)在場(chǎng)內(nèi)模擬“未來(lái)之家”,推出了新加坡模式的家庭智能化系統(tǒng)。進(jìn)入21世紀(jì),國(guó)內(nèi)的許多傳統(tǒng)家電廠商和新興互聯(lián)網(wǎng)廠商也積極在智能家居領(lǐng)域施展拳腳,希望分得一杯羹。我國(guó)的海爾集團(tuán),已經(jīng)在青島東城建立了智能家居U-home系統(tǒng);電商巨頭京東,在2014年6月底公布了智能家居發(fā)展戰(zhàn)略;與此同時(shí),小米公司與華潤(rùn)置業(yè)等地產(chǎn)商聯(lián)合,也在對(duì)智能家居領(lǐng)域進(jìn)行探索。目前,小米公司為智能家居生產(chǎn)商中的領(lǐng)軍企業(yè),該公司最近成功將兩款智能家居產(chǎn)品推向市場(chǎng),分別為智能插座和智能插線板,這兩款產(chǎn)品均采用了目前廣泛使用的WIFI技術(shù),用戶可以通過(guò)手機(jī)遠(yuǎn)程控制插座或插線板。插線板和插座都配有220V插口和USB插口,用戶只要點(diǎn)擊手機(jī)上的圖標(biāo)即可打開或關(guān)閉相應(yīng)插口。除了利用WIFI通信外,應(yīng)用于智能家居的通信方案還有紅外通信、Zigbee通信等。其中Zigbee技術(shù)可以在家庭中建立一個(gè)Zigbee局域網(wǎng),并對(duì)覆蓋于該局域網(wǎng)下的若干智能家居子節(jié)點(diǎn)進(jìn)行互聯(lián)。Zigbee技術(shù)與WIFI技術(shù)相比,雖然通信距離短、通信速率沒(méi)有互聯(lián)網(wǎng)通信快,但由于其應(yīng)用于室內(nèi)控制,對(duì)通信距離和通信速率的要求較低,基本能滿足家庭通信需要,并且其優(yōu)點(diǎn)被進(jìn)一步放大:設(shè)備成本低,使用期間無(wú)額外通信費(fèi)用產(chǎn)生;功耗低,一節(jié)干電池可以維持一個(gè)Zigbee模塊正常運(yùn)行半年到一年,克服了大多數(shù)通信設(shè)備對(duì)不間斷電源的依賴性。1.3智能開關(guān)概述與上述提及的智能插座、智能插線板相比,智能開關(guān)在智能家居中使用得更加普遍。家庭中控制照明設(shè)備的開關(guān)從最初的拉線開關(guān)、拇指開關(guān),發(fā)展到如今常見的按鍵開關(guān),在安全性、可靠性、便利性上都得到了更大提升。目前市場(chǎng)上的智能開關(guān)除了有觸摸開關(guān)、射頻控制開關(guān),還有免布線開關(guān)、單火線給電開關(guān)等,這類智能設(shè)備正向易安裝和人性化方面繼續(xù)發(fā)展。1.射頻控制開關(guān)射頻控制開關(guān)利用射頻通信原理,可通過(guò)射頻遙控器對(duì)家中的開關(guān)進(jìn)行單獨(dú)控制或群控制,起到了一定便利性。該設(shè)備的缺點(diǎn)在于射頻信號(hào)通信距離較短,當(dāng)有障礙物遮擋時(shí),遙控靈敏度會(huì)降低。2.觸摸開關(guān)觸摸開關(guān)利用觸摸傳感器控制開關(guān)動(dòng)作,在安全性和美觀性上都勝于按鍵開關(guān)。一方面,在外觀上其略去了傳統(tǒng)的機(jī)械開關(guān)結(jié)構(gòu),開關(guān)面板僅包含一個(gè)觸摸感應(yīng)區(qū)域,造型更為一體。另一方面,由于沒(méi)有機(jī)械開關(guān)的間隙,該類開關(guān)能安全應(yīng)用于浴室、廚房等環(huán)境。該類開關(guān)的缺陷在于觸摸電路的供電復(fù)雜,須對(duì)家庭原先電氣線路進(jìn)行改造。3.免布線開關(guān)免布線開關(guān)包含一個(gè)無(wú)需外部供電的移動(dòng)開關(guān)和一個(gè)220V供電的控制器,當(dāng)用戶操作開關(guān)面板時(shí),該移動(dòng)開關(guān)能將環(huán)境中的機(jī)械能、光能轉(zhuǎn)化為電能,然后利用無(wú)線通信技術(shù)將觸摸信號(hào)發(fā)送給控制器,最終控制器會(huì)對(duì)相應(yīng)照明設(shè)備進(jìn)行通電斷電操作。該類開關(guān)的優(yōu)勢(shì)在于降低了裝修成本,免去家庭裝修前期的一些開關(guān)布線工程;在安置開關(guān)時(shí),用戶可以個(gè)性化選擇開關(guān)位置,無(wú)需對(duì)家庭中的照明線路進(jìn)行改造;控制器可以配置成單個(gè)開關(guān)控制多路照明設(shè)備,或多路開關(guān)控制同一照明設(shè)備,在臥室床頭燈開關(guān)應(yīng)用上使用廣泛。與射頻控制開關(guān)相比,該類開關(guān)遙控距離更遠(yuǎn),當(dāng)有障礙物遮擋時(shí)信號(hào)穩(wěn)定。4.單火線給電開關(guān)單火線給電開關(guān)是替代傳統(tǒng)面板開關(guān)的成熟解決方案。傳統(tǒng)開關(guān)在進(jìn)行線路設(shè)計(jì)時(shí),往往只引出了火線,然后再將各用電設(shè)備連接至零線上,因此家庭中原先開關(guān)盒的引線僅包含了火線輸入口和火線輸出口。該單火線給電開關(guān)利用火線即可完成取電工作,優(yōu)勢(shì)在于無(wú)需對(duì)家庭線路進(jìn)行改造、無(wú)需控制器即可控制家中的照明設(shè)備,安裝過(guò)程更加便利。在解決供電問(wèn)題后,該設(shè)備還可加入遠(yuǎn)程控制功能,進(jìn)一步提升開關(guān)的智能性。2.系統(tǒng)方案設(shè)計(jì)智能家居系統(tǒng)的核心是建立用戶與節(jié)點(diǎn)間的雙向通信關(guān)系。本文提出的智能家居通信策略與小米插座所使用的不同,在該系統(tǒng)方案中,承擔(dān)通信任務(wù)的設(shè)備包括手機(jī)、服務(wù)器、網(wǎng)關(guān)和若干節(jié)點(diǎn)設(shè)備,各設(shè)備之間的關(guān)聯(lián)如圖2-1所示。手機(jī)與服務(wù)器、服務(wù)器與網(wǎng)關(guān)間的通信在互聯(lián)網(wǎng)中進(jìn)行,網(wǎng)關(guān)與若干節(jié)點(diǎn)的通信在Zigbee網(wǎng)絡(luò)中進(jìn)行,在該通信網(wǎng)絡(luò)下,用戶可以通過(guò)手機(jī)進(jìn)行遠(yuǎn)程控制或在家中進(jìn)行本地控制。圖2-1智能家居系統(tǒng)框圖2.1課題設(shè)計(jì)目標(biāo)本文研究的核心內(nèi)容選取自智能家居系統(tǒng)中的一個(gè)重要單元——智能開關(guān)節(jié)點(diǎn)。該節(jié)點(diǎn)為了滿足用戶的日常需求,不僅在功能上需要具備本地控制和遠(yuǎn)程控制功能,在使用過(guò)程中還需要考慮人性化因素??偨Y(jié)上述需求,該智能開關(guān)節(jié)點(diǎn)的設(shè)計(jì)目標(biāo)包括:對(duì)于本地控制,用戶可以通過(guò)實(shí)體開關(guān)在家中對(duì)電氣設(shè)備進(jìn)行控制,此時(shí)手機(jī)上可同時(shí)接收到開關(guān)狀態(tài)更新的消息。對(duì)于遠(yuǎn)程控制,用戶可以通過(guò)手機(jī)軟件對(duì)家中的電氣設(shè)備進(jìn)行控制,同時(shí)能夠監(jiān)測(cè)家中電氣設(shè)備的狀態(tài)。為方便用戶安裝使用,該節(jié)點(diǎn)在首次啟動(dòng)時(shí),網(wǎng)關(guān)能與節(jié)點(diǎn)自動(dòng)配對(duì),斷電重啟后能自動(dòng)重連。為保證通信質(zhì)量,系統(tǒng)能自動(dòng)檢測(cè)網(wǎng)關(guān)與開關(guān)設(shè)備間的連接狀態(tài),并能上報(bào)連接失敗的消息。為了增強(qiáng)該智能開關(guān)設(shè)備的兼容性,在對(duì)電路元器件進(jìn)行選型時(shí)應(yīng)考慮提升其帶負(fù)載能力。2.2課題設(shè)計(jì)方案對(duì)于本地控制功能的解決方案,直接對(duì)開關(guān)節(jié)點(diǎn)設(shè)備進(jìn)行編程即可實(shí)現(xiàn)。對(duì)于遠(yuǎn)程控制功能的解決方案,則需要上述系統(tǒng)框圖中提及的各設(shè)備相互配合才能實(shí)現(xiàn)。首先,用戶使用手機(jī)連接互聯(lián)網(wǎng),在手機(jī)軟件中輸入的操作指令會(huì)先發(fā)送至服務(wù)器,再由服務(wù)器發(fā)送至特定家庭的網(wǎng)關(guān)中,最終與家庭中的各節(jié)點(diǎn)進(jìn)行Zigbee通信。其中網(wǎng)關(guān)主要在互聯(lián)網(wǎng)通信和Zigbee通信之間起轉(zhuǎn)發(fā)作用,在家庭網(wǎng)關(guān)接收到用戶發(fā)來(lái)的指令后,網(wǎng)關(guān)會(huì)和家庭中的Zigbee設(shè)備進(jìn)行通信并實(shí)現(xiàn)相應(yīng)的用戶指令,如智能開啟家中的電氣設(shè)備。其余設(shè)計(jì)目標(biāo)可通過(guò)編寫代碼解決。在軟件程序設(shè)計(jì)方面,該智能開關(guān)節(jié)點(diǎn)使用TI公司推出的Z-stack協(xié)議棧進(jìn)行編程。該節(jié)點(diǎn)所有功能的實(shí)現(xiàn),是依靠通信中數(shù)據(jù)包的正確收發(fā)以及單片機(jī)對(duì)數(shù)據(jù)包的正確分析。開關(guān)的控制信號(hào)和開關(guān)狀態(tài)都包含在相應(yīng)數(shù)據(jù)包中,當(dāng)接收到完整數(shù)據(jù)后,程序會(huì)根據(jù)通信協(xié)議分析該數(shù)據(jù)包的含義,最終做出相應(yīng)的處理。在該數(shù)據(jù)包中,一個(gè)字節(jié)的數(shù)據(jù)就可控制8個(gè)照明設(shè)備,且發(fā)送數(shù)據(jù)包的長(zhǎng)度無(wú)限制,因此該智能開關(guān)節(jié)點(diǎn)具有靈活的可擴(kuò)展性。為了滿足上述設(shè)計(jì)方案的實(shí)現(xiàn),在硬件電路設(shè)計(jì)方面,該智能開關(guān)節(jié)點(diǎn)包含一個(gè)電源轉(zhuǎn)換電路模塊,用于各個(gè)元器件的供電;一個(gè)主控制器最小單元CC2530,用于建立Zigbee網(wǎng)絡(luò)和執(zhí)行相應(yīng)的程序操作;此外還包括三路觸摸開關(guān),分別控制三路家用電氣設(shè)備,其硬件框圖如圖2-2所示。圖2-2智能開關(guān)節(jié)點(diǎn)硬件電路框圖在觸摸檢測(cè)電路中,觸摸開關(guān)采用電容式開關(guān)設(shè)計(jì),并使用專門的觸摸開關(guān)檢測(cè)芯片檢測(cè)觸摸開關(guān)的狀態(tài);智能開關(guān)的執(zhí)行機(jī)構(gòu)是繼電器,其開關(guān)觸點(diǎn)端與電氣設(shè)備串聯(lián)接入220V市電中;繼電器的電磁線圈端與一個(gè)三極管串聯(lián)接入5V直流電,其基極與CC2530單片機(jī)控制引腳相連。為了獲得更好的用戶體驗(yàn),在進(jìn)行開關(guān)操作時(shí)觸摸面板會(huì)有彩色燈光提醒:當(dāng)進(jìn)行開啟動(dòng)作時(shí),觸摸開關(guān)會(huì)由綠色變成紅色;當(dāng)進(jìn)行斷開動(dòng)作時(shí),觸摸開關(guān)由紅色變?yōu)榫G色。在滿足基本功能實(shí)現(xiàn)的基礎(chǔ)上,在實(shí)際使用中還要求智能開關(guān)系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,功耗小。該課題選用的CC2530芯片,自帶Zigbee通信功能且體積小,無(wú)論在技術(shù)上還是功耗上,都能夠滿足智能家居的配置要求,因而成為智能家居控制單元的首選。除了對(duì)節(jié)點(diǎn)的基本功能進(jìn)行軟件設(shè)計(jì),在進(jìn)行程序編寫前還需進(jìn)行其他配置,如選擇網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、Zigbee通信方式等。在Zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的選取上,該課題為了更方便地添加其他開關(guān)設(shè)備,最終選用網(wǎng)型拓?fù)浣Y(jié)構(gòu)??紤]到家庭中有眾多待檢測(cè)和待控制的設(shè)備,該課題的通信方式既包括點(diǎn)對(duì)點(diǎn)通信,又包括廣播通信。當(dāng)網(wǎng)關(guān)對(duì)所有節(jié)點(diǎn)設(shè)備發(fā)送操作指令時(shí),采用廣播通信方式;當(dāng)節(jié)點(diǎn)向網(wǎng)關(guān)上報(bào)設(shè)備信息時(shí),采用點(diǎn)播通信方式。2.3Zigbee網(wǎng)絡(luò)概述智能家居系統(tǒng)的本質(zhì)是一個(gè)多節(jié)點(diǎn)網(wǎng)絡(luò),對(duì)于節(jié)點(diǎn)設(shè)備的控制主要通過(guò)Zigbee模塊之間的通信實(shí)現(xiàn)。根據(jù)不同Zigbee設(shè)備在網(wǎng)絡(luò)中所扮演的角色劃分,包括協(xié)調(diào)器、路由器和設(shè)備終端。(1)協(xié)調(diào)器。一個(gè)Zigbee網(wǎng)絡(luò)需要協(xié)調(diào)器來(lái)建立,在系統(tǒng)啟動(dòng)初始,協(xié)調(diào)器主要負(fù)責(zé)建立和配置網(wǎng)絡(luò)。在網(wǎng)絡(luò)建立后,協(xié)調(diào)器與路由器的作用相同。(2)路由器。路由器是信息傳遞的樞紐,其既能接收周圍節(jié)點(diǎn)上報(bào)的信息,也能發(fā)送控制信息控制周圍節(jié)點(diǎn)。(3)設(shè)備終端。設(shè)備終端作為整個(gè)網(wǎng)絡(luò)的末端,不能再延伸出節(jié)點(diǎn),對(duì)整個(gè)網(wǎng)絡(luò)的建立和維護(hù)沒(méi)有貢獻(xiàn),且本身只做接收信號(hào)功能,無(wú)法上報(bào)信息。終端不需要持續(xù)供電,在系統(tǒng)設(shè)計(jì)時(shí)可在需要它時(shí)與它通信,在其余時(shí)間終端可以處在休眠狀態(tài),能很好地延長(zhǎng)使用壽命。在該智能家居系統(tǒng)中,網(wǎng)關(guān)用于建立Zigbee網(wǎng)絡(luò),其作為協(xié)調(diào)器使用。由于該智能開關(guān)節(jié)點(diǎn)在方案設(shè)計(jì)中已指出需要雙向通信功能,因此為需要將開關(guān)節(jié)點(diǎn)作為路由器使用,根據(jù)以上分析,該系統(tǒng)不涉及到設(shè)備終端。2.4論文章節(jié)安排緒論。主要介紹了智能家居的背景、研究現(xiàn)狀,并對(duì)目前智能開關(guān)中衍生出的基本種類進(jìn)行簡(jiǎn)要概述。系統(tǒng)方案設(shè)計(jì)。主要介紹了智能開關(guān)節(jié)點(diǎn)的設(shè)計(jì)目標(biāo)和設(shè)計(jì)方案,并簡(jiǎn)要介紹了Zigbee網(wǎng)絡(luò)的基本組成。硬件電路設(shè)計(jì)。主要介紹了CC2530最小系統(tǒng)和智能開關(guān)電路的設(shè)計(jì),并對(duì)芯片的選取和外設(shè)電路進(jìn)行了分析。軟件程序設(shè)計(jì)。首先簡(jiǎn)要梳理了智能開關(guān)節(jié)點(diǎn)的軟件設(shè)計(jì)思路,之后結(jié)合實(shí)際功能重點(diǎn)闡述了應(yīng)用層的軟件設(shè)計(jì)。調(diào)試與分析。首先簡(jiǎn)要分析了一些功能模塊的具體調(diào)試過(guò)程,之后重點(diǎn)闡述開關(guān)節(jié)點(diǎn)的運(yùn)行調(diào)試情況,并給出最終的調(diào)試圖片??偨Y(jié)與展望。主要是對(duì)該課題在研究過(guò)程中遇到的問(wèn)題進(jìn)行總結(jié),并提出該作品的不足之處以及其他需要改進(jìn)優(yōu)化的方面。3.硬件電路設(shè)計(jì)由智能開關(guān)節(jié)點(diǎn)的硬件電路框圖2-2可知,該節(jié)點(diǎn)的硬件電路設(shè)計(jì)主要分為四個(gè)部分:微控制器最小系統(tǒng)、觸摸檢測(cè)電路、繼電器控制電路和負(fù)載部分,除此以外還有為各電路供電的電源轉(zhuǎn)換電路。智能開關(guān)節(jié)點(diǎn)的硬件設(shè)計(jì)為了滿足易安裝、結(jié)構(gòu)簡(jiǎn)單的要求,應(yīng)盡可能縮小設(shè)備體積。在實(shí)際使用中,該開關(guān)節(jié)點(diǎn)用于控制負(fù)載上火線的通斷,因此僅需在節(jié)點(diǎn)的負(fù)載端引出相應(yīng)端子與負(fù)載相連,本章主要介紹其他四部分電路。3.1微控制器最小系統(tǒng)設(shè)計(jì)目前市場(chǎng)上主營(yíng)三種Zigbee芯片,分別是:德州儀器的CC2530、飛思卡爾的MC1321X系列和意法公司的EM250。CC2530采用標(biāo)準(zhǔn)的8051處理器,可以和2.4GHZ的Zigbee無(wú)線收發(fā)電路配合工作。目前德州儀器提供Z-stack協(xié)議棧,且已經(jīng)開放免費(fèi)下載,而其他幾家公司的情況如下:飛思卡爾Zigbee開發(fā)套件3個(gè)月自動(dòng)失效,購(gòu)買正版需要1200美元;EMBERRZIGBEE2006軟件的報(bào)價(jià)為10000美元。此外CC2530是包括閃存存儲(chǔ)器和Zigbee射頻收發(fā)模塊的集成芯片,是真正的單芯片解決方案。飛思卡爾的芯片采用兩個(gè)硅片和SIP技術(shù)共同包裝,在大量生產(chǎn)情況下,肯定不及單芯片方案。綜上所述,CC2530無(wú)論從性能上還是成本上都具有極大的優(yōu)勢(shì),因此本課題最終選擇德州儀器的CC2530芯片作為主控芯片。該芯片包含128KB的系統(tǒng)內(nèi)可編程閃存,8KB的RAM,具備在各種供電方式下的數(shù)據(jù)保持能力。在外設(shè)電路上,該芯片具有5路DMA通道和21個(gè)通用I/O引腳CC2530芯片最小系統(tǒng)電路示意圖如圖3-1所示,其外圍電路包括時(shí)鐘電路、復(fù)位電路和射頻收發(fā)電路。圖3-1CC2530最小系統(tǒng)電路示意圖時(shí)鐘電路在微處理器單元的晶振接口兩端跨接一個(gè)高速石英晶體振蕩器,再并聯(lián)電容和電阻組成諧振電路。由于石英晶體起振較慢,需要將晶體盡可能靠近OSC_IN和OSC_OUT兩個(gè)引腳。32kHz晶振能為系統(tǒng)提供穩(wěn)定的時(shí)鐘信號(hào)。具體電路見圖3-2。圖3-2時(shí)鐘電路復(fù)位電路CC2530上的20號(hào)RESET引腳為是復(fù)位引腳,當(dāng)該引腳為低電平時(shí)單片機(jī)復(fù)位,該管腳接一個(gè)10K的上拉電阻,以保持高電平的狀態(tài)。并聯(lián)接入一個(gè)0.01uF的電容可以起到濾波的作用。具體電路見圖3-3。圖3-3復(fù)位電路射頻收發(fā)電路射頻收發(fā)電路用于收發(fā)數(shù)據(jù)。在對(duì)天線的設(shè)計(jì)中,雖然PCB板印制天線可以減少電路板的空間,但在設(shè)計(jì)過(guò)程中由于受板材的介電常數(shù),參考地的大小,層疊間距等等因素的影響,該課題最終選擇外接天線。為了增加信號(hào)接收發(fā)送的可靠性,該課題選用CC2591芯片作為前端功率放大電路。根據(jù)德州儀器公司提供的2.4GHz射頻電路參考原理圖,在天線的設(shè)計(jì)上采用分離的電容電感元件進(jìn)行射頻收發(fā)信號(hào)的匹配電路,CC2530的RF_P和RF_N管腳是一對(duì)差分輸入輸出信號(hào)。為了達(dá)到最好的發(fā)送接收效果,外圍電路參數(shù)應(yīng)嚴(yán)格按照德州儀器公司官方提供的典型參數(shù)值。具體電路見圖3-4。圖3-4射頻收發(fā)電路CCDebugger程序下載接口CC2530程序下載需要外部仿真下載器CCDebugger,單片機(jī)與仿真器的接線如圖3-5所示。表3-1給出了下載器引腳的名稱:表3-1CCDebugger接線說(shuō)明1.GND地線6.SCLK下載時(shí)鐘線P1.52.VDD設(shè)備電源線7.RESET復(fù)位線3.DC調(diào)試時(shí)鐘線P2.28MOSI數(shù)據(jù)輸出線P1.64.DD調(diào)試數(shù)據(jù)線PV仿真器輸出電壓5.CSN下載片選P1.410.MISO數(shù)據(jù)輸入線P1.7CCDebugger提供兩組接口,一組是SPI通信接口,最高傳輸速率可以達(dá)到50Mbps,用于分析數(shù)據(jù)和抓包使用。此外還提供程序下載接口,需要使用GND、VDD、RESET、DC和DD四個(gè)引腳。當(dāng)仿真器上的指示燈由紅變綠,表示仿真器檢測(cè)到單片機(jī),可以開始下載。圖3-5CCDebugger下載接口3.2觸摸檢測(cè)電路設(shè)計(jì)該課題設(shè)計(jì)的智能開關(guān)節(jié)點(diǎn)包含三路觸摸開關(guān)。觸摸開關(guān)的設(shè)計(jì)來(lái)源于電容的工作原理,觸摸開關(guān)實(shí)際是一塊金屬電極。由于人是導(dǎo)體,當(dāng)人手靠近金屬電極時(shí),在手指與金屬電極之間會(huì)產(chǎn)生微弱電場(chǎng),此時(shí)金屬電極與人手便成為電容的兩極,用戶在觸摸過(guò)程中會(huì)改變?cè)瓉?lái)電容的容值。BS813A-1是觸摸開關(guān)檢測(cè)芯片,該芯片能感應(yīng)到觸摸區(qū)域的電容變化從而識(shí)別用戶是否操作了開關(guān)。C12、C13、C14三者功能相同,用于調(diào)整各路開關(guān)的靈敏度,當(dāng)該電容的容值增大時(shí),靈敏度變低,該芯片使用手冊(cè)推薦選取的容值范圍為0-25pF。由電路原理圖3-6所示,觸摸信號(hào)檢測(cè)引腳KEYX與輸出響應(yīng)信號(hào)OUTX依次對(duì)應(yīng),下面以觸摸開關(guān)K1為例闡述硬件電路運(yùn)行機(jī)制。當(dāng)檢測(cè)到用戶觸摸K1時(shí),OUT1保持在高電平,松開后變?yōu)榈碗娖?,電平的變化?huì)引起單片機(jī)執(zhí)行響應(yīng)操作。對(duì)觸摸開關(guān)K2或K3操作與此相同。觸摸區(qū)域上方有一塊塑料導(dǎo)光板,其將電極與人手隔離,6個(gè)發(fā)光二極管兩兩一組,由單片機(jī)控制。布線時(shí),將發(fā)光二極管貼近導(dǎo)光板,能使面板呈現(xiàn)不同顏色便于用戶分辨開關(guān)狀態(tài)。下面以觸摸開關(guān)K1為例闡述硬件電路運(yùn)行機(jī)制,假設(shè)此時(shí)開關(guān)控制的用電設(shè)備處于斷電狀態(tài)。當(dāng)觸摸開關(guān)操作一次,觸摸開關(guān)背光燈由綠色變?yōu)榧t色,設(shè)備啟動(dòng);當(dāng)再進(jìn)行一次操作,觸摸開關(guān)背光燈由紅色變?yōu)榫G色,設(shè)備斷電。對(duì)觸摸開關(guān)K2或K3操作時(shí)有相同的現(xiàn)象,具體電路如圖3-7所示。圖3-6觸摸檢測(cè)電路圖3-7燈光指示電路3.3繼電器控制電路設(shè)計(jì)繼電器控制電路用于控制220V交流回路的通斷,是觸摸檢測(cè)電路的執(zhí)行機(jī)構(gòu),執(zhí)行通斷任務(wù)的器件是繼電器。HRS3FNH-S-DC5V繼電器的觸點(diǎn)最大可承受250V的交流電,額定電流可達(dá)10A,滿足設(shè)計(jì)目標(biāo)。線圈吸合觸點(diǎn)所需的電壓為5V,因此增加S8050三極管作為開關(guān)管使用。并聯(lián)在線圈兩端的二極管能為電感線圈提供泄放回路從而保護(hù)三極管。該系統(tǒng)中共包含三個(gè)繼電器控制電路,分別用于控制三路負(fù)載。單片機(jī)輸出引腳P1.6、P1.7、P2.0用于輸出高低電平控制三極管,其電平變化分別與K1、K2、K3有關(guān)。為防止開關(guān)在動(dòng)作時(shí)產(chǎn)生電弧,該電路在繼電器的觸點(diǎn)端并聯(lián)了滅弧裝置,該裝置等效為一個(gè)RC串聯(lián)電路。為防止電網(wǎng)電壓波動(dòng)損壞負(fù)載,須在負(fù)載端并聯(lián)氣體放電管、壓敏電阻和瞬態(tài)抑制二極管,保護(hù)電壓選擇市電的1.3至1.4倍。這三類原件均為過(guò)壓保護(hù)原件,當(dāng)電壓過(guò)大時(shí),其內(nèi)阻會(huì)急劇減小造成短路效應(yīng),從而保護(hù)家庭用電設(shè)備。下面以觸摸開關(guān)K1為例分析其電路原理,電路如圖3-8,其中Load表示負(fù)載。當(dāng)開關(guān)K1按下時(shí),P1.6置為高電平,三極管導(dǎo)通,此時(shí)觸點(diǎn)間吸合;當(dāng)再次按下K1時(shí),P1.6為低電平,三極管關(guān)斷,磁場(chǎng)消失使觸點(diǎn)彈回,此時(shí)電路開路。由于線圈的儲(chǔ)能作用,線圈中的電流使線圈與二極管形成回路,該殘余電流在回路阻抗中被消耗。對(duì)觸摸開關(guān)K2或K3操作時(shí),分析方法一致。圖3-8繼電器控制電路3.4電源轉(zhuǎn)換電路設(shè)計(jì)電源轉(zhuǎn)換電路是為單片機(jī)最小系統(tǒng)、觸摸檢測(cè)電路和繼電器控制電路供電。根據(jù)實(shí)際需求,該智能開關(guān)節(jié)點(diǎn)需要以下兩種電壓:5V直流電壓:為觸摸檢測(cè)電路、繼電器控制電路提供5V的高電平。3.3V直流電壓:為CC2530最小系統(tǒng)和射頻功率放大電路CC2591供電。由220V交流電轉(zhuǎn)為5V直流電選用集成的AC-DC模塊電源HZ025S05。該方案無(wú)需外圍電路且具有過(guò)溫、過(guò)流、短路保護(hù)等功能,安全可靠。電路圖如圖3-9所示。為了更安全地保證各用電設(shè)備在極端情況下不會(huì)損壞,在整流模塊的輸入端并聯(lián)了突波吸收器07D471K,突波吸收器又稱為壓敏電阻,當(dāng)電壓在正常范圍內(nèi)時(shí),壓敏電阻兩端的電阻極大,能達(dá)到十幾兆歐姆。當(dāng)有大的尖峰電壓出現(xiàn)時(shí),電阻阻值會(huì)急劇變小,產(chǎn)生類似“短路”的效果,從而起到吸收過(guò)大尖峰電壓的作用。考慮到電阻標(biāo)稱值與電阻實(shí)際值之間的誤差(1.1到1.2倍)、以及交流電峰值與有效值之間的偏差(1.4倍),最后選取壓敏電阻吸收電壓是額定電壓的2到2.2倍。經(jīng)整流降壓模塊得到的5V直流電壓再通過(guò)LM1117轉(zhuǎn)為3.3V直流電壓。LM1117是常用的低電壓線性穩(wěn)壓器,穩(wěn)壓效果好且價(jià)格低廉,電路圖如圖3-10所示。圖3-9交流轉(zhuǎn)直流降壓模塊圖3-10降壓線性穩(wěn)壓電路4.軟件程序設(shè)計(jì)系統(tǒng)方案設(shè)計(jì)章節(jié)已對(duì)課題設(shè)計(jì)目標(biāo)中的軟件部分作了簡(jiǎn)要概括,本章將以程序分析為主,首先提出具體的節(jié)點(diǎn)程序設(shè)計(jì)方案,再?gòu)慕M網(wǎng)入網(wǎng)開始,逐步梳理實(shí)現(xiàn)節(jié)點(diǎn)所有功能的底層、應(yīng)用層程序的執(zhí)行機(jī)制。4.1程序設(shè)計(jì)方案在系統(tǒng)方案設(shè)計(jì)中已提及,該節(jié)點(diǎn)的程序設(shè)計(jì)采用雙向通信方案:一方面,網(wǎng)關(guān)需要將數(shù)據(jù)轉(zhuǎn)發(fā)至智能開關(guān)節(jié)點(diǎn),使開關(guān)動(dòng)作;另一方面,節(jié)點(diǎn)需要反饋當(dāng)前開關(guān)狀態(tài),將信息及時(shí)上報(bào)至網(wǎng)關(guān)。通過(guò)梳理節(jié)點(diǎn)需要完成的各項(xiàng)任務(wù),圖4-1描述了節(jié)點(diǎn)端的程序運(yùn)行流程:在協(xié)議??蚣芟?,程序不斷輪循檢測(cè)圖中的三個(gè)判斷條件。當(dāng)觸摸開關(guān)動(dòng)作時(shí),代表執(zhí)行本地控制,此時(shí)無(wú)需經(jīng)過(guò)通信環(huán)節(jié)即可直接控制繼電器動(dòng)作;當(dāng)接收到網(wǎng)關(guān)發(fā)來(lái)的Zigbee數(shù)據(jù)包后,程序會(huì)對(duì)數(shù)據(jù)包進(jìn)行分析,判斷用戶具體執(zhí)行何種操作,包括遠(yuǎn)程控制、檢測(cè)開關(guān)狀態(tài)和檢測(cè)連接狀態(tài);當(dāng)定時(shí)器中斷到來(lái),表示需要進(jìn)行心跳數(shù)據(jù)包發(fā)送,該數(shù)據(jù)包用于檢測(cè)通信是否正常。圖4-1程序設(shè)計(jì)流程圖4.2CC2530程序架構(gòu) 為了提升代碼執(zhí)行效率,同時(shí)使程序更有條理,本課題使用Z-stack協(xié)議棧對(duì)智能開關(guān)節(jié)點(diǎn)進(jìn)行軟件開發(fā),并引入了操作系統(tǒng)抽象層的概念。4.2.1Z-stack協(xié)議棧Z-stack協(xié)議棧是德州儀器公司提供的一套配合CC2530芯片使用的程序方案,德州儀器公司為了用戶更方便地使用Zigbee,為用戶預(yù)留了應(yīng)用程序?qū)?,使用戶能免除配置底層協(xié)議的憂慮。圖4-2Z-stack協(xié)議層圖4-2是協(xié)議棧的協(xié)議層框架。Z-stack協(xié)議棧將IEEE802.15.4協(xié)議與Zigbee聯(lián)盟協(xié)議整合在一起,各協(xié)議層主要包括物理層、媒體訪問(wèn)控制層、網(wǎng)絡(luò)層和應(yīng)用層。德州儀器公司提供了模板工程代碼,可以從官方網(wǎng)站免費(fèi)下載得到。打開工程后,各層協(xié)議都位于對(duì)應(yīng)子文件夾中,在進(jìn)行程序設(shè)計(jì)前,首先需要明確以下三個(gè)協(xié)議層:PHY層和MAC層:即物理層和媒體訪問(wèn)控制層。該協(xié)議層由IEEE802.15.4標(biāo)準(zhǔn)定義。NWK層:用于組建Zigbee網(wǎng)絡(luò),由Zigbee聯(lián)盟標(biāo)準(zhǔn)定義,用于提供建立網(wǎng)絡(luò),維護(hù)網(wǎng)絡(luò)的接口函數(shù),支持四種網(wǎng)絡(luò)拓?fù)浞绞?。APL層:是協(xié)議棧的最頂層,該層用于存放編程人員的代碼,實(shí)現(xiàn)用戶需要的功能。4.2.2操作系統(tǒng)抽象層OSAL是OperatingSystemAbstractLayer的開頭字母縮寫,OSAL模仿操作系統(tǒng)執(zhí)行程序的原理,將所執(zhí)行的任務(wù)根據(jù)優(yōu)先級(jí)分級(jí),單片機(jī)不斷檢測(cè)是否有任務(wù)需要執(zhí)行,然后根據(jù)優(yōu)先級(jí)再進(jìn)行相應(yīng)的程序處理,這種執(zhí)行程序的方式稱為輪詢執(zhí)行方式。與循環(huán)執(zhí)行方式相比,輪循執(zhí)行時(shí)考慮了任務(wù)之間的優(yōu)先級(jí),這使得代碼執(zhí)行效率更高,運(yùn)行更穩(wěn)定。在OSAL下,整個(gè)程序的執(zhí)行流程如圖4-3所示。圖4-3操作系統(tǒng)抽象層運(yùn)行流程圖4.3底層程序設(shè)計(jì)節(jié)點(diǎn)底層程序設(shè)計(jì)主要為了解決智能開關(guān)節(jié)點(diǎn)在初次啟動(dòng)時(shí)的自動(dòng)配對(duì)問(wèn)題,以及利用串口進(jìn)行程序調(diào)試。正確進(jìn)行組網(wǎng)入網(wǎng)和串口配置是解決該問(wèn)題的關(guān)鍵。4.3.1設(shè)備組網(wǎng)入網(wǎng)系統(tǒng)運(yùn)行時(shí),網(wǎng)關(guān)會(huì)發(fā)起建立Zigbee網(wǎng)絡(luò)的流程。第一步是確定一個(gè)信號(hào)穩(wěn)定不受干擾的信道,第二步是配置網(wǎng)絡(luò)參數(shù),包括網(wǎng)絡(luò)號(hào)PANID,以及16位網(wǎng)絡(luò)地址等。這些配置在初始化過(guò)程中就已經(jīng)完成,用戶不需要做過(guò)多配置。在含有多個(gè)Zigbee網(wǎng)絡(luò)的環(huán)境下,網(wǎng)關(guān)要配置一個(gè)不同于現(xiàn)存Zigbee網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào),而節(jié)點(diǎn)設(shè)備要準(zhǔn)確加入該網(wǎng)絡(luò)號(hào)所對(duì)應(yīng)的Zigbee網(wǎng)絡(luò)中。為了實(shí)現(xiàn)這一目的,需要將程序代碼中的-DZDAPP_CONFIG_PAN_ID變量賦為0xFFFF,此時(shí)網(wǎng)關(guān)會(huì)預(yù)先掃描周圍Zigbee網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào),然后分配一個(gè)不同于周邊網(wǎng)絡(luò)號(hào)的PANID,最后再使其他節(jié)點(diǎn)設(shè)備都加入到該網(wǎng)絡(luò)號(hào)所建立的Zigbee網(wǎng)絡(luò)中。按上述方法修改代碼后,當(dāng)設(shè)備進(jìn)行首次啟動(dòng)配對(duì),應(yīng)先將各節(jié)點(diǎn)接近網(wǎng)關(guān),當(dāng)確認(rèn)完畢網(wǎng)絡(luò)號(hào),且存至flash后,表示配對(duì)成功。當(dāng)系統(tǒng)斷電重啟后,所有設(shè)備仍能加入之前設(shè)定好的Zigbee網(wǎng)絡(luò)中。4.3.2串口配置串口是進(jìn)行程序調(diào)試的重要通道,在進(jìn)行程序編寫時(shí),常常將串口作為單節(jié)點(diǎn)調(diào)試時(shí)的調(diào)試工具。串口驅(qū)動(dòng)程序包括三個(gè)步驟:初始化串口、登記任務(wù)號(hào)、調(diào)用串口收發(fā)函數(shù)。對(duì)于初始化串口和登記任務(wù)號(hào),協(xié)議棧中有相關(guān)的初始化函數(shù)供開發(fā)人員調(diào)用和配置,串口配置信息存放在結(jié)構(gòu)體變量uartConfig中:typedefstruct{uint8baudRate;boolflowControl;halUARTBufControl_trx;halUARTBufControl_ttx;......}halUARTCfg_t;uartConfig.baudRate用于配置串口的波特率,在該程序中選擇波特率為115200bit/s。uartConfig.flowControl用于配置流控制,在這里要關(guān)流控制。之后須對(duì)串口管腳RX/TX進(jìn)行分配。最后調(diào)用MT_UartRegisterTaskID(task_id)函數(shù)對(duì)串口事件登記任務(wù)號(hào)。MT_UartProcessZToolData(uint8port,uint8event)函數(shù)用于接收串口端發(fā)來(lái)的數(shù)據(jù)。入口參數(shù)port代表串口號(hào),event表示調(diào)用該函數(shù)的事件。串口數(shù)據(jù)接收流程圖如圖4-4。圖4-4串口數(shù)據(jù)接收流程圖首先程序不斷檢測(cè)串口接收數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù),當(dāng)有數(shù)據(jù)時(shí),程序?qū)⒔邮盏降臄?shù)據(jù)存儲(chǔ)在定義好的一個(gè)數(shù)組中,通過(guò)for語(yǔ)句按字節(jié)賦值給該數(shù)組單元,并記錄接收的字長(zhǎng)。當(dāng)接收到數(shù)據(jù)時(shí),將定義的標(biāo)志位掛起,表示接收到了發(fā)來(lái)的數(shù)據(jù)。當(dāng)flag標(biāo)志位置位后,程序根據(jù)記錄的字長(zhǎng)分配內(nèi)存空間,將接收到的數(shù)據(jù)賦值給分配好的內(nèi)存空間中,該內(nèi)存空間的首地址存放在一個(gè)結(jié)構(gòu)體指針變量pMsg中方便調(diào)用。最后登記任務(wù),將串口接收到數(shù)據(jù)時(shí)間發(fā)往OSAL等待處,并清空指向pMsg的數(shù)據(jù),等待下次繼續(xù)接收數(shù)據(jù)。對(duì)于從串口發(fā)送數(shù)據(jù),須調(diào)用HalUARTWrite(uint8port,uint8*buf,uint16len)函數(shù)。該函數(shù)的入口參數(shù)分別為串口號(hào)、數(shù)據(jù)包內(nèi)容以及數(shù)據(jù)包長(zhǎng)度。4.4應(yīng)用層程序設(shè)計(jì)在本課題的系統(tǒng)設(shè)計(jì)方案中已指出,應(yīng)用層程序設(shè)計(jì)主要包括本地控制、遠(yuǎn)程控制、用戶查詢和斷線自檢。這些基本功能的實(shí)現(xiàn)由協(xié)議棧中分配的幾類基本事件觸發(fā),事件間用switch語(yǔ)句分隔,主要有:AF_INCOMING_MSG_CMD:表示射頻收發(fā)端接收到數(shù)據(jù)。該事件用于執(zhí)行網(wǎng)關(guān)與節(jié)點(diǎn)間的遠(yuǎn)程通信KEY_CHANGE:表示芯片I/O口作為按鍵使用時(shí),鍵值發(fā)生變化。該事件用于執(zhí)行本地的觸摸開關(guān)控制程序。CMD_SERIAL_MSG:該事件表示芯片串口收發(fā)端接收到數(shù)據(jù)。以上三類事件組成了應(yīng)用層程序的基本框架,各功能程序代碼均在該框架下編寫。由于節(jié)點(diǎn)需要時(shí)刻保持與網(wǎng)關(guān)的通信,程序中主要包含了網(wǎng)關(guān)與節(jié)點(diǎn)間的通信協(xié)議的使用,該通信協(xié)議由程序設(shè)計(jì)者修訂。本節(jié)首先將在該框架下介紹智能開關(guān)節(jié)點(diǎn)的通信協(xié)議,并在該協(xié)議的基礎(chǔ)上介紹應(yīng)用層程序的執(zhí)行流程。4.4.1通信協(xié)議設(shè)計(jì)通信協(xié)議是實(shí)現(xiàn)智能開關(guān)基本功能的基礎(chǔ),因此首先需要規(guī)劃好Zigbee數(shù)據(jù)包的格式。Zigbee在通信過(guò)程中主要包括上行消息數(shù)據(jù)包、下行消息數(shù)據(jù)包和心跳數(shù)據(jù)包。上行數(shù)據(jù)包上行數(shù)據(jù)包用于上報(bào)當(dāng)前的開關(guān)狀態(tài)或者開關(guān)子節(jié)點(diǎn)的物理地址。數(shù)據(jù)包是長(zhǎng)度為7字節(jié)的十六進(jìn)制數(shù)組,數(shù)據(jù)包格式如下表所示。表4-1上行數(shù)據(jù)包指令表幀數(shù)1234567幀結(jié)構(gòu)幀頭數(shù)據(jù)長(zhǎng)度設(shè)備短地址設(shè)備短地址命令字可變數(shù)據(jù)校驗(yàn)字?jǐn)?shù)據(jù)0xFB0x010xXX0xXX0xXX0xXX0xXX幀頭為0xFB,代表該數(shù)據(jù)包為上行消息,該上行消息要上傳至網(wǎng)關(guān)。數(shù)據(jù)長(zhǎng)度為可變數(shù)據(jù)的長(zhǎng)度,以字節(jié)計(jì)算,上行數(shù)據(jù)包的可變數(shù)據(jù)為1字節(jié)。設(shè)備短地址用于網(wǎng)關(guān)識(shí)別目前哪一個(gè)節(jié)點(diǎn)設(shè)備正在工作。設(shè)備短地址由網(wǎng)關(guān)分配,在組網(wǎng)時(shí)會(huì)對(duì)每一個(gè)節(jié)點(diǎn)分配一個(gè)短地址。該地址長(zhǎng)度為2字節(jié),從0x00起向后排,高八位在前,低八位在后。命令字表示上行數(shù)據(jù)包的含義。在實(shí)現(xiàn)本地控制任務(wù)時(shí),該位為0x01,其他命令字的含義見表4-2。表4-2上行數(shù)據(jù)包命令字指令表上行數(shù)據(jù)包命令字含義0x01節(jié)點(diǎn)上報(bào)開關(guān)狀態(tài),且此時(shí)是由觸摸開關(guān)發(fā)起的0x02節(jié)點(diǎn)上報(bào)該設(shè)備的物理地址0x03節(jié)點(diǎn)上報(bào)開關(guān)狀態(tài),且此時(shí)是由用戶遠(yuǎn)程發(fā)起的??勺償?shù)據(jù)用于表示開關(guān)信息,當(dāng)為0x01,表示控制開關(guān)K1;0x02時(shí),表示控制開關(guān)K2;當(dāng)為0x03時(shí),表示控制開關(guān)K3。校驗(yàn)字用于檢測(cè)數(shù)據(jù)包的正確性。從最高位起,較高位與較低位進(jìn)行異或運(yùn)算,循環(huán)運(yùn)算至最低位。下行數(shù)據(jù)包下行數(shù)據(jù)包直接由網(wǎng)關(guān)發(fā)送至節(jié)點(diǎn)的,數(shù)據(jù)包是長(zhǎng)度為7字節(jié)的十六進(jìn)制數(shù)組,數(shù)據(jù)包的指令表如圖所示:表4-3下行數(shù)據(jù)包指令表幀數(shù)1234567幀結(jié)構(gòu)幀頭數(shù)據(jù)長(zhǎng)度目的地址目的地址命令字可變數(shù)據(jù)校驗(yàn)字?jǐn)?shù)據(jù)0xFE0x010xFF0xFF0xXX0xXX0xXX幀頭為0xFE,代表該數(shù)據(jù)包為下行消息。目的地址為2個(gè)字節(jié),當(dāng)為0xFFFF時(shí),表示通信方式為廣播方式。命令字表示該下行數(shù)據(jù)包的含義。在實(shí)現(xiàn)遠(yuǎn)程控制任務(wù)時(shí),該位為0x03。其他命令字?jǐn)?shù)據(jù)的含義見下表:表4-4下行數(shù)據(jù)包命令字指令表下行數(shù)據(jù)包命令字含義0x01命令節(jié)點(diǎn)發(fā)送當(dāng)前開關(guān)狀態(tài)。0x02命令節(jié)點(diǎn)發(fā)送其物理地址。0x03命令節(jié)點(diǎn)設(shè)備執(zhí)行開關(guān)動(dòng)作可變數(shù)據(jù)和校驗(yàn)字的數(shù)據(jù)規(guī)則與上行數(shù)據(jù)包一致,以下不再贅述。以控制開關(guān)K1為例,當(dāng)可變數(shù)據(jù)為0x01時(shí),表示控制開關(guān)K1的指令。心跳數(shù)據(jù)包心跳數(shù)據(jù)包用于檢測(cè)子節(jié)點(diǎn)發(fā)送的數(shù)據(jù)是否能由網(wǎng)關(guān)準(zhǔn)確接收到。由于數(shù)據(jù)包內(nèi)容無(wú)實(shí)際含義,為了方便使用,規(guī)定心跳數(shù)據(jù)包長(zhǎng)度為四個(gè)字節(jié),節(jié)點(diǎn)設(shè)備每隔5秒定時(shí)發(fā)送。數(shù)據(jù)包指令表如表4-5所示。表4-5心跳數(shù)據(jù)包指令表幀數(shù)1234數(shù)據(jù)0xFA0x000x010x024.4.2遠(yuǎn)程控制程序設(shè)計(jì)遠(yuǎn)程控制程序?qū)崿F(xiàn)了網(wǎng)關(guān)遠(yuǎn)程發(fā)送指令,命令節(jié)點(diǎn)執(zhí)行相應(yīng)操作的功能。節(jié)點(diǎn)設(shè)備接收到數(shù)據(jù)包后,會(huì)根據(jù)下行數(shù)據(jù)命令字判斷是否需要執(zhí)行開關(guān)操作。若為開關(guān)操作,程序須進(jìn)一步分析可變數(shù)據(jù),確定具體開關(guān)的狀態(tài)。遠(yuǎn)程操作開關(guān)代碼須調(diào)用Operate(uint8Operate)函數(shù)。Operate的入口參數(shù)為下行數(shù)據(jù)包的命令字。#defineON1()st(P0_0=0;P0_1=1;OPEN_R1();)#defineOFF1()st(P0_0=1;P0_1=0;CLOSE_R1();)#definecheck_bit(x,y)(x&(0x01<<y))//檢測(cè)voidOperate(uint8Operate){if(Operate==0x01)//當(dāng)控制開關(guān)1{TOGGLE1();}……}以開關(guān)K1為例,當(dāng)命令字為0x01時(shí),進(jìn)行第一條判斷語(yǔ)句,此時(shí)開關(guān)1的狀態(tài)翻轉(zhuǎn)。當(dāng)操作動(dòng)作執(zhí)行完畢后,節(jié)點(diǎn)設(shè)備會(huì)發(fā)送一個(gè)上行數(shù)據(jù),表示燈的狀態(tài)已經(jīng)切換。該數(shù)據(jù)包格式與操作觸摸開關(guān)時(shí)發(fā)送的上行數(shù)據(jù)格式一致,但其命令字須修改為0x02。4.4.3本地控制程序設(shè)計(jì)本地控制程序?qū)崿F(xiàn)了用戶通過(guò)觸摸開關(guān)在家中控制電氣設(shè)備的通斷。觸摸開關(guān)動(dòng)作后,會(huì)引起CC2530的P1.2、P1.3、P1.5引腳的電平變化,觸發(fā)KEY_CHANGE事件,并執(zhí)行HandleKeys()中的程序。該函數(shù)的入口參數(shù)為相應(yīng)的鍵值,由協(xié)議棧規(guī)定,當(dāng)開關(guān)K1動(dòng)作時(shí),鍵值keys為0x01,當(dāng)開關(guān)K2動(dòng)作時(shí),鍵值keys為0x02,以此類推。#defineHAL_KEY_SW_10x01#definest(x)do{x}while(__LINE__==-1)#defineTOGGLE1()st(if(P2_0){OFF3();}else{ON3();})voidHandleKeys(bytekeys){if(keys&HAL_KEY_SW_1)//當(dāng)控制開關(guān)1{TOGGLE1();SendReport();}……}以開關(guān)K1為例:當(dāng)開關(guān)K1動(dòng)作時(shí),鍵值keys為0x01,條件判斷語(yǔ)句為真,執(zhí)行if語(yǔ)句下的亮滅燈指令和上報(bào)開關(guān)狀態(tài)命令。TOGGLEx()函數(shù)用于實(shí)現(xiàn)開關(guān)狀態(tài)的翻轉(zhuǎn),若按下一次觸摸開關(guān),開關(guān)閉合,再按動(dòng)一次,開關(guān)斷開。4.4.4用戶查詢與通信檢查程序設(shè)計(jì)用戶查詢程序?qū)崿F(xiàn)了用戶通過(guò)手機(jī)監(jiān)測(cè)家中的開關(guān)狀態(tài),其通信過(guò)程與節(jié)點(diǎn)設(shè)備的遠(yuǎn)程控制通信過(guò)程類似,僅需將命令字配置為命令節(jié)點(diǎn)設(shè)備發(fā)送當(dāng)前開關(guān)狀態(tài)即可。由協(xié)議表知,此時(shí)下行數(shù)據(jù)包命令字為0x01。通信檢查程序用于當(dāng)通信異常時(shí),網(wǎng)關(guān)能發(fā)現(xiàn)異常情況,并將信息上報(bào)至網(wǎng)關(guān)。程序內(nèi)部設(shè)計(jì)了節(jié)點(diǎn)設(shè)備每隔5秒向網(wǎng)關(guān)發(fā)送4字節(jié)的心跳包數(shù)據(jù),當(dāng)網(wǎng)關(guān)在10秒內(nèi)未收到該數(shù)據(jù),會(huì)通過(guò)廣播通信發(fā)送下行數(shù)據(jù)包,讀取所有節(jié)點(diǎn)設(shè)備的物理地址,便能綜合分析出到底哪個(gè)節(jié)點(diǎn)設(shè)備出現(xiàn)斷線狀況。

5.調(diào)試與分析在完成電路組裝和程序編寫后,還需要對(duì)智能開關(guān)系統(tǒng)進(jìn)行調(diào)試。由于系統(tǒng)聯(lián)調(diào)需要互聯(lián)網(wǎng)協(xié)議與Zigbee協(xié)議的相互配合,在實(shí)際調(diào)試時(shí)為了首先驗(yàn)證節(jié)點(diǎn)工作是否正常,可先對(duì)智能開關(guān)節(jié)點(diǎn)進(jìn)行調(diào)試。5.1調(diào)試方案為了實(shí)現(xiàn)原先網(wǎng)關(guān)的功能,在單節(jié)點(diǎn)調(diào)試時(shí)需要額外增加一個(gè)Zigbee設(shè)備作為模擬網(wǎng)關(guān),通過(guò)模擬網(wǎng)關(guān)可以建立Zigbee網(wǎng)絡(luò)并發(fā)送操作指令數(shù)據(jù)包供節(jié)點(diǎn)設(shè)備接收。模擬網(wǎng)關(guān)向節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包可通過(guò)電腦端的串口調(diào)試助手發(fā)送。為方便觀察實(shí)驗(yàn)現(xiàn)象,在用電設(shè)備端選用額定電壓為220V交流電、功率為3W的LED射燈;為簡(jiǎn)明介紹調(diào)試方法,本章將指定其中一路開關(guān)K1進(jìn)行測(cè)試。調(diào)試實(shí)物如圖5-1所示。圖5-1系統(tǒng)調(diào)試實(shí)物在調(diào)試期間需要測(cè)試如下任務(wù)是否執(zhí)行正常:網(wǎng)絡(luò)連接調(diào)試。系統(tǒng)上電后,測(cè)試節(jié)點(diǎn)與網(wǎng)關(guān)之間能否進(jìn)行正常通信。網(wǎng)絡(luò)自檢調(diào)試。對(duì)節(jié)點(diǎn)進(jìn)行斷電處理,測(cè)試網(wǎng)關(guān)處是否有連接失敗提醒。本地控制調(diào)試。進(jìn)行開關(guān)操作后,對(duì)應(yīng)的射燈是否會(huì)有亮滅變化,且能上報(bào)其狀態(tài)。遠(yuǎn)程控制調(diào)試。模擬網(wǎng)關(guān)發(fā)送數(shù)據(jù)包后,開關(guān)節(jié)點(diǎn)能否正常接收數(shù)據(jù),并執(zhí)行相應(yīng)的操作其中任務(wù)1與任務(wù)2屬于系統(tǒng)底層調(diào)試,任務(wù)3與任務(wù)4屬于系統(tǒng)應(yīng)用層調(diào)試,在本章將分節(jié)介紹。5.2底層調(diào)試首先需要測(cè)試節(jié)點(diǎn)與網(wǎng)關(guān)之間的通信是否已經(jīng)建立。在串口調(diào)試助手的文本框內(nèi)輸入數(shù)據(jù)包:0xFE,0x01,0xFF,0xFF,0x02,0x00。點(diǎn)擊發(fā)送按鈕可將該數(shù)據(jù)包進(jìn)行廣播發(fā)送,此時(shí)網(wǎng)關(guān)可收到節(jié)點(diǎn)發(fā)來(lái)的MAC地址數(shù)據(jù)包,該數(shù)據(jù)包的后八個(gè)字節(jié)為64位物理地址,如圖5-2所示。在調(diào)試過(guò)程中有出現(xiàn)過(guò)節(jié)點(diǎn)無(wú)法上報(bào)物理地址的問(wèn)題,經(jīng)檢查,網(wǎng)關(guān)已經(jīng)正常發(fā)送數(shù)據(jù)包,但節(jié)點(diǎn)無(wú)任何響應(yīng)。最后發(fā)現(xiàn)在測(cè)試環(huán)境下有其他的Zigbee網(wǎng)絡(luò)存在,節(jié)點(diǎn)在運(yùn)行后加入了其他網(wǎng)絡(luò),造成通信錯(cuò)誤。解決方案為先將需要入網(wǎng)的Zigbee設(shè)備聚集在一起,關(guān)閉其他Zigbee網(wǎng)絡(luò),待網(wǎng)絡(luò)建立后,將網(wǎng)絡(luò)號(hào)存入CC2530的非易失變量存儲(chǔ)單元中,這樣下次再次啟動(dòng)時(shí),節(jié)點(diǎn)便可加入事先設(shè)定好的網(wǎng)絡(luò)中。圖5-2節(jié)點(diǎn)設(shè)備MAC地址讀取截圖之后進(jìn)行系統(tǒng)的斷線自檢功能測(cè)試。當(dāng)線路正常時(shí),每隔5秒,串口助手會(huì)接收到心跳數(shù)據(jù)包。若將節(jié)點(diǎn)做斷電處理,每隔10秒,串口助手會(huì)接收到斷電設(shè)備的MAC地址,實(shí)驗(yàn)現(xiàn)象與組網(wǎng)調(diào)試現(xiàn)象類似,會(huì)接收到一串物理地址。由此可知,當(dāng)手機(jī)軟件接收到這一信息,會(huì)對(duì)用戶進(jìn)行掉線提醒,提示用戶進(jìn)行設(shè)備重連操作。5.3應(yīng)用層調(diào)試在底層調(diào)試通過(guò)的基礎(chǔ)上,還需對(duì)本地控制、遠(yuǎn)程控制進(jìn)行調(diào)試。首先測(cè)試觸摸開關(guān)的控制功能:在LED射燈熄滅時(shí),觸摸開關(guān)的背光顏色為綠色或藍(lán)色。當(dāng)用戶手指觸摸感應(yīng)區(qū)域,相應(yīng)LED燈點(diǎn)亮,觸摸板背光燈變紅,再次操作LED燈熄滅,觸摸區(qū)域背光燈恢復(fù)藍(lán)色,在控制過(guò)程中三路開關(guān)之間無(wú)影響,調(diào)試現(xiàn)象如圖5-3所示。之后通過(guò)串口調(diào)試助手發(fā)送數(shù)據(jù)包控制LED的狀態(tài):由通信協(xié)議知,為使第一盞射燈亮起,發(fā)送數(shù)據(jù)0xFE,0x01,0xFF,0x03,0x01,此時(shí)原本熄滅的LED燈被點(diǎn)亮,且觸摸開關(guān)的背光燈也進(jìn)行相應(yīng)的變化。經(jīng)過(guò)多次操作,以及長(zhǎng)期供電測(cè)試,該智能開關(guān)系統(tǒng)的靜態(tài)功耗≤0.3W,且未發(fā)現(xiàn)有工作異常情況。

圖5-3系統(tǒng)基本功能調(diào)試截圖6.總結(jié)與展望6.1總結(jié)本文從智能家居系統(tǒng)中的開關(guān)節(jié)點(diǎn)出發(fā),提出了一種兼具本地控制與遠(yuǎn)程控制功能的智能開關(guān)節(jié)點(diǎn)設(shè)計(jì)方案。該節(jié)點(diǎn)設(shè)備與網(wǎng)關(guān)采用Zigbee通信方式;節(jié)點(diǎn)的硬件電路以CC2530單片機(jī)為控制核心,外設(shè)電路包括電容式觸摸檢測(cè)電路和繼電器控制電路;節(jié)點(diǎn)的程序架構(gòu)依托Z-stack協(xié)議棧,經(jīng)過(guò)后期編寫代碼和不斷調(diào)試,最終實(shí)現(xiàn)了既定的課題設(shè)計(jì)目標(biāo)。在課題研究過(guò)程中,完成的工作主要有:在分析了Zigbee通信與WIFI通信的優(yōu)劣后,提出了手機(jī)與服務(wù)器使用互聯(lián)網(wǎng)通信、網(wǎng)關(guān)與節(jié)點(diǎn)使用Zigbee通信的系統(tǒng)通信策略。結(jié)合國(guó)內(nèi)外智能家居的發(fā)展方向,在參考了市場(chǎng)上眾多智能家居產(chǎn)品的解決方案后,制定了該課題的總體設(shè)計(jì)方案。通過(guò)梳理程序設(shè)計(jì)框架Z-stack協(xié)議棧,在程序設(shè)計(jì)中引入了操作系統(tǒng)OSAL。從代碼執(zhí)行效率和安全性兩個(gè)角度考慮,對(duì)網(wǎng)關(guān)與節(jié)點(diǎn)間的通信協(xié)議進(jìn)行規(guī)劃。經(jīng)過(guò)反復(fù)修改,該通信協(xié)議實(shí)現(xiàn)了本地控制、遠(yuǎn)程控制、上報(bào)開關(guān)狀態(tài)、上報(bào)連接失敗消息的功能。從功能和人性化兩個(gè)角度考慮,對(duì)硬件電路進(jìn)行改善。除了使用體驗(yàn)感良好的電容式觸摸開關(guān)外,還增添了彩色背光提示燈。在技術(shù)層面上,智能開關(guān)節(jié)點(diǎn)與其他智能家居中的功能性節(jié)點(diǎn)有許多相似之處。例如,智能開關(guān)節(jié)點(diǎn)的設(shè)計(jì)方案可應(yīng)用于智能插座節(jié)點(diǎn)。在硬件設(shè)計(jì)方面,由原先的三路開關(guān)設(shè)備改為一路,原先智能開關(guān)的負(fù)載端將由用電設(shè)備換為標(biāo)準(zhǔn)電器插口。若負(fù)載功率較大,要注意選取額定功率更大的繼電器;在軟件設(shè)計(jì)方面,智能開關(guān)與智能插座的基本功能完全一致,若增添其他附加功能,也可方便添加代碼。6.2展望本文設(shè)計(jì)的智能開關(guān)系統(tǒng)要能真正應(yīng)用到家庭當(dāng)中,還有很多需要改進(jìn)的地方。從其功耗、功能和成本的角度考慮,該課題設(shè)計(jì)的智能開關(guān)節(jié)點(diǎn)的不足之處還包括:目前網(wǎng)絡(luò)中的所有Zigbee設(shè)備從運(yùn)行開始時(shí)就一直處于額定功率工作狀態(tài),通過(guò)后期系統(tǒng)優(yōu)化可以嘗試加入低功耗工作方式,使開關(guān)在絕大多數(shù)不工作的情況下保持休眠狀態(tài),進(jìn)一步降低能耗。需要進(jìn)一步提升智能家具設(shè)備的安全性。可以為開關(guān)增加過(guò)溫保護(hù),當(dāng)環(huán)境溫度過(guò)高時(shí),可自動(dòng)切斷電源;可以加入檢測(cè)用電設(shè)備的功率功能,一方面可以更加直觀地檢測(cè)家庭用電情況,另一方面可以在設(shè)備過(guò)載時(shí)進(jìn)行警告提醒。設(shè)計(jì)方案應(yīng)以提升智能開關(guān)系統(tǒng)的易操作性為宗旨,本文提出的方案雖然在聯(lián)網(wǎng)方面十分便利,但當(dāng)開關(guān)節(jié)點(diǎn)過(guò)多時(shí),須對(duì)程序進(jìn)行一些修改,兼容性較差。在后期優(yōu)化時(shí)可添加行人性化的程序配置界面,方便用戶個(gè)性化配置,或設(shè)計(jì)一套完善的自動(dòng)配置算法,這樣既能降低維護(hù)成本,也能使普通居民更容易接受該產(chǎn)品。設(shè)備的供電環(huán)節(jié)需要進(jìn)行重新設(shè)計(jì)。該設(shè)備在實(shí)際安裝過(guò)程中,由于需要零線火線供電,不能直接替換傳統(tǒng)開關(guān)。若融合單火線給電方案,不僅可以直接替換原有開關(guān),而且在實(shí)際裝修過(guò)程中會(huì)簡(jiǎn)化電氣線路鋪設(shè)復(fù)雜度,優(yōu)勢(shì)明顯?;赯igbee技術(shù)的智能家居系統(tǒng)要能實(shí)用,網(wǎng)絡(luò)安全是必須要解決的問(wèn)題。對(duì)于智能家居系統(tǒng)來(lái)說(shuō),網(wǎng)絡(luò)安全的重點(diǎn)在于數(shù)據(jù)的完整性以及防止外部入侵,應(yīng)該針對(duì)這兩方面采取有效措施。參考文獻(xiàn)網(wǎng)蜂.Zigbee實(shí)戰(zhàn)演練,2009.向忠宏.智能家居.人民郵電出版社,2002顧牧君,智能家居設(shè)計(jì)與施工,同濟(jì)大學(xué)出版社,2004康華光.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.無(wú)線龍.Zigbee無(wú)線網(wǎng)絡(luò)原理.冶金工業(yè)出版社.2011.Z-StackUser'sGuide-CC2530DB.TexasInstruments,2012.KennethA.Reek.C與指針[M].北京:人民郵電出版社.2008.青木英彥.模擬電路設(shè)計(jì)與制作[M].北京:科學(xué)出版社.2005.湯山俊夫.\o"本書是"數(shù)字電路設(shè)計(jì)與制作[M].北京:科學(xué)出版社.2005.AndrewKoenig.C陷阱與缺陷[M].北京:人民郵電出版社.2008.金海紅.基于Zigbee的無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)[J].2006,期號(hào)(1O):SmartEnergySampleApplicationUser'sGuide.TexasInstruments,2011.ZigbeeAlliance,ZigbeeSpecification1.0[OL].http://www.Z,2008.金純,羅祖秋.Zigbee技術(shù)基礎(chǔ)及案例分析[M].國(guó)防工業(yè)出版社,2008.李揚(yáng).Wi-Fi技術(shù)原理及應(yīng)用研究[J].科技信息,2010,期號(hào)(6):128-130.張麗君.無(wú)線網(wǎng)絡(luò)技術(shù)——藍(lán)牙[J].光電技術(shù)應(yīng)用,2003,期號(hào)(5):22-35.周洪,胡文山,張立明,盧亦焱.智能家居控制系統(tǒng).中國(guó)電力出版社2006閆富松.趙軍輝.Zigbee技術(shù)及其應(yīng)用[J].無(wú)線電技術(shù)與信息.2006,期號(hào)(7):翟雷.劉盛德.Zigbee技術(shù)及應(yīng)用[M].北京航空航天大學(xué)出版社,2007,9-15.丁飛,張西良.基于Zigbee的無(wú)線通信技術(shù)及其應(yīng)用[J].江蘇通信技術(shù).2006.福銘.無(wú)線傳感器網(wǎng)絡(luò)集成技術(shù)研究與開發(fā)[D].上海交通大學(xué)出版社,2007.鄭州電力高等??茖W(xué)校電子信息系張剛教授不同廠家Zigbee芯片對(duì)比,2009.MarkAllenWeiss.數(shù)據(jù)結(jié)構(gòu)與算法分析C語(yǔ)言描述[M].北京:機(jī)械工業(yè)出版社.2004.

附錄附錄一系統(tǒng)原理圖和PCB單片機(jī)最小系統(tǒng)電路和繼電器控制電路PCB觸摸檢測(cè)電路PCB附錄二系統(tǒng)實(shí)物圖網(wǎng)關(guān)運(yùn)行演示圖2.射燈、觸摸開關(guān)運(yùn)行演示圖附錄三系統(tǒng)核心代碼1.應(yīng)用層初始化函數(shù)voidInit(bytetask_id){TaskID=task_id;NwkState=DEV_INIT;TransID=0;GPIO_init();DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;DstAddr.endPoint=ENDPOINT;DstAddr.addr.shortAddr=0xFFFF;PTP_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;PTP_DstAddr.endPoint=ENDPOINT;PTP_DstAddr.addr.shortAddr=0x0000;epDesc.endPoint=ENDPOINT;epDesc.task_id=&TaskID;epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&SimpleDesc;epDesc.latencyReq=noLatencyReqs;afRegister(&epDesc);RegisterForKeys(TaskID);ZDO_RegisterForZDOMsg(TaskID,End_Device_Bind_rsp);ZDO_RegisterForZDOMsg(TaskID,Match_Desc_rsp);}2.應(yīng)用層事件處理函數(shù)UINT16ProcessEvent(bytetask_id,UINT16events){afIncomingMSGPacket_t*MSGpkt;afDataConfirm_t*afDataConfirm;bytesentEP;ZStatus_tsentStatus;bytesentTransID;//Thisshouldmatchthevaluesent(void)task_id;//Intentionallyunreferencedparameterif(events&SYS_EVENT_MSG){MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(TaskID);while(MSGpkt){switch(MSGpkt->hdr.event){caseZDO_CB_MSG:ProcessZDOMsgs((zdoIncomingMsg_t*)MSGpkt);break;caseKEY_CHANGE:HandleKeys(((keyChange_t*)MSGpkt)->state,((keyChange_t*)MSGpkt)->keys);break;caseAF_DATA_CONFIRM_CMD:afDataConfirm=(afDataConfirm_t*)MSGpkt;sentEP=afDataConfirm->endpoint;sentStatus=afDataConfirm->hdr.status;sentTransID=afDataConfirm->transID;(void)sentEP;(void)sentTransID;break;caseAF_INCOMING_MSG_CMD:MessageMSGCB(MSGpkt);break;caseZDO_STATE_CHANGE:NwkState=(devStates_t)(MSGpkt->hdr.status);if(NwkState==DEV_ROUTER){GetMyDevice();SendTheMessage();}break;default:break;}osal_msg_deallocate((uint8*)MSGpkt);MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(TaskID);}return(events^SYS_EVENT_MSG);}if(events&SEND_MSG_EVT){SendTheMessage();return(events^SEND_MSG_EVT);}return0;}3.節(jié)點(diǎn)接收通信數(shù)據(jù)包函數(shù)voidMessageMSGCB(afIncomingMSGPacket_t*pkt){uint8buf[30];uint16shortaddress;shortaddress=pkt->srcAddr.addr.shortAddr;switch(pkt->clusterId){caseCLUSTERID:osal_memcpy(buf,pkt->cmd.Data,pkt->cmd.DataLength);shortaddress=buf[3]*256+buf[2];//消息節(jié)點(diǎn)地址,源地址switch(buf[0]){case0xFE://下行消息,節(jié)點(diǎn)接受處理{switch(buf[4]){case0x00://心跳包SendHeart();break;case0x01://節(jié)點(diǎn)數(shù)據(jù)SendReport();break;case0x02://節(jié)點(diǎn)IEEE地址SendMAC();break;case0x03://節(jié)點(diǎn)寫入數(shù)據(jù)Operate(buf[5]);//各節(jié)點(diǎn)應(yīng)不同SendOperate();break;case0xFF:SendTheMessage();break;}break;}}4.節(jié)點(diǎn)發(fā)送通信數(shù)據(jù)包函數(shù)voidSendTheMessage(void){uint8i;uint8MSG[17]={0xFB,12,MyDevice.NWK[0],MyDevice.NWK[1],0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,MyDevice.type,MyDevice.num,GetState(),0x00};for(i=0;i<8;i++)MSG[i+5]=MyDevice.MAC[i];MSG[16]=XORCheck(MSG);if(MyDevice.NWK[0]!=255&&MyDevice.NWK[1]!=255){if(AF_DataRequest(&PTP_DstAddr,&epDesc,CLUSTERID,17,MSG,&TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS)}} 3基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論