基于zigbee智能家居系統(tǒng)設(shè)計(jì)_第1頁
基于zigbee智能家居系統(tǒng)設(shè)計(jì)_第2頁
基于zigbee智能家居系統(tǒng)設(shè)計(jì)_第3頁
基于zigbee智能家居系統(tǒng)設(shè)計(jì)_第4頁
基于zigbee智能家居系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

學(xué)號(hào):2009082204密級:哈爾濱工程大學(xué)本科生畢業(yè)論文基于ZigBee的智能家居系統(tǒng)的設(shè)計(jì)院(系名稱:信息與通信工程專業(yè)名稱:通信工程學(xué)生姓名:溫建生指導(dǎo)教師:侯長波講師哈爾濱工程大學(xué)2013年6月基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)溫建生哈爾濱工程大學(xué)學(xué)號(hào):2009082204密級:基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)DesignofSmartHomeSystemBasedonZigBeeTechnology學(xué)生姓名:溫建生所在學(xué)院:信息與通信工程學(xué)院所在專業(yè):通信工程指導(dǎo)教師:侯長波職稱:講師所在單位:哈爾濱工程大學(xué)論文提交日期:2013年6月17日論文答辯日期:2013年6月22日學(xué)位授予單位:哈爾濱工程大學(xué)基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)摘要隨著社會(huì)的不斷發(fā)展,人們的生活節(jié)奏漸漸加快,而人們的生活壓力也越來越大,這時(shí)候就需要一個(gè)方便和舒適的家居環(huán)境來緩解人們的壓力,智能家居應(yīng)運(yùn)而生。然而現(xiàn)在的智能家居的各個(gè)產(chǎn)品之間沒有同一的標(biāo)準(zhǔn)和接口,而且技術(shù)不是十分的成熟,同時(shí)還受到成本的約束,使得智能家居并沒有得到普遍的應(yīng)用。那么真正智能家居是一個(gè)簡潔、低成本、易擴(kuò)展和高效率的系統(tǒng),只有這樣的系統(tǒng)才有利于智能家居的推廣和應(yīng)用。本文首先介紹了智能家居的發(fā)展背景以及發(fā)展智能家居的意義,然后對智能家居中ZigBee技術(shù)的重要概念做了介紹,主要介紹了ZigBee協(xié)議棧的運(yùn)行流程,從而對ZigBee技術(shù)有了初步了解,這為進(jìn)一步開發(fā)智能家居系統(tǒng)奠定一些基礎(chǔ)。然后介紹了智能家居系統(tǒng)的硬件設(shè)計(jì),對硬件設(shè)計(jì)的各個(gè)方案進(jìn)行論證,然后從中選取比較合適的硬件方案,明確了所采用的硬件電路,同時(shí)對電路的原理進(jìn)行相關(guān)的研究與論證。在智能家居整體電路設(shè)計(jì)思路明確后,接下來對系統(tǒng)的軟件進(jìn)行構(gòu)架與設(shè)計(jì)?;赯igBee各個(gè)節(jié)點(diǎn)數(shù)據(jù)傳輸方式,引入了綁定機(jī)制和協(xié)調(diào)器的廣播機(jī)制,實(shí)現(xiàn)了系統(tǒng)的聯(lián)調(diào)。課題以實(shí)現(xiàn)溫濕度傳感、煙霧報(bào)警、紅外檢測和燈控制為目的,介紹了如何添加上述的任務(wù)事件,最終實(shí)現(xiàn)了根據(jù)不同的事件來處理事件中的任務(wù)。系統(tǒng)測試表面,本系統(tǒng)實(shí)現(xiàn)了智能家居的基本功能,具有良好的可擴(kuò)展性,達(dá)到了系統(tǒng)的預(yù)期目標(biāo)。關(guān)鍵字:ZigBee;智能家居;協(xié)議棧哈爾濱工程大學(xué)本科畢業(yè)論文ABSTRACTWiththesocietycontinuouslydeveloping,peopleareundergreaterpressure.Homeautomationarisesatthehistoricmomentwhenacomfortableandconvenienthomeenvironmentisrequiredtorelievepeople’spressure.However,nounifiedstandardandinterfaceamongalltheproductsofpresenthomeautomation,immaturetechnologyandcostconstrainmakehomeautomationunabletobeappliedgenerally.Thus,itisofgreatsignificancefortheapplicationanddevelopmentofhomeautomationtodesignahomeautomationsystemthatissimple,highly-effective,low-costandofgoodextensibility.Firstly,thispaperintroducedthebackgroundandsignificanceofdevelopinghomeautomation.Secondly,itmadeanintroductiontoimportantconceptsinZigBeetechniqueandtheoperationprocessofZigBeeprotocolstacksothatZigBeetechniquewasgrosslyunderstood,whichlaidfoundationsforthefurtherdevelopmentofhomeautomationsystem.Thirdly,thisarticleintroducedthehardwaredesignofhomeautomationsystemandtooktheargumentonallschemesforhardwaredesign,fromwhichsomesuitableoneswerechosen.Thismadetheadoptedhardwarecircuitexplicit,layingafoundationforthesoftwaredesignandthehardwarefunctiontesting.Withtheoverallcircuitdesignofhomeautomationdefined,thispaperworkedontheframeworkofsystemsoftware.BasedonthedatatransfermodeofeveryZigBeenode,thebindingmechanismandthebroadcastmechanismofthecoordinatorwerepulledin,realizingthesystemjointdebugging.Aimingatrealizingtemperaturehumiditysensor,smokealarm,infraredtestingandlightcontrolling,thispaperintroducedthemethodsofaddingthetaskstuffabove,whicheventuallyaccomplishedthetaskondealingwithproblemsbydifferentsituations.Itisprovedintheexperimentthatthissystemhasachievedthebasicfunctionsofhomeautomationandithasgoodextensibility,reachingtheexpectedaimofthesystem.Keywords:ZigBee;Homeautomation;protocolstack基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)目錄摘要.....................................................................................................................................IABSTRACT...............................................................................................................................II第1章緒論..(11.1智能家居發(fā)展意義(11.2ZigBee發(fā)展背景(11.3課題預(yù)期目標(biāo)(21.4本文的內(nèi)容及意義(2第2章ZigBee技術(shù)介紹與網(wǎng)絡(luò)分析(42.1ZigBee技術(shù)簡介(42.2ZigBee協(xié)議體系結(jié)構(gòu)(62.3ZigBee協(xié)議棧分析(82.4本章小結(jié)(9第3章系統(tǒng)硬件電路設(shè)計(jì)(103.1硬件的方案論證(103.2節(jié)點(diǎn)整體電路設(shè)計(jì)(123.3主控芯片模塊(123.4紅外檢測模塊(14哈爾濱工程大學(xué)本科畢業(yè)論文3.5煙霧報(bào)警模塊(173.6溫濕度采集模塊(193.7本章小結(jié)(20第4章軟件設(shè)計(jì)(214.1軟件設(shè)計(jì)總體思路(214.2Z-Stack軟件構(gòu)架(224.3任務(wù)與事件(244.4設(shè)備信息的配置(254.5建網(wǎng)與入網(wǎng)(264.6數(shù)據(jù)發(fā)送與接收(284.7人機(jī)交互(294.8SHT11溫濕度傳感器程序(314.9本章小結(jié)(33基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)第5章硬件功能測試(345.1溫濕度模塊測試(345.2煙霧報(bào)警模塊測試(355.3紅外檢測模塊測試(365.4本章小結(jié)(38結(jié)論(39參考文獻(xiàn)(40致謝(42第1章緒論第1章緒論1.1智能家居發(fā)展意義上個(gè)世紀(jì)比爾蓋茨為實(shí)現(xiàn)他的智能家居豪宅夢,耗資5.3億美元鋪設(shè)了84公里的電纜。而如今已經(jīng)不需要耗費(fèi)那么多的人力和物力,它已經(jīng)成為未來人們生活的一種普遍方式,只需要一個(gè)無線遙控器,就可以控制家中的任何電器和設(shè)備,通過通信技術(shù)的不斷進(jìn)步與革命,實(shí)現(xiàn)了人們的智能家居夢,不管你身在何方,都可以對家里進(jìn)行實(shí)時(shí)的監(jiān)控和管理。在很早以前人們就有智能家居這個(gè)想法,但是由于受到條件的限制,一直未付諸于實(shí)踐。在1984年美國的一家公司才建設(shè)出世界首棟智能建筑,從此智能家居的發(fā)展進(jìn)入新篇章,智能家居的概念也受到越來越多人的認(rèn)可。ZigBee技術(shù)經(jīng)過多年的發(fā)展,按照智能家居的性能要求,可以把智能家居定義為計(jì)算機(jī)、網(wǎng)絡(luò)和綜合布線技術(shù),通過家庭信息控制中心將與家居中的各個(gè)設(shè)備有機(jī)地組合在一起。詳細(xì)的說,家居中有一個(gè)設(shè)備能夠建立通訊網(wǎng)絡(luò),為家居設(shè)備的數(shù)據(jù)傳輸提供通訊路徑,在家庭信息控制中心的控制下,通過相應(yīng)的硬件進(jìn)行相關(guān)的操作,從而實(shí)現(xiàn)對家庭環(huán)境的監(jiān)控。它們還需要一個(gè)網(wǎng)絡(luò)平臺(tái),通過這個(gè)平臺(tái)可以與外界溝通,從而實(shí)現(xiàn)了遠(yuǎn)程控制、監(jiān)測和交換信息的需求。隨著社會(huì)生活方式、家庭生活方式和技術(shù)的不斷創(chuàng)新以及人們對生活質(zhì)量的要求不斷提高,從而使得人們對智能家居的需求不斷增加,人們不僅要求滿足其基本的生活需求,而且對智能家居提出了更高端要求,比如在系統(tǒng)的可擴(kuò)展性、智能服務(wù)方面。傳統(tǒng)的智能家居系統(tǒng)遠(yuǎn)遠(yuǎn)不能滿足人們的需求,不管從裝修難度、工程成本方便考慮,都難以達(dá)到人們的要求,因此傳統(tǒng)的智能家居系統(tǒng)有很大的缺陷,這種缺陷直接影響了智能家居的發(fā)展。而如果采用ZigBee無線組網(wǎng)技術(shù),就能大大提高系統(tǒng)的性價(jià)比。1.2ZigBee發(fā)展背景隨著社會(huì)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,使得人們的生活方式發(fā)生巨大的變化,其中智能家居得到越來越多人的關(guān)注。在企業(yè)和公司的生產(chǎn)生活中,有很多的現(xiàn)象和參數(shù)需要實(shí)時(shí)管理和監(jiān)督,從而實(shí)現(xiàn)遠(yuǎn)程操控的目的。就目前可以應(yīng)用于市場上的遠(yuǎn)程監(jiān)控系統(tǒng)有兩種類型,一種對被監(jiān)控對象直接采集數(shù)據(jù),然后發(fā)送給遠(yuǎn)程的計(jì)算機(jī)進(jìn)行處理,但是現(xiàn)場沒有遠(yuǎn)程監(jiān)控系統(tǒng);哈爾濱工程大學(xué)本科畢業(yè)論文還有一種就是可以同時(shí)進(jìn)行現(xiàn)場監(jiān)控和遠(yuǎn)程監(jiān)控?,F(xiàn)在都采用總線技術(shù)將各個(gè)節(jié)點(diǎn)和設(shè)備連接在一起,從而使各個(gè)分立的單元變成一個(gè)整體,然后將現(xiàn)場的各個(gè)節(jié)點(diǎn)設(shè)備通過局域網(wǎng)連接在一起,這樣便實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控。由以上分析可知,兩種系統(tǒng)的數(shù)據(jù)傳輸都是在監(jiān)控設(shè)備和被監(jiān)控設(shè)備之間傳輸?shù)摹6诂F(xiàn)實(shí)生產(chǎn)生活中,總線技術(shù)很容易受到硬件設(shè)備的制約,所以已經(jīng)不能滿足企業(yè)生產(chǎn)的需求。所以人們就漸漸采用無線技術(shù)進(jìn)行遠(yuǎn)程監(jiān)控。ZigBee在短距離、低速和低功耗組網(wǎng)環(huán)境中應(yīng)用具有巨大的優(yōu)勢,它根據(jù)自己定制的標(biāo)準(zhǔn),就可以實(shí)現(xiàn)數(shù)千個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。這些節(jié)點(diǎn)的功非常低,同時(shí)它們是以接力的方式將數(shù)據(jù)傳輸出去,所以大大提高了系統(tǒng)的通信效率。目前智能家居在很多領(lǐng)域都得到應(yīng)用,其中主要包括:(1家庭智能網(wǎng)絡(luò):防盜系統(tǒng)、燈自動(dòng)控制、溫濕度測量、空調(diào)自動(dòng)控制系統(tǒng)、太陽能智能節(jié)能系統(tǒng)等等;(2工業(yè)智能控制網(wǎng)絡(luò):設(shè)備遠(yuǎn)程控制、數(shù)據(jù)遠(yuǎn)程發(fā)送、自動(dòng)化設(shè)備控制等等;(3商業(yè):智慧型標(biāo)簽等;(4公共安全:火災(zāi)預(yù)警、煤氣泄漏報(bào)警;(5現(xiàn)代農(nóng)業(yè):采集土壤數(shù)據(jù)和天氣預(yù)報(bào)信息;(6醫(yī)療:緊急呼叫器、醫(yī)療報(bào)警器等等。1.3課題預(yù)期目標(biāo)對ZigBee相關(guān)原理進(jìn)一步的了解,按照課題的具體要求,進(jìn)行相關(guān)的方案論證,然后在此基礎(chǔ)上,完成電路PCB的設(shè)計(jì)、應(yīng)用程序的編程,最終完成整個(gè)系統(tǒng)的設(shè)計(jì)。在以上的工作基礎(chǔ)上,完成畢業(yè)論文設(shè)計(jì)。具體的指標(biāo)如下:1、設(shè)計(jì)出智能家居系統(tǒng),完成電路PCB板制作;2、完成溫度檢測電路、煤氣檢測電路,煙霧檢測電路、人體紅外檢測電路,燈控制電路等檢測控制模塊。1.4本文的內(nèi)容及意義第一章介紹了Zigbee發(fā)展背景,發(fā)展智能家居的意義及課題的預(yù)期目標(biāo)。第二章介紹了ZigBee技術(shù)與網(wǎng)絡(luò)結(jié)構(gòu),了解了與ZigBee技術(shù)有關(guān)的重要定義和意義。第三章主要介紹了系統(tǒng)的硬件設(shè)計(jì)原理及其說明,這是實(shí)現(xiàn)系統(tǒng)功能的基礎(chǔ),明確系統(tǒng)功能測試的指標(biāo)。第四章介紹了系統(tǒng)的軟件設(shè)計(jì),這是系統(tǒng)最核心部分。在原有的硬件基礎(chǔ)上,實(shí)現(xiàn)第1章緒論系統(tǒng)的智能化是軟件設(shè)計(jì)的工作,軟件使系統(tǒng)的智能實(shí)現(xiàn)變?yōu)榭赡?。第五章主要介紹系統(tǒng)硬件功能測試,經(jīng)過前面幾章的工作,使系統(tǒng)的硬件功能與軟件功能相結(jié)合。通過測試來驗(yàn)證系統(tǒng)是否滿足課題指標(biāo)。哈爾濱工程大學(xué)本科畢業(yè)論文第2章ZigBee技術(shù)介紹與網(wǎng)絡(luò)分析2.1ZigBee技術(shù)簡介ZigBee在這幾年發(fā)展的比較快,是因?yàn)樗诤芏喾矫婢哂芯薮蟮膬?yōu)勢。與其他的無線傳輸模塊相比較,ZigBee具有自身的技術(shù)優(yōu)勢:(1低功耗。我們可以在低功耗模式下,用普通的干電池給1個(gè)節(jié)點(diǎn)供電工作6~24個(gè)月,甚至更長。這與其他無線通信相比是巨大的優(yōu)勢。我們都知道藍(lán)牙只能工作數(shù)周,WiFi也只有幾個(gè)小時(shí)。(2低成本。跟其他的協(xié)議相比,ZigBee的協(xié)議量就精簡了很多,這就大大降低了對硬件的要求,以普通的8051內(nèi)核就可以進(jìn)行操作,為了推到ZigBee的發(fā)展,ZigBee聯(lián)盟將ZigBee完全免費(fèi),所以相比于其他協(xié)議的軟硬件投入,ZigBee有非常大的優(yōu)勢。(3短時(shí)延。它還有一個(gè)特點(diǎn)就是響應(yīng)快,設(shè)備只需要15ms就可以從睡眠狀態(tài)過度到工作狀態(tài),設(shè)備加入網(wǎng)絡(luò)也只需要30ms。而藍(lán)牙完成這些動(dòng)作至少3s、WiFi也是要3s。(4高容量。ZigBee的網(wǎng)絡(luò)結(jié)構(gòu)一般有星狀、網(wǎng)狀和簇狀,父節(jié)點(diǎn)可以控制多個(gè)子節(jié)點(diǎn),而父節(jié)點(diǎn)最多可以管理250個(gè)子節(jié)點(diǎn);不僅如此,父節(jié)點(diǎn)還可以被控制,所以最多的時(shí)候可以構(gòu)建一個(gè)65000個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)。(5高安全。ZigBee網(wǎng)絡(luò)有三種安全模式,主要有無任何安全設(shè)置、接入控制清單以及高級加密模式(AES128,這樣可以靈活采用何種安全模式。ZigBee與其他幾種短距離無線通信比較如表2.1所示第2章ZigBee技術(shù)介紹與網(wǎng)絡(luò)分析表2.1ZigBee與其他短距離通信的比較參數(shù)ZigBeeWiFi藍(lán)牙HomeRF覆蓋范圍調(diào)制技術(shù)功耗復(fù)雜性最大傳輸速率使用頻段網(wǎng)絡(luò)節(jié)點(diǎn)網(wǎng)絡(luò)性使用成本安裝使用難易100mBPSK,OQPSK低簡單250kbps868/915Mhz/2.4Ghz65000128BitAES低非常簡單50mQPSK高非常復(fù)雜11Mbps2.4Ghz50SSID高難10mGFSK高復(fù)雜1Mbps2.4Ghz8128Bit密匙中等一般50mFSK中等復(fù)雜2Mbps2.4Ghz127Blowfish中等一般通過比較可以看出ZigBee在短距離通信中有巨大的優(yōu)勢,無論從覆蓋范圍,還是到安裝使用難易??梢哉f在智能家居領(lǐng)域內(nèi)ZigBee具有統(tǒng)治地位,它是最適合智能家居的環(huán)境。目前面已經(jīng)有越來越多的企業(yè)與公司參與ZigBee的發(fā)展與推廣。在ZigBee網(wǎng)絡(luò)中,以通信能力來劃分設(shè)備,主要有兩種,一種就是精簡功能設(shè)備(RFD,另一種就是全功能設(shè)備(FFD。這兩種設(shè)備之間是可以互相通信的,但是RFD不能與同類型的設(shè)備進(jìn)行數(shù)據(jù)傳輸,但是它可以與FFD進(jìn)行數(shù)據(jù)傳輸。精簡功能設(shè)備就是可以簡單控制器件,然后進(jìn)行簡單的操作,所以它所占用的網(wǎng)絡(luò)資源是非常少的。但是全功能器件需要負(fù)責(zé)建立網(wǎng)絡(luò),對網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)進(jìn)行操作,所以它需要功能比較復(fù)雜的MCU。根據(jù)設(shè)備的功能不同,可以將其劃分為協(xié)調(diào)器、PAN協(xié)調(diào)器和一般設(shè)備,PAN協(xié)調(diào)器就是一個(gè)全功能設(shè)備,它是一個(gè)網(wǎng)絡(luò)的核心,一個(gè)網(wǎng)絡(luò)中只有一個(gè)PAN協(xié)調(diào)器設(shè)備。在ZigBee家族中,我們把PAN協(xié)調(diào)器稱之為網(wǎng)絡(luò)協(xié)調(diào)器,把協(xié)調(diào)器稱之為網(wǎng)絡(luò)路由器,把一般設(shè)備稱之為網(wǎng)絡(luò)終端設(shè)備。網(wǎng)絡(luò)協(xié)調(diào)器就是負(fù)責(zé)建立起網(wǎng)絡(luò)和配置相關(guān)設(shè)備,一旦完成這些任務(wù),它就可以功成身退了,這是由于ZigBee網(wǎng)絡(luò)本身分布屬性決定的,這時(shí)候整個(gè)網(wǎng)絡(luò)是否存在是不依賴于網(wǎng)絡(luò)協(xié)調(diào)器的。ZigBee網(wǎng)絡(luò)路由器是負(fù)責(zé)允許其他網(wǎng)絡(luò)設(shè)備加入,并且負(fù)責(zé)報(bào)文的轉(zhuǎn)發(fā)、查找以及修復(fù)。哈爾濱工程大學(xué)本科畢業(yè)論文ZigBee網(wǎng)絡(luò)終端設(shè)備負(fù)責(zé)加入或退出網(wǎng)絡(luò)、同時(shí)還起到報(bào)文接收和發(fā)送的作用。根據(jù)組網(wǎng)的不同形式,可以將劃分為星型、網(wǎng)狀和簇狀,具體結(jié)構(gòu)如圖2.1所示。圖2.1網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)2.2ZigBee協(xié)議體系結(jié)構(gòu)經(jīng)過前面的介紹,已經(jīng)知道協(xié)調(diào)器在整個(gè)網(wǎng)絡(luò)中負(fù)責(zé)建立起網(wǎng)絡(luò),同時(shí)它還要為新加入網(wǎng)絡(luò)的設(shè)備分配一個(gè)短地址,在同一個(gè)網(wǎng)絡(luò)中需要根據(jù)短地址來識(shí)別不同節(jié)點(diǎn)。網(wǎng)絡(luò)層還要負(fù)責(zé)維護(hù)MAC能否正常運(yùn)行,同時(shí)還需要為應(yīng)用層提供服務(wù)接口。在網(wǎng)絡(luò)層中定義了兩個(gè)函數(shù)實(shí)體來實(shí)現(xiàn)網(wǎng)絡(luò)層通信,其中一個(gè)函數(shù)實(shí)體定義為數(shù)據(jù)服務(wù)實(shí)體第2章ZigBee技術(shù)介紹與網(wǎng)絡(luò)分析(NLDE,另外一個(gè)是管理服務(wù)實(shí)體(NLME,網(wǎng)絡(luò)層參考模型如圖2.2。NLDE的作用就是允許處于同一個(gè)網(wǎng)絡(luò)中的設(shè)備能夠傳輸應(yīng)用協(xié)議數(shù)據(jù)單元(APDU,同時(shí)它還能夠生成網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(NPUD和選擇通信路由。網(wǎng)絡(luò)中的一個(gè)設(shè)備要把NPDU發(fā)送給其他設(shè)備,這個(gè)設(shè)備可能是終點(diǎn),或是鏈路中的一個(gè)節(jié)點(diǎn)。NLME的作用就是為應(yīng)用層與協(xié)議棧進(jìn)行通信提供一個(gè)管理服務(wù),具體內(nèi)容如下。1.設(shè)置一個(gè)新加入的設(shè)備。具體內(nèi)容就是:ZigBee協(xié)調(diào)器啟動(dòng),讓一個(gè)新設(shè)備加入當(dāng)前環(huán)境中的網(wǎng)絡(luò)等。2.建立起義個(gè)網(wǎng)絡(luò),就是協(xié)調(diào)器要有建立網(wǎng)絡(luò)的功能。3.加入或退出網(wǎng)絡(luò)的功能,不過是協(xié)調(diào)器或是路由器,都要有這樣的功能。4.尋址,協(xié)調(diào)器需要給新加入的設(shè)備配備端短地址的能力5.鄰近設(shè)備發(fā)現(xiàn),能夠查找、記憶并通知在一跳范圍內(nèi)設(shè)備的能力。6.路由發(fā)現(xiàn),具有查找和記憶路徑的能力,并有效發(fā)送信息。7.接收控制,能夠使控制器處于激活狀態(tài)并且持續(xù)時(shí)間。圖2.2網(wǎng)絡(luò)層參考模型網(wǎng)絡(luò)層的NLDE通過數(shù)據(jù)服務(wù)實(shí)體服務(wù)訪問點(diǎn)(NLDE_SAP來提供數(shù)據(jù)傳輸服務(wù),NLME通過管理服務(wù)實(shí)體服務(wù)訪問點(diǎn)(NLME_SAP來提供管理服務(wù)的[1]。哈爾濱工程大學(xué)本科畢業(yè)論文應(yīng)用層包括應(yīng)用支持子層、ZigBee設(shè)備配置層和用戶應(yīng)用程序,應(yīng)用層所能實(shí)現(xiàn)的功能主要由用戶自己定義,同時(shí)還能對協(xié)議棧進(jìn)行相關(guān)管理。通過子層APS可以使NWK層和APL層通信,同時(shí)也可以提供設(shè)備對象到應(yīng)用商提供的服務(wù)集體,通過兩個(gè)實(shí)體提供這些服務(wù):應(yīng)用支持子層實(shí)體服務(wù)(APSDE和應(yīng)用支持子層管理實(shí)體(APSME。APSDE為網(wǎng)絡(luò)中的設(shè)備提供數(shù)據(jù)傳輸服務(wù),而APSME是為發(fā)現(xiàn)設(shè)備,同時(shí)提供綁定服務(wù)和綁定對象的相關(guān)訊息,就就APS的信息庫。參考模型如圖2.3所示。圖2.3應(yīng)用支持子層參考模型2.3ZigBee協(xié)議棧分析從TI官方網(wǎng)站下載最新的ZigBee協(xié)議棧,ZigBee2007協(xié)議棧是課題所采用的協(xié)議棧,在安裝目錄下可以看到Components、Documents、Projects。Documents文件夾主要介紹整個(gè)協(xié)議棧進(jìn)行說明,里面有22個(gè)PDF文件,從協(xié)議棧的底層到高層都介紹了。Components文件夾是ZigBee協(xié)議棧功能實(shí)現(xiàn)的核心,包括了hal、mac、mt、osal、service、stack和zmao,將底層到高層的功能全部實(shí)現(xiàn)。Projects是TI公司提供的幾個(gè)演示項(xiàng)目,包括HomeAutomation、Libraries、Samples、Tools、Utilities和ZMain。第2章ZigBee技術(shù)介紹與網(wǎng)絡(luò)分析Z-Stack采用功能模塊化的方法,將不同模塊功能寫在不同一個(gè)文件夾下,也就是實(shí)現(xiàn)功能的模塊化,每一層都向上一層提供服務(wù)和接口。它還實(shí)現(xiàn)了管理和負(fù)責(zé)模塊,部分功能直接以庫的形式出現(xiàn),所以在應(yīng)用的時(shí)候只能調(diào)用,具體操作就不能查詢。利用這樣的模式,可以大大降低工程師的工作量,也減少了很多不必要的工作量,加快了開發(fā)進(jìn)度。程序構(gòu)架內(nèi)容如圖2.4所示。圖2.4Z-Stack結(jié)構(gòu)2.4本章小結(jié)本章主要介紹了ZigBee的相關(guān)概念,同時(shí)分析了ZigBee在短距離無線通信中比其通信方式有很大的優(yōu)勢,ZigBee在智能家居系統(tǒng)中有得天獨(dú)厚的優(yōu)勢。介紹了ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),主要有網(wǎng)型、星型和簇型。然后介紹了ZigBee的協(xié)議構(gòu)架,主要講解了網(wǎng)絡(luò)層和應(yīng)用層的相關(guān)知識(shí),明白了這兩個(gè)層在系統(tǒng)中的重要作用。最后介紹了Z-Stack的結(jié)構(gòu),這個(gè)結(jié)構(gòu)將功能模塊化,大大降低了工程師的工作量。哈爾濱工程大學(xué)本科畢業(yè)論文第3章系統(tǒng)硬件電路設(shè)計(jì)3.1硬件的方案論證方案三:采用TI公司的CC2530,它采用標(biāo)準(zhǔn)的8051處理器。CC2530采用也接領(lǐng)先的RF收發(fā)器、增加的工業(yè)標(biāo)準(zhǔn)8051內(nèi)核。在系統(tǒng)可編程FLASH存儲(chǔ)器,8KB_RAM和許多其他強(qiáng)大的功能。在系統(tǒng)的功耗有限的情況下,采用CC2530非常適合,CC2530在設(shè)計(jì)時(shí)不斷縮短不同模式間的轉(zhuǎn)換時(shí)間保證它的低功耗。8051微處理器技術(shù)已經(jīng)非常成熟,國內(nèi)外的專家學(xué)者也非常熟悉其構(gòu)架,對于大部分的程序員來說,寫一個(gè)8051微處理器內(nèi)核的程序肯定是駕輕就熟,對于了解8051內(nèi)核的大學(xué)生,也可以很快掌握ZigBee編程技巧。所以對于沒有任何開發(fā)無線組網(wǎng)技術(shù)經(jīng)驗(yàn)的工程師來說,選擇一個(gè)自己可以駕輕就熟的微處理器是非常重要的,如果不選擇一個(gè)自己熟悉的微處理器,要應(yīng)付復(fù)雜的協(xié)議棧、復(fù)雜的硬件環(huán)境以及不熟悉的指令環(huán)境是非常困難的。而且CC2530的微處理器可以與2.4GHz的ZigBee無線網(wǎng)絡(luò)兼容,高頻無線通信不會(huì)受到內(nèi)核的影響所以綜上所述,本系統(tǒng)選擇方案三,因?yàn)椴捎肨I公司的CC2530非常適合智能家居系統(tǒng)的要求,可以大大降低工程師的工作量和成本。第3章系統(tǒng)硬件電路設(shè)計(jì)方案一:采用DS18B20單線數(shù)字溫度傳感芯片。它的特點(diǎn)就是一個(gè)端口就可以將數(shù)據(jù)傳給單片機(jī),所以從某種程度簡化了電路的硬件設(shè)計(jì),但是它同時(shí)也給我們在編程時(shí)帶來麻煩,較小的硬件開銷會(huì)給程序設(shè)計(jì)帶來負(fù)擔(dān),DS18B20采用串行方式方式發(fā)送數(shù)據(jù),所以在程序設(shè)計(jì)時(shí)必須嚴(yán)格保證時(shí)序的正確,否則無法正確讀取溫度。DS18B20芯片的分辨率是可以設(shè)置的,可以將它設(shè)置為9~12位,它的轉(zhuǎn)換時(shí)間也是隨著分辨率的位數(shù)變化,變化范圍在93.75~759ms之間。方案二:采用CC2530內(nèi)部的溫度傳感器,CC2530的ADC的分辨率是14位,但是有效的數(shù)字位最多是12位,最低也有7位。這就是CC2530神奇的地方,很少有控制芯片中嵌入溫度傳感器,但是它做到了。在他已有的8位模擬通道中,再加入兩位用于溫度傳感和電池電壓測量。如果單從硬件設(shè)計(jì)方面考慮,顯而,CC2530比DS18B20更加方便,這樣在一定程度上減少了我們的硬件的工作量。但是我們要意思到它是CC2530的片內(nèi)傳感器,所以在精確度上要大打折扣,我們不能認(rèn)為它測出的溫度就是環(huán)境的溫度,它只能大概估計(jì)出當(dāng)前的溫度,所以在工程項(xiàng)目中是很難利用這樣的傳感器進(jìn)行測量的。方案三:采用SHT11溫濕度傳感器,該芯片采用I2C總線接口的方式進(jìn)行溫濕度采集傳感,我們只需要將它的VCC和GND接上,同時(shí)還要接上SCLK和DATA端口,就可以進(jìn)行傳輸數(shù)據(jù)。因?yàn)樗捎梅浅L貏e的CMOSENSTM技術(shù),同時(shí)我們可以利用它免調(diào)試、免標(biāo)定,還有一點(diǎn)就是免外圍電路的特點(diǎn),大大減少我們硬件電路的設(shè)計(jì)。由于它有露點(diǎn)計(jì)算輸出功能,所以可以大大提升數(shù)據(jù)的精確度。硬件的簡單,必然給我們在設(shè)計(jì)程序上帶來工作量,但是由于該款芯片目前使用和應(yīng)用都比較成熟,所以在一定程度上減少了很多的工作量。綜上所述,本系統(tǒng)采用方案三。采用MQ-2煙霧傳感器,它一種特殊的半導(dǎo)體材料。這種材料可以與氧氣發(fā)生反應(yīng),然后材料的電子密度減少,從而使材料的電阻值增加。當(dāng)與煙霧氣體接觸時(shí)就會(huì)降低其電阻值,我們就是利用這一點(diǎn)來檢測空氣中的煙霧氣體的存在。MQ-2煙霧傳感器對天然氣等可燃性氣體有高的敏感度和靈敏度。MQ-2煙霧傳感器具有很高的穩(wěn)定性,除了在極端的環(huán)境下,它都能正常工作。特別重要的一點(diǎn)是它的響應(yīng)時(shí)間非常短只有稍微有點(diǎn)危險(xiǎn)氣體,它都能馬上檢查出來,它也是響應(yīng)恢復(fù)非??臁M瑫r(shí)它具有很強(qiáng)的抗干擾能力,能準(zhǔn)確區(qū)分一些氣體,如酒精和煙霧。MQ-2煙霧傳感器的驅(qū)動(dòng)電路也非常簡單,哈爾濱工程大學(xué)本科畢業(yè)論文而且MQ-2煙霧傳感器的驅(qū)動(dòng)電路已經(jīng)非常成熟,所以在調(diào)試上帶來很大的方便。所以在這個(gè)系統(tǒng)中就采用這個(gè)方案。采用D203S紅外傳感器,該傳感器對人體的熱釋電紅外線十分敏感,它采用溫度變化來感知紅外線的輻射,用雙靈敏源互補(bǔ)的方法來修正誤差,大大提高芯片工作時(shí)的穩(wěn)定性。只有滿足D203S的工作環(huán)境,它就可以檢測出人的運(yùn)動(dòng),這一點(diǎn)對于家居環(huán)境是很好滿足的。D203S工作電壓在3V到15V直接,驅(qū)動(dòng)電路簡單,所以在很多場合中都被應(yīng)用。所以在這個(gè)系統(tǒng)中就采用這個(gè)方案。3.2節(jié)點(diǎn)整體電路設(shè)計(jì)在實(shí)際的應(yīng)用中,為了能讓各個(gè)節(jié)點(diǎn)完成信號(hào)的采集和發(fā)送,無線傳感節(jié)點(diǎn)一般都包括:傳感器、信號(hào)處理電路、AD轉(zhuǎn)換、MCU、人機(jī)交互模塊和電源。在考慮到終點(diǎn)節(jié)點(diǎn)的工作環(huán)境和條件,我們必須采用電池供電。所以在電路設(shè)計(jì)過程中低功耗是決定ZigBee智能家居成功與否的關(guān)鍵,硬件電路要采用集成度高、低功耗的器件。例如:采用低功耗單片機(jī)、CMOS運(yùn)放等。首先傳感器將采集的數(shù)據(jù)給信號(hào)處理電路處理,然后信號(hào)處理電路將數(shù)據(jù)經(jīng)過AD轉(zhuǎn)換,最終微處理器將數(shù)據(jù)通過射頻模塊發(fā)送出去。如圖3.1是典型的無線傳感結(jié)構(gòu)。圖3.1無線傳感典型結(jié)構(gòu)3.3主控芯片模塊提供了MCU與無線設(shè)備之間的接口,通過這項(xiàng)功能我們可以進(jìn)行讀取單片機(jī)當(dāng)前的狀態(tài),然后根據(jù)當(dāng)前狀態(tài)發(fā)送命令。CC2530提了18個(gè)中斷源,在這18個(gè)中斷源中分成了六個(gè)中斷組,在這六個(gè)中斷組還有跟四個(gè)優(yōu)先級相關(guān)。從CC2530的構(gòu)造圖中可以看出,它內(nèi)部含有四個(gè)訪問的節(jié)點(diǎn),而且每一個(gè)訪問節(jié)點(diǎn)可以映射到三個(gè)不同的物理存儲(chǔ)器,這三個(gè)存儲(chǔ)器分別是XREG/SFR寄存器、8_KBRAM和閃存存儲(chǔ)器。下圖就是CC2530內(nèi)部的不同構(gòu)造。圖3.2就是其內(nèi)部構(gòu)造。圖3.2CC2530模塊構(gòu)造根據(jù)芯片資料的要求設(shè)計(jì)出如下射頻電路,對于單片機(jī)電路來說,除了常用的IO外,就是電路的晶振電路和復(fù)位電路,CC2530采用雙晶振源,它們分別是32.768KHz和32KHz晶振,我們可以通過設(shè)置CC2530的時(shí)鐘控制寄存器來設(shè)置電路的時(shí)鐘振蕩器。芯片的RESET端口低電平有效,所以在RESET端接一個(gè)觸動(dòng)開關(guān)就可以實(shí)現(xiàn)復(fù)位功能。在射頻電路中,天線起著至關(guān)重要的作用,天線和匹配電路的設(shè)計(jì)對信號(hào)的傳輸尤為重圖3.4D203結(jié)構(gòu)圖LM324的管腳分布如3.5圖所示,LM324內(nèi)部含有四個(gè)運(yùn)算放大器,這四個(gè)運(yùn)算放大器具有很高的增益,它不僅適用于單電源供電,而且也適用于雙電源工作模式。引腳說明如下:管腳1、7、8、14:這四個(gè)管腳是運(yùn)算放大器的輸出端。管腳2、6、9、13:這四個(gè)管腳是運(yùn)算放大器的負(fù)輸入端。管腳3、5、10、12:這四個(gè)管腳是運(yùn)算放大器的正輸入端。管腳4、11:分別是LM324的電源正極和負(fù)極。圖3.5LM324管腳圖紅外傳感器D203S的電路設(shè)計(jì)如圖3.9所示,當(dāng)傳感器檢測到人進(jìn)入時(shí),它的輸出端電壓會(huì)有微弱的變化。紅外檢測傳感器的輸出端從LM324的2管腳輸入,具體設(shè)置參數(shù)如圖3.6所示。根據(jù)運(yùn)算放大器虛短虛斷原理,可以得出反向輸入比例放大器輸入U(xiǎn)in與輸出電壓Uout關(guān)系如下公式:Uout=(R8/R6×Uin+Uin所以可以通過設(shè)置R6與R8的參數(shù)來設(shè)置電路的放大倍數(shù),在這里R6為47K、R8為1M,所以可以計(jì)算出的第一級運(yùn)算放大器的放大倍數(shù)為23倍。圖3.6第一級運(yùn)算放大電路當(dāng)電路信號(hào)通過第一級放大電路時(shí)放大了23倍,由于該電路輸入信號(hào)強(qiáng)度微弱,所以信號(hào)還要經(jīng)過二級放大。如圖3.7。同樣根據(jù)運(yùn)算放大器虛短虛短的原理,得出反向比例放大器的輸入U(xiǎn)in與輸出Uout關(guān)系如下公式:Uout=(R11/R5×(U--Uin+U-只要通過改變R5和R11的值,就可以改變電路的放大倍數(shù),在這里R5為15K、R11為2.7M。根據(jù)運(yùn)算放大器的特點(diǎn),得知U-=U+,所以在這里U+的值為2V。所以可以算出第二級的放大倍數(shù)為(370/Uin-184。圖3.7第二級運(yùn)算放大電路紅外傳感器的輸出電壓的變化量是很微小的,經(jīng)過兩級放大后就是一個(gè)2V左右的變化量,然后在輸入圖3.8電路。在這級運(yùn)算放大器就算一個(gè)電壓比較器,當(dāng)A點(diǎn)的電壓低于B或高于C時(shí),輸出電壓為高電平;當(dāng)A點(diǎn)電壓處于B與C之間時(shí),輸出為電平,電路的功能就實(shí)現(xiàn)了。圖3.8電壓比較器10KR2100U/16VC3C20.1GNDGNDD15.1V10KR3220U/16VC4GNDC60.1GND15KR5150KR4p5哈爾濱工程大學(xué)本科畢業(yè)論文圖3.10煙霧傳感器的管腳圖傳感器電路的原理及說明來分析一下它的工作原理。電路上電后,煙霧傳感器3到5分鐘就可以進(jìn)行工作。在傳感器檢測到可燃性氣體或第3章系統(tǒng)硬件電路設(shè)計(jì)圖3.12煙霧報(bào)警器電路3.6溫濕度采集模塊溫濕度采集模塊采用的是瑞士Sensirion公司生產(chǎn)的SHT11,SHT11的管腳如圖3.13所示。管腳說明如下:管腳1:它是芯片的接地端。管腳2:傳感器的數(shù)據(jù)線,在數(shù)據(jù)端要接一個(gè)上拉電阻。管腳3:這個(gè)管腳是傳感器的時(shí)鐘端,在設(shè)計(jì)程序時(shí)序時(shí),要嚴(yán)格按照要求。管腳4:傳感器的VCC端,其工作電壓范圍在2.4V~5.5V之間。圖3.13SHT11管腳分布圖哈爾濱工程大學(xué)本科畢業(yè)論文SHT11與單片機(jī)連接如圖3.14所示,從圖中可以看出傳感器與單片機(jī)的IO口有兩個(gè)接口,其中有個(gè)是數(shù)據(jù)線,它們之間有個(gè)上拉電阻,上拉電阻使其數(shù)據(jù)線在高電平時(shí)足夠高。圖3.14SHT11與單片機(jī)的接口電路3.7本章小結(jié)本章主要介紹了智能家居系統(tǒng)的硬件設(shè)計(jì)思路和方案論證,分別介紹了硬件電路設(shè)計(jì)整體思路、主控電路的設(shè)計(jì)及說明、煙霧報(bào)警電路的設(shè)計(jì)及原理、紅外檢測電路的原理及設(shè)計(jì)和溫濕度傳感器的原理及設(shè)計(jì)。通過這章的介紹,對整個(gè)硬件電路有了更深刻的認(rèn)識(shí),對于接下來的工作打下堅(jiān)實(shí)的基礎(chǔ),特別是對硬件電路的測試有很大的幫助。第4章軟件設(shè)計(jì)第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)總體思路圖4.1系統(tǒng)應(yīng)用層功能圖哈爾濱工程大學(xué)本科畢業(yè)論文4.2Z-Stack軟件構(gòu)架Z-Stack必須在系統(tǒng)的硬件和軟件都初始化完成后才能啟動(dòng),操作系統(tǒng)能夠正常運(yùn)行需要分別為初始化系統(tǒng)時(shí)鐘、檢測芯片的工作電壓、初始化堆棧、初始化各個(gè)硬件模塊、初始化FLASH存儲(chǔ)、形成芯片MAC地址、初始化非易失變量、初始化MAC層協(xié)議等工作,具體流程如圖4.2所示。圖4.2系統(tǒng)初始化流程圖經(jīng)過系統(tǒng)初始化后,就可以進(jìn)入OSAL操作系統(tǒng)進(jìn)行相關(guān)模塊的工作,進(jìn)入osal_start_system(函數(shù),這個(gè)函數(shù)將實(shí)際的控制權(quán)轉(zhuǎn)交給操作系統(tǒng)。其實(shí)操作系統(tǒng)的代碼就一行:osal_start_system(;//NoReturnfromhere可以看出這個(gè)函數(shù)沒有返回,這個(gè)函數(shù)是執(zhí)行輪轉(zhuǎn)查詢操作系統(tǒng)的主體部分,它就是不斷進(jìn)行輪轉(zhuǎn)查詢檢測是否有事件發(fā)生,如果發(fā)生了就執(zhí)行相關(guān)的操作。進(jìn)入操作系統(tǒng)后,系統(tǒng)設(shè)置tasksEvents[]數(shù)組,這個(gè)數(shù)組專門存放要處理的事件。它首先通過一個(gè)do_while循環(huán)來遍歷所有事件,那么如果有事件發(fā)生,就去處理當(dāng)前優(yōu)先級最高的事件,接著去處理優(yōu)先級較低的事件。操作系統(tǒng)一般要處理7項(xiàng)任務(wù),具體執(zhí)行過程如圖4.3所示。圖4.3操作系統(tǒng)處理事件流程Z-Stack已經(jīng)編寫了從MAC層到ZigBee層的處理函數(shù),作為開發(fā)工程師,只需要按項(xiàng)目要求對應(yīng)用層件進(jìn)行操作。要處理一個(gè)事件必須添加三個(gè)文件,一個(gè)是主文件,這個(gè)文件主要存放需要處理的事件,另一個(gè)就是要把主文件的頭文件添加到應(yīng)用層處理函數(shù)中,另外就是要提供一個(gè)與操作系統(tǒng)接口的文件(以O(shè)sal開頭。4.3任務(wù)與事件事件就是我們應(yīng)用層中要處理的事情,如下列代碼所示,我們定義了三個(gè)事件,其中MY_START_EVT用于啟動(dòng)設(shè)備協(xié)議棧,使設(shè)備能夠順利加入網(wǎng)絡(luò)或是建立網(wǎng)絡(luò)。MY_REPORT_EVT是用于節(jié)點(diǎn)的信息采集并發(fā)送數(shù)據(jù)和命令,MY_FIND_COLLECTOR_EVT是用于與當(dāng)前的周圍環(huán)境中的設(shè)備進(jìn)行綁定。#defineMY_START_EVT0x0001#defineMY_REPORT_EVT0x0002#defineMY_FIND_COLLECTOR_EVT0x0004那么我們以MY_START_EVT為例,當(dāng)網(wǎng)絡(luò)建立成功后要觸發(fā)事件來更新當(dāng)前的網(wǎng)絡(luò)狀態(tài),因此,在建網(wǎng)回調(diào)函數(shù)zb_StartConfirm(中觸發(fā)該事件。具體代碼如下所示。if(status==ZB_SUCCESS{appState=APP_START;zb_GetDeviceInfo(ZB_INFO_PARENT_SHORT_ADDR,&parentShortAddr;osal_set_event(sapi_TaskID,MY_FIND_COLLECTOR_EVT;}在DemoSensor.c中定義終端節(jié)點(diǎn)的處理函數(shù)如下所示:havepeople(void:用于紅外檢測并發(fā)送當(dāng)前的有人的狀態(tài)。nopeople(void:用于紅外檢測并發(fā)生當(dāng)前沒有人的狀態(tài)。readTemp(void:這個(gè)是SHT11檢測當(dāng)前溫度濕度的程序。sendAlarm(void:這個(gè)函數(shù)是用于檢測當(dāng)前煙霧傳感器的狀態(tài)并發(fā)送警報(bào)狀態(tài)。sendSafe(void:這個(gè)函數(shù)是檢測當(dāng)前煙霧傳感器的狀態(tài)并發(fā)送當(dāng)前安全的狀態(tài)。sendhumi(void:這個(gè)函數(shù)將溫濕度傳感器的濕度發(fā)送給協(xié)調(diào)器。sendtemp(void:它是用于將溫濕度傳感器的溫度發(fā)送給協(xié)調(diào)器。在DemoCollector.c中定義終端節(jié)點(diǎn)的處理函數(shù)如下所示:sendLight1(void:這個(gè)函數(shù)是協(xié)調(diào)器控制終端節(jié)點(diǎn)燈1的函數(shù),使燈的狀態(tài)發(fā)送改變。sendLight2(void:這個(gè)函數(shù)是協(xié)調(diào)器控制終端節(jié)點(diǎn)燈2的函數(shù),使燈的狀態(tài)發(fā)送改變。4.4設(shè)備信息的配置ProfileID是用于區(qū)分不同的設(shè)備,這個(gè)是ZigBee組織規(guī)定的。智能家居系統(tǒng)中ProfileID定義在DemoApp.h中,把他定義為0x0F10。ProfileID是保證協(xié)調(diào)器和各個(gè)節(jié)點(diǎn)在同一網(wǎng)絡(luò)中。設(shè)備定義是用來識(shí)別協(xié)調(diào)器和終端節(jié)點(diǎn)的,通過設(shè)備定義來給設(shè)備設(shè)置成是終端節(jié)點(diǎn)還是協(xié)調(diào)器。智能家居中設(shè)備的定義在DemoApp.h中,具體代碼如下所示。#defineDEV_ID_SENSOR1#defineDEV_ID_COLLECTOR2#defineDEVICE_VERSION_SENSOR1#defineDEVICE_VERSION_COLLECTOR1智能家居系統(tǒng)中,協(xié)調(diào)器不僅僅只是接受各個(gè)節(jié)點(diǎn)傳感器節(jié)點(diǎn)的信息。而且還要控制節(jié)點(diǎn)的設(shè)備,各個(gè)節(jié)點(diǎn)要將自己的狀態(tài)發(fā)送給協(xié)調(diào)器。所以協(xié)調(diào)器必須與每個(gè)設(shè)備的命令是一一對應(yīng)的,這樣可以大大減少程序的復(fù)雜度,給工程師帶來很大的方便。具體命令如下所示。#defineLIGHT_SWITCH10x0005#defineTEMPERATURE0x0007#defineMY_TEMPERATURE_EVT0x0006#defineSMOKE_ALARM0x0008#defineSMOKE_SAFE0x0009#defineHAVE_PEOPLE0x000A#defineNO_PEOPLE0x000B#defineHUMIDITY0x000C#defineLIGHT_SWITCH20x000D經(jīng)過前面的定義,我們需要將配置信息寫入單片機(jī)中,那么端口描述符就起著這么重要的作用,在端口描述符中,我們將設(shè)備的端口號(hào)、ProfileID、設(shè)備ID、設(shè)備版本、輸入命令數(shù)、輸入命令列表、輸入列表地址、輸出命令數(shù)和輸出命令列表地址。然后在sapi.c中的任務(wù)初始化函數(shù)SAPI_Init(中完成對端口描述符注冊。具體代碼如下所示。constSimpleDescriptionFormat_tzb_SimpleDesc={MY_ENDPOINT_ID,MY_PROFILE_ID,DEV_ID_COLLECTOR,DEVICE_VERSION_COLLECTOR,0,NUM_IN_CMD_COLLECTOR,(cId_t*zb_InCmdList,NUM_OUT_CMD_COLLECTOR,(cId_t*zb_OutCmdList};sapi_epDesc.simpleDesc=(SimpleDescriptionFormat_t*&zb_SimpleDesc;afRegister(&sapi_epDesc;4.5建網(wǎng)與入網(wǎng)智能家居中數(shù)據(jù)的無線傳輸是非常重要的,那么如何實(shí)現(xiàn)這樣的功能呢?設(shè)備之間形成一個(gè)能夠互相傳輸數(shù)據(jù)的網(wǎng)絡(luò)是非常重要的。接下來講講如何實(shí)現(xiàn)這樣的功能。具體流程如下:⑴:按下SW1,進(jìn)入KEY_CHANGE,最終在sapi.c中的事件處理函數(shù)SAPI_ProcessEvent,執(zhí)行caseKEY_CHANGE:zb_HandleKeys(((keyChange_t*pMsg->state,((keyChange_t*pMsg->keys;break;⑵:進(jìn)入DemoCollector.c中的zb_HandleKeys函數(shù),從NV中讀出當(dāng)前設(shè)備的邏輯類型,并將其邏輯類型改寫成為ZG_DEVICETYPE_COORDINATOR。⑶:設(shè)備復(fù)位后重新啟動(dòng),在SAPI_Init的最后設(shè)置事件ZB_ENTRY_EVENT,再進(jìn)入事件處理函數(shù)SAPI_ProcessEVENT事件,執(zhí)行zb_StartRequest(。這個(gè)函數(shù)就是負(fù)責(zé)啟動(dòng)設(shè)備并建立網(wǎng)絡(luò)。⑷:設(shè)備啟動(dòng)完成后,產(chǎn)生事件ZDO_STATE_CHANCE,進(jìn)入事件處理函數(shù)SAPI_ProcessEvent。⑸:進(jìn)入回調(diào)函數(shù)zb_StartConfirm,如果設(shè)備成功啟動(dòng),修改當(dāng)前的狀態(tài)我為APP_START,如果沒有成功,通過函數(shù)osal_start_timerEx(sapi_TaskID,MY_START_EVT,myStartRetryDelay;這個(gè)函數(shù)的意思就是每myStartRetryDelay毫秒觸發(fā)一次MY_START_EVT事件。具體的流程圖如圖4.4所示。圖4.4協(xié)調(diào)器建網(wǎng)過程智能家居中終端節(jié)點(diǎn)的建網(wǎng)過程與協(xié)調(diào)器相似,只不過當(dāng)設(shè)備上電后會(huì)主動(dòng)搜索并加入網(wǎng)絡(luò),因此并不需要像協(xié)調(diào)器中有zb_HandleKeys中的HAL_KEY_SW1和HAL_KEY_SW2的處理,直接在ZB_ENTRY_EVENT事件中加入執(zhí)行zb_StartRequest(。4.6數(shù)據(jù)發(fā)送與接收在發(fā)送數(shù)據(jù)之前先定義好數(shù)據(jù)的格式,終端節(jié)點(diǎn)與協(xié)調(diào)器之間的通信主要包括節(jié)點(diǎn)設(shè)備的狀態(tài)和傳感節(jié)點(diǎn)狀態(tài)。具體代碼如下所示。typedefstruct{uint16source;uint16parent;uint8temp;uint8voltage;uint8Humidity;}gtwData_t;在定義完數(shù)控格式后,就是采集節(jié)點(diǎn)的數(shù)據(jù),然后向目的設(shè)備發(fā)送數(shù)據(jù)。那么就以采集溫度為例,首先要啟動(dòng)SHT11溫濕度傳感器,那么時(shí)候就會(huì)能到當(dāng)前環(huán)境的溫度,這時(shí)候可以定一個(gè)結(jié)構(gòu)變量pData,將溫度值賦值給temp。然后調(diào)zb_SendDataRequest(0xFFFE,SENSOR_REPORT_CMD_ID,SENSOR_REPORT_LENGTH,pData,0,txOptions,0;如果數(shù)據(jù)接收端可以接收到數(shù)據(jù),那么在zb_ReceiveDataIndication函數(shù)中可以對接收來的數(shù)據(jù)進(jìn)行判定,具體判定代碼如下。switch(gtwData.temp{caseTEMPERATURE:HalLcdWriteStringValue("temperature",gtwData.temp,10,HAL_LCD_LINE_3;break;caseHUMIDITY:HalLcdWriteStringValue("humidity",gtwData.temp,10,HAL_LCD_LINE_4;break;default:break;}數(shù)據(jù)的發(fā)送與接收具體流程如圖4.5所示。圖4.5數(shù)據(jù)的發(fā)送與接收4.7人機(jī)交互在整個(gè)智能家居系統(tǒng)中,LED顯示有很重要的作用,終端節(jié)點(diǎn)和協(xié)調(diào)器都需要用LED顯示各個(gè)設(shè)備的狀態(tài)。首先對各個(gè)LED進(jìn)行初始化,在這里我們定義初始化函數(shù)為HalLedInit(。再設(shè)置LED的開關(guān)函數(shù),定義為HalLedOnOff(函數(shù)。節(jié)點(diǎn)狀態(tài)發(fā)生變化,有警報(bào)信號(hào)時(shí),通過LED閃爍來通知用戶,在這里用HalLedBlink函數(shù)來提醒用戶。TI的Z-Stack提供了LCD接口函數(shù),LCD給用戶提供最直觀的信息,因?yàn)椴皇撬腥硕寄芸吹亩甃ED狀態(tài)的含義,但是肯定知道LCD顯示的含義。首先還是要初始化液晶,對液晶的端口進(jìn)行設(shè)置。然后通過HalLcdWriteString(char*str,uint8option這個(gè)函數(shù)設(shè)置哪一行顯示字符串,還需要一個(gè)函數(shù)對傳感器采集的數(shù)字顯示出來,通過voidHalLcdWriteStringValue(char*title,uint16value,uint8format,uint8line這個(gè)函數(shù)顯示,其中title是要顯示的標(biāo)題,value就是要顯示的數(shù)值,format就是要顯示數(shù)值的格式,line就是顯示的行數(shù)。在ZigBee開發(fā)板上,我們總共利用了兩個(gè)按鍵和一個(gè)搖桿。搖桿是利用不同方向產(chǎn)生不同的電壓,通過AD采樣值的大小來判定其方向。對按鍵的處理有兩種方式:中斷方式和查詢方式。按鍵一般都是用來產(chǎn)生中斷的,而搖桿都是用定時(shí)查詢、AD采用來判斷鍵值的。接下來介紹如何對按鍵進(jìn)行操作的。1、對電路板上的按鍵進(jìn)行設(shè)置。2、不管是查詢方式還是中斷方式都要對按鍵進(jìn)行初始化,首先在ZMain.c中對板初始化InitBoard(,然后進(jìn)入函數(shù),配置按鍵的回調(diào)函數(shù)HalKeyConfig,然后在HalKeyConfig函數(shù)中對按鍵是采取哪種方式進(jìn)行選擇。如果采用中斷方式,我們就要敢比定時(shí)器,采用查詢方式就開啟。3、在接收到按鍵中斷后,要對按鍵中斷進(jìn)行處理。按鍵的處理流程如圖4.6所示。首先在硬件抽象層進(jìn)行任務(wù)處理。不管是中斷方式還是查詢方式,都需要經(jīng)過這個(gè)層進(jìn)行處理,一般就是調(diào)用HalKeyPoll函數(shù)進(jìn)行鍵值確認(rèn)。在確認(rèn)完后,需要回調(diào)函數(shù)對事件進(jìn)行包裝,然后再將信號(hào)發(fā)送到應(yīng)用層。應(yīng)用層都到信號(hào)后就對按鍵事件進(jìn)行處理。圖4.6按鍵處理流程12bit-40.0405-2.8×10-6第4章軟件設(shè)計(jì)哈爾濱工程大學(xué)本科畢業(yè)論文第5章硬件功能測試經(jīng)過前面幾章的設(shè)計(jì)后,基于ZigBee智能家居系統(tǒng)已經(jīng)構(gòu)成。那么在這個(gè)章節(jié),主要對系統(tǒng)的硬件功能進(jìn)行測試,檢測是否達(dá)到課題的要求。5.1溫濕度模塊測試表5.1DS18B20與SHT11比較(℃SHT11DS18B2027313231252527302828272427.331.832.931.225.326.127.130.229.128.727.824.6第5章硬件功能測試圖5.1終端溫濕度顯示圖5.2協(xié)調(diào)器溫濕度顯示5.2煙霧報(bào)警模塊測試接下來對煙霧報(bào)警器進(jìn)行測試,根據(jù)MQ-2煙霧傳感器相關(guān)資料得知,它的預(yù)熱時(shí)間不少于48小時(shí),在這里只是做簡單的功能測試,預(yù)熱3到5分鐘即可。在前面硬件設(shè)計(jì)中,已經(jīng)分析了煙霧報(bào)警器是如工作的,電路如圖3.11MQ_2觸發(fā)電路,我們知道只要p5端口的電壓高于p6,煙霧報(bào)警器就會(huì)報(bào)警。那么接下來我們測這兩個(gè)端口電壓前后的變化,具體電壓值如表5.2所示。表5.2煙霧報(bào)警器電壓變化次數(shù)端口12345P5報(bào)警前(vP5報(bào)警后(vP6電壓(v哈爾濱工程大學(xué)本科畢業(yè)論文接著測試煙霧報(bào)警器的觸發(fā)時(shí)間,在預(yù)熱之后,用普通的打火機(jī)觸發(fā)煙霧報(bào)警器,只需要1s就可以觸發(fā),再關(guān)閉電壓,然后在開電源,進(jìn)行二次觸發(fā)需要3s。圖5.3煙霧報(bào)警器終端顯示圖5.4煙霧報(bào)警器協(xié)調(diào)器顯示5.3紅外檢測模塊測試在智能家居系統(tǒng)中,紅外檢測主要是用于防盜的,在檢測到有人闖入時(shí),協(xié)調(diào)器會(huì)發(fā)出警報(bào)提醒用戶。當(dāng)檢測到人運(yùn)動(dòng)時(shí),D203S的輸出端的電壓會(huì)發(fā)生變化。經(jīng)過前面幾章的介紹,已經(jīng)知道這個(gè)變化電壓是如何為系統(tǒng)工作的。具體變化量如表5.3所示。第5章硬件功能測試1/32/31由于D203傳感器有個(gè)有效范圍,如果超出這個(gè)范圍就不能工作了,那么接下來就堅(jiān)持一下它的工作范圍。由表5.4可知,當(dāng)檢測范圍超過1.4m時(shí),就檢測不出電壓的變化,所以它的工作范圍只有1.4m。表5.4D203S檢測范圍距離0~1m1.1m1.2m1.3m1.4m電壓是否變化是是是是否圖5.5紅外檢測終端檢測顯示圖5.5紅外檢測協(xié)調(diào)器檢測顯示5.4本章小結(jié)本章主要測試系統(tǒng)的功能,智能家居系統(tǒng)要求能夠?qū)崿F(xiàn)溫濕度檢測、煙霧報(bào)警、紅外檢和燈控制,該系統(tǒng)能夠符合課題要求。溫濕度模塊能夠?qū)崟r(shí)檢測并發(fā)送給協(xié)調(diào)器顯示;煙霧報(bào)警器靈敏度高,能夠及時(shí)檢測出危險(xiǎn)事件的發(fā)生;紅外檢測模塊能夠很靈敏檢測出人的運(yùn)動(dòng);燈控制模塊也能隨時(shí)控制燈的狀態(tài),經(jīng)測試系統(tǒng)的指標(biāo)已經(jīng)達(dá)到課題的要求。結(jié)論論文根據(jù)課題的指標(biāo),主要研究了智能家居系統(tǒng)的設(shè)計(jì),最終實(shí)現(xiàn)了煙霧報(bào)警、紅外檢測、溫濕度傳感和燈控制。本文的研究過程中,首先從ZigBee的基本概念入手,了解ZigBee網(wǎng)絡(luò)中協(xié)調(diào)器、終端和路由器的概念,然后進(jìn)一步研究了協(xié)調(diào)器是如何組網(wǎng)和終端是如何加入網(wǎng)絡(luò),在此基礎(chǔ)上,又進(jìn)一步研究如何傳輸數(shù)據(jù),并研究了終端與協(xié)調(diào)器的綁定過程。在此基礎(chǔ)上,實(shí)現(xiàn)了將溫濕度數(shù)據(jù)、煙霧報(bào)警數(shù)據(jù)、紅外檢測數(shù)據(jù)發(fā)送給協(xié)調(diào)器進(jìn)行處理,同時(shí)也實(shí)現(xiàn)了協(xié)調(diào)器將控制信號(hào)廣播給各個(gè)終端節(jié)點(diǎn)。系統(tǒng)的軟件構(gòu)架采用經(jīng)典的HomeAutomation結(jié)構(gòu),所以具有很強(qiáng)的擴(kuò)展性,只要添加處理事件,就可以加入新的功能。但是由于時(shí)間有限,所以在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)以及完整性上還有很多的不足,還需要解決以下問題。1.由于節(jié)點(diǎn)較少,數(shù)據(jù)的傳輸只是單跳就可以完成,所以當(dāng)終端和協(xié)調(diào)器增多時(shí),就需要引入路由器,以尋找最佳路徑。2.雖然系統(tǒng)的功能都實(shí)現(xiàn)了,但是要應(yīng)用于工程項(xiàng)目還有很大的差距,比如當(dāng)用戶沒有在家時(shí)發(fā)生緊急情況,就難以通知到用戶,所以還需要技術(shù)來遠(yuǎn)程通知用戶。3.在實(shí)際生活中,許多用戶需要實(shí)時(shí)監(jiān)控家中的情況,所以可以加入遠(yuǎn)程視頻監(jiān)控這項(xiàng)功能。參考文獻(xiàn)[1]高守瑋.ZigbBee技術(shù)實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2009:1-250P.[2]劉欣.基于物聯(lián)網(wǎng)的遠(yuǎn)程家庭監(jiān)控監(jiān)護(hù)系統(tǒng)的研究[D].北京:北京郵電大學(xué),2011.[3]馬凈,李曉光.幾種常用溫度傳感器的原理及發(fā)展[J].中國儀器儀表2004,6:1-5P.[4]陳尚松.電子測量與儀器[M].北京:電子工業(yè)出版社,2010:1-25P.[5]王汝傳.無線傳感器網(wǎng)絡(luò)與其應(yīng)用[M].北京:人民出版社,2011:56-77P.[6]呂治安.ZigB

溫馨提示

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

評論

0/150

提交評論