版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
WORD格式整理./畢業(yè)設(shè)計(jì)<論文>題目基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)學(xué)院<全稱>信息科學(xué)與工程學(xué)院專業(yè)、年級(jí)計(jì)算機(jī)科學(xué)與技術(shù)09級(jí)學(xué)生姓名學(xué)號(hào)指導(dǎo)教師論文評(píng)閱人XX交通大學(xué)2013年前言既互聯(lián)網(wǎng)技術(shù)之后,物聯(lián)網(wǎng)作為一個(gè)信息技術(shù)綜合應(yīng)用的代名詞,掀起信息產(chǎn)業(yè)第三浪潮,大國紛紛將其納為重點(diǎn)領(lǐng)域,顯而易見,它將影響到政治,軍事,經(jīng)濟(jì),環(huán)境等方方面面,必在未來極大地改變?nèi)藗兊纳?。物?lián)網(wǎng)是新一代信息技術(shù)的重要組成部分。其英文名稱是"Theinternetofthings"。顧名思義,"物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)"。這里包括兩層意思:第一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),它是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);第二,其用戶端延伸和擴(kuò)展到了任何物體與物體之間,進(jìn)行信息交換和通信。因此可總結(jié)出,物聯(lián)網(wǎng)的定義是:通過射頻識(shí)別〔RFID、光電感應(yīng)器、全球定位系統(tǒng)、激光掃描器信息傳感設(shè)備,按約定的協(xié)議,把任何物體與互聯(lián)網(wǎng)相連接,進(jìn)行信息交換和通信,以實(shí)現(xiàn)對(duì)物體的智能化識(shí)別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。物聯(lián)網(wǎng)上部署了海量的多種類型傳感器,每個(gè)傳感器都是一個(gè)信息源,不同類別的傳感器所捕獲的信息內(nèi)容和信息格式不同。傳感器獲得的數(shù)據(jù)具有實(shí)時(shí)性,按一定的頻率周期性的采集環(huán)境信息,不斷更新數(shù)據(jù)。其目的是實(shí)現(xiàn)物與物、物與人,所有的物品與網(wǎng)絡(luò)的實(shí)時(shí)連接,方便識(shí)別、管理和控制。其在2011年的產(chǎn)業(yè)規(guī)模超過2600億元人民幣,行業(yè)競爭將會(huì)越來越激烈。在市場應(yīng)用方面,2011年從整體來看,占據(jù)中國物聯(lián)網(wǎng)市場主要份額的應(yīng)用領(lǐng)域?yàn)橹悄芄I(yè)、智能物流、智能交通、智能電網(wǎng)、智能醫(yī)療、智能農(nóng)業(yè)、智能環(huán)保和智能家居等。本文研究的是基于物連網(wǎng)技術(shù)的智能家居系統(tǒng)。"智能家居",又稱智能住宅,是通過采用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)和綜合布線技術(shù),建立一個(gè)由家庭安全防護(hù)系統(tǒng)、網(wǎng)絡(luò)服務(wù)系統(tǒng)和家庭自動(dòng)化系統(tǒng)等組成的家庭服務(wù)與管理集成系統(tǒng),從而實(shí)現(xiàn)全面、安全、舒適的居住環(huán)境以及便利的通訊網(wǎng)絡(luò)家庭住宅。把與家庭生活有關(guān)的各種子系統(tǒng)有機(jī)結(jié)合在一起統(tǒng)一管理,使生活舒適、安全、和高效,具有良好的發(fā)展前景。隨著科學(xué)技術(shù)的發(fā)展和物質(zhì)生活水平的提高,人們對(duì)家居生活環(huán)境的要求也越來越高。家居不再是生活起居的場所,同時(shí)也是休閑、娛樂的地方。目前,高科技技術(shù)已經(jīng)融入智能建筑當(dāng)中,智能的概念也不斷得到深化和更新。建設(shè)部要求根據(jù)不同消費(fèi)者的需求,推動(dòng)家居數(shù)字化、建筑智能化,產(chǎn)品便利化的發(fā)展,未來智能家居市場潛力巨大。智能家居是一個(gè)多功能的系統(tǒng),它包括可視化對(duì)講、家庭內(nèi)部的安全防范、家電遠(yuǎn)程監(jiān)控,遠(yuǎn)程視頻監(jiān)控、遠(yuǎn)程醫(yī)療診斷及護(hù)理系統(tǒng),網(wǎng)上教育系統(tǒng)、家庭影星系統(tǒng)等。智能家居的基本目標(biāo)是將家庭中各種信息相關(guān)的通信設(shè)備、家用電器和家用安防等裝置連接到一個(gè)智能化系統(tǒng)上進(jìn)行集中或異地監(jiān)視、控制和家庭事務(wù)性管理,并保持這些家庭設(shè)施與住宅環(huán)境的和諧與協(xié)調(diào)。隨著人類的應(yīng)用需求和住宅智能化的發(fā)展,智能家居系統(tǒng)將擁有更豐富的內(nèi)容,系統(tǒng)也越來越復(fù)雜,功能也越來越齊全。在當(dāng)前市場中,智能家居相比傳統(tǒng)家居、建材行業(yè)所占的市場份額還是微乎其微。在目前的智能家居市場中不少企業(yè)均是發(fā)展項(xiàng)目與渠道建設(shè)并行發(fā)展,其中項(xiàng)目合作占據(jù)著相當(dāng)重要的位置,這些項(xiàng)目往往也是定位相對(duì)高端的別墅、復(fù)式樓和大戶型高檔小區(qū)住宅居多。隨著信息技術(shù)和Internet技術(shù)的飛速發(fā)展,智能家居技術(shù)在實(shí)現(xiàn)成本上大幅度降低,同時(shí)人們永不停步地追求生活智能化和舒適化,如果技術(shù)更加成熟、成本更加低廉,功能更加完美,其市場需求將會(huì)非常巨大。目錄TOC\o"1-3"\h\u摘要IABSTRACTII第1章緒論11.1智能家居的簡介11.2國內(nèi)外的現(xiàn)狀及發(fā)展趨勢21.2.1國外的發(fā)展現(xiàn)狀21.2.2國內(nèi)的發(fā)展現(xiàn)狀31.3本課題研究的目的和意義41.4本課題研究的基本內(nèi)容41.5本章小結(jié)5第2章系統(tǒng)的總體方案設(shè)計(jì)62.1系統(tǒng)需求分析62.1.1系統(tǒng)功能需求分析62.1.2性能需求分析62.1.3用戶界面及其他需求分析62.2系統(tǒng)設(shè)計(jì)的原則72.3系統(tǒng)總體架構(gòu)設(shè)計(jì)72.4系統(tǒng)主要硬件介紹82.4.1ARM處理器82.4.2TC35模塊10溫度傳感器112.4.4MQ-2煙霧傳感器12光電傳感器132.4.6ISD1760語音芯片14繼電器152.5軟件系統(tǒng)介紹152.5.1幾種嵌入式操作系統(tǒng)的比較152.5.2選擇嵌入式操作系統(tǒng)的依據(jù)172.6本章小結(jié)19第3章建立Linux開發(fā)環(huán)境203.1搭建開發(fā)環(huán)境203.1.1安裝虛擬機(jī)、Linux操作系統(tǒng)、源代碼及其他工具203.1.2建立交叉編譯環(huán)境203.1.3配置網(wǎng)絡(luò)文件系統(tǒng)NFS213.2嵌入式軟件開發(fā)層次213.2.1BootLoader介紹223.2.2定制Linxu內(nèi)核223.2.3根文件系統(tǒng)233.3本章小結(jié)24第4章系統(tǒng)的實(shí)現(xiàn)254.1GSM遠(yuǎn)程控制模塊的實(shí)現(xiàn)274.1.1mini2440串口的配置和實(shí)現(xiàn)274.1.2通過串口發(fā)送短信284.2溫度采集模塊的實(shí)現(xiàn)294.3煙霧傳感器模塊的實(shí)現(xiàn)324.4具有語音提示功能的密碼鎖防盜模塊的實(shí)現(xiàn)344.5預(yù)防小孩墜樓模塊374.6本章小結(jié)39第5章系統(tǒng)測試405.1整體界面測試405.2模塊功能測試415.2.1遠(yuǎn)程監(jiān)控家電模塊功能測試415.2.2密碼鎖防盜模塊功能測試435.2.3煙霧報(bào)警模塊功能測試435.2.4預(yù)防小孩墜樓模塊功能測試44第6章總結(jié)與展望456.1總結(jié)456.2展望46致謝47參考文獻(xiàn)48WORD格式整理.摘要物聯(lián)網(wǎng)技術(shù)的興起和發(fā)展,不僅改變了我們的工作方式、也逐漸地改變我們的生活方式。不僅要求辦公自動(dòng)化、智能化,也需要家居生活逐漸地變得自動(dòng)和智能起來。智能家居就是在這樣的背景下產(chǎn)生的。智能家居系統(tǒng)是利用計(jì)算機(jī)、嵌入式系統(tǒng)和網(wǎng)絡(luò)通信技術(shù)將各種家用設(shè)施通過家庭網(wǎng)絡(luò)連接到一起,從而為人們提供更為便利舒適的生活環(huán)境。本設(shè)計(jì)利用32位嵌入式ARM處理器S3C2440作為智能家居控制系統(tǒng)的核心控制器,運(yùn)用高性能、接口豐富、方便移植與擴(kuò)展性好等優(yōu)點(diǎn),并且利用嵌入式操作系統(tǒng)實(shí)時(shí)性強(qiáng)、可靠性高、資源豐富等優(yōu)勢,將嵌入式技術(shù)作為智能家居控制器的開發(fā)平臺(tái),使智能家居控制系統(tǒng)的應(yīng)用開發(fā)能夠變?yōu)樵谇度胧狡脚_(tái)上的二次開發(fā),從而縮短開發(fā)周期,并且節(jié)約資源。該設(shè)計(jì)通過對(duì)智能家居系統(tǒng)的分析,確定了總體架構(gòu)設(shè)計(jì)。針對(duì)智能家居系統(tǒng)的特點(diǎn)和所要實(shí)現(xiàn)的基本功能,分析了智能家居控制器的基本結(jié)構(gòu),然后對(duì)各個(gè)模塊電路進(jìn)行了詳細(xì)設(shè)計(jì)。最終利用人體紅外傳感器<infraredsensor>、GSM模塊、溫度傳感器<temperaturetransmitter>、光電傳感器<photoelectricsensor>,煙霧傳感器<MQ-2>,繼電器等,結(jié)合電路組裝成系統(tǒng),實(shí)現(xiàn)房屋的遠(yuǎn)程監(jiān)控,以及保護(hù)人員、物體的安全,方便用戶隨時(shí)在最短的時(shí)間內(nèi)了解并掌握房屋情況。關(guān)鍵詞:物聯(lián)網(wǎng),智能家居,遠(yuǎn)程監(jiān)控.ABSTRACTTheriseanddevelopmentoftheInternetofthingstechnology,especiallyhighlydevelopingofcomputerandnetworkingtechnologies,notonlychangeoureverydaywork,butalsoourlife.Automationandintelligenceinofficewillnotenough,it’satrendtoaskformoreintelligenteverywhere,homelifeincluded.Thatiswhysmarthousecomeout.Thesmarthomesystemisusingcomputerandnetworkcommunication,embeddedsystemtechnologywillallkindsofhouseholdfacilitiesviahomenetworkconnectiontogether,soastoprovidemoreconvenientandcomfortablelifeforpeople.Weutilizethe32-bitembeddedARMprocessorS3C44B0Xasthecontrollingcoreofthesmarthomesysteminthispaper.Ithascharacteristicsofhighperformance,plentifulinterfacesandconvenienttransplantationandextension.Andalsoweadoptembeddedtechnologyastheplatformofthesmarthomecontrollerowingtoitshighreal-timeability,highreliabilityandrichresourses.Thustheapplicationofsmarthomesystembecomesthesecondarydevelopmentontheembeddedplatformsothatthedevelopingperiodiscutdownandresourceissaved.Thisdesignthroughtheanalysisoftheintelligenthouseholdsystem,determinetheoverallarchitecturedesign.Accordingtothecharacteristicsoftheintelligenthouseholdsystemandtoachievethebasicfunctions,thebasicstructureofsmarthomecontrollerareanalyzed,thenhascarriedonthedetaileddesigntoeachmodulecircuit,thefinalbodyusingthehumanbodyinfraredsensor,GSMmodule,temperaturetransmitter,photoelectricsensor,smokesensors,etc.combiningwiththecircuitassemblesystem,realizetheremotemonitoringofthebuilding,aswellastoprotectthesafetyofpersonnel,objects,convenienttotheuseratanytimeintheshortestpossibletimetounderstandandgrasphousingsituation.Keywords:Internetofthings,Smarthome,Remotecontrol.第1章緒論隨著人們生活水平的提高,電子技術(shù),通信技術(shù)和自動(dòng)化技術(shù)的日趨完善,家居智能化相應(yīng)也就出現(xiàn)在了人們的生活中。它既能給我們營造了溫馨舒適、安全便捷的生活環(huán)境,還能夠?qū)译娫O(shè)備進(jìn)行實(shí)時(shí)監(jiān)控以及管理,當(dāng)家庭安全問題出現(xiàn)后還能及時(shí)給我們相應(yīng)的警報(bào)。智能家居系統(tǒng)是將大大小小的各種家用電器以及家庭安全保護(hù)設(shè)備通過有線或無線的方式連接起來,可以進(jìn)行集中或遠(yuǎn)程的監(jiān)控、管理,為家庭住宅環(huán)境的安全提供了高效的管理方式。與普通的家居相比,智能家居不僅包括了普通家居的全部功能,更重要的是它提供給了我們溫馨快樂,且安全高效的高質(zhì)量生活環(huán)境,還將一個(gè)看似靜止的生活空間變成了一個(gè)有一定高智能的生活小幫手,更加進(jìn)一步優(yōu)化了我們的生活質(zhì)量。1.1智能家居的簡介智能家居系統(tǒng)的概念起源于上世紀(jì)70年代的美國[1],隨后,傳播到歐洲、日本等國并且得到了很好的發(fā)展。在我國,智能家居這一概念推廣較晚,約在90年代末家居智能化系統(tǒng)才得以進(jìn)入國內(nèi),但發(fā)展速度驚人,至今已存在相當(dāng)數(shù)量的智能化小區(qū)及住宅。所謂智能家居〔SmartHome是現(xiàn)代電子技術(shù)、自動(dòng)化技術(shù)及通信技術(shù)相結(jié)合的產(chǎn)物。它是以家為平臺(tái),兼?zhèn)浣ㄖ?、自?dòng)化,智能化于一體的高效、舒適、安全、便利的家居環(huán)境。自動(dòng)化的智能家居不再是一幢被動(dòng)的建筑,相反,成了幫助主人盡量利用時(shí)間的工具,使家庭更為舒適、安全、高效和節(jié)能。智能家居是現(xiàn)代社會(huì)最熱門的話題之一,它的目標(biāo)是通過網(wǎng)絡(luò)等信息通信技術(shù)手段實(shí)現(xiàn)對(duì)家居電器等的智能控制,使其能夠按照人們的設(shè)定工作運(yùn)行,而不論距離的遠(yuǎn)近。智能化與遠(yuǎn)程控制是智能家居的兩大特點(diǎn)。目前,已經(jīng)有越來越多的機(jī)構(gòu)和個(gè)人開始了對(duì)智能家居進(jìn)行研究。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是無線網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)化智能家居系統(tǒng)可提供遙控、家電〔空調(diào),熱水器等控制、照明控制、室內(nèi)外遙控、窗簾自控、防盜報(bào)警、電話遠(yuǎn)程控制、可編程定時(shí)控制及計(jì)算機(jī)控制等多種功能和手段,使生活更加舒適、便利和安全。它能夠自動(dòng)控制和管理家電設(shè)備,對(duì)家庭環(huán)境的安全進(jìn)行監(jiān)控報(bào)警,并且能夠?yàn)樽籼峁┌踩孢m、高效便利的學(xué)習(xí)生活及工作環(huán)境。家居智能化系統(tǒng)將家庭中各種與信息相關(guān)的通信設(shè)備、家用電器以及家庭保安裝置通過有線或無線的方式連接起來,并進(jìn)行集中或異地的監(jiān)控、管理,保持家庭住宅環(huán)境的舒適、協(xié)調(diào)。1.2國內(nèi)外的現(xiàn)狀及發(fā)展趨勢智能家居的發(fā)展分為三個(gè)階段[2]:首先是家庭電子化〔HomeElectronics階段,這個(gè)時(shí)期主要是面向單個(gè)的電器,家庭電器之間并沒有形成網(wǎng)絡(luò),亦沒有大的聯(lián)系。其次是住宅自動(dòng)化〔HomeAutomation階段,這個(gè)時(shí)期是面向功能的階段,一部分的家庭電器之間形成了簡單的網(wǎng)絡(luò),主要是為了實(shí)現(xiàn)某個(gè)特定單一的功能,例如單一的自動(dòng)抄表功能。最后是家居智能化〔歐洲稱為SmartHome,美國稱為WiseHouse階段,這個(gè)時(shí)期是面向系統(tǒng)設(shè)計(jì)的階段,系統(tǒng)通過家庭分布總線把住宅內(nèi)各種與信息相關(guān)的通信設(shè)備、家用電器、報(bào)警裝置并到網(wǎng)絡(luò)節(jié)點(diǎn)中進(jìn)行集中的監(jiān)控、管理,保持家電與環(huán)境的協(xié)調(diào),提供生活、工作、學(xué)習(xí)以及娛樂的各種優(yōu)質(zhì)服務(wù),營造一種溫馨舒適的家庭氛圍。智能家居控制系統(tǒng)提供高效、舒適的家居環(huán)境,確保住戶的生命財(cái)產(chǎn)安全;集中或遠(yuǎn)程調(diào)節(jié)家居環(huán)境的溫度、濕度以及風(fēng)的速度等,同時(shí)檢查空氣成分,提高空氣質(zhì)量;調(diào)節(jié)音響,電視等娛樂設(shè)施,愉悅心情;合理利用太陽能活周遭環(huán)境的變化,盡可能的節(jié)約能耗,達(dá)到合理利用資源;提供現(xiàn)代化的通信、信息服務(wù)。1.2.1國外的發(fā)展現(xiàn)狀1984年,世界上第一幢智能建筑在美國康涅迪格州落成,這棟意義非凡的建筑只是對(duì)一座舊式大樓的一定程度的改造而完成的。它只是采用計(jì)算機(jī)系統(tǒng)對(duì)大樓的空調(diào)、電梯、照明等設(shè)備進(jìn)行監(jiān)控,并提供語音通信、電子郵件、情報(bào)資料等方面的信息服務(wù)。2000年,新加坡有近30個(gè)社區(qū)的約5000戶家庭采用了這種家庭智能化系統(tǒng),而美國的安裝住戶高達(dá)4萬戶。2003年,網(wǎng)絡(luò)化家居的建設(shè)帶來了高達(dá)4500億美元的市場價(jià)值,這其中有3700億美元是智能家電硬件產(chǎn)品的價(jià)值,剩余的部分則是軟件和技術(shù)支持服務(wù)的費(fèi)用?,F(xiàn)在,國外的智能家居系統(tǒng)技術(shù)己日趨成熟,預(yù)計(jì)今年,50%以上的新房將具有一定的"智能型家居"功能。于此同時(shí),由于技術(shù)的日益標(biāo)準(zhǔn)化,這些新型智能家居系統(tǒng)將比比爾.蓋茨耗資6000萬美元的高端別墅便宜得多。在智能家居系統(tǒng)研發(fā)方面,美國及一些歐洲國家一直處于領(lǐng)先地位。近年來,以美國微軟公司及摩托羅拉公司等為首的一批國外知名企業(yè),先后擠身于智能家居的研發(fā)中。例如:微軟公司開發(fā)的"夢幻之家"、摩托羅拉公司開發(fā)的"居所之門"、IBM公司開發(fā)的"家庭主任"等均已日趨成穩(wěn)。此外,日韓新等國的龍頭企業(yè)紛紛致力于家居智能化的開發(fā),對(duì)家居市場更是躍躍欲試。目前市場上出現(xiàn)得智能家居控制系統(tǒng)主要有:〔1X-10系統(tǒng)〔美國,該系統(tǒng)是利用電力線作為網(wǎng)絡(luò)平臺(tái),采用集中控制方式實(shí)現(xiàn)。這套系統(tǒng)的功能較為強(qiáng)大,與其它家居控制系統(tǒng)如ABB、C_BUS等比起來更容易接收,使用也相對(duì)簡單。因?yàn)閷?shí)現(xiàn)同樣的功能,X-10家居控制系統(tǒng)是利用220v電力線將發(fā)射器發(fā)出的X-10信號(hào)傳送給接收器從而實(shí)現(xiàn)智能化的控制,因此采用這套系統(tǒng)不需要額外的布線,這也是這套系統(tǒng)的最大的一個(gè)優(yōu)勢,因?yàn)槠渌到y(tǒng)基本上都需要布低壓線,在墻上或地面開槽、鉆孔,施工難度大、費(fèi)用高、工期長。但由于缺乏在國內(nèi)市場推廣的條件且價(jià)格昂貴,該系統(tǒng)在國內(nèi)應(yīng)用極少?!?EIB系統(tǒng)〔德國,該系統(tǒng)采用預(yù)埋總線及中央控制方式實(shí)現(xiàn)控制功能。但由于其工程要求復(fù)雜嚴(yán)苛,并且價(jià)格較高,因此一直無法打開國內(nèi)市場?!?8X系統(tǒng)〔新加坡,該系統(tǒng)采用預(yù)處理總線跟集中控制方式來實(shí)現(xiàn)功能。它的優(yōu)點(diǎn)在于利用的產(chǎn)品對(duì)系統(tǒng)進(jìn)行擴(kuò)展,系統(tǒng)較為成熟,比較適合中國國情。但是由于系統(tǒng)架構(gòu)、靈活性及產(chǎn)品價(jià)格等方面還難以達(dá)到要求,所以目前在國內(nèi)還較少應(yīng)用。1.2.2國內(nèi)的發(fā)展現(xiàn)狀20世紀(jì)90年代后期,我國的智能小區(qū)日益興起。眾所周知,我國的智能化住宅建設(shè)最早起于上海、XX和XX等沿海城市,并逐漸向內(nèi)陸發(fā)展[3]。在97香港回歸之際,在建設(shè)部"97跨世紀(jì)住宅小區(qū)案競賽活動(dòng)"中,上海中皇廣場被建設(shè)部科技委員會(huì)列為全國首家"智能住宅示范工程",揭開了全國智能小區(qū)發(fā)展的序幕。1999年,建設(shè)部勘察設(shè)計(jì)司、建設(shè)部住宅產(chǎn)業(yè)化辦公室聯(lián)合組織實(shí)施全國住宅小區(qū)智能化技術(shù)示范工程,標(biāo)志著我國住宅小區(qū)智能化進(jìn)入了一個(gè)新階段。隨著信息化走進(jìn)了千家萬戶,由國家經(jīng)貿(mào)委牽頭成立了家庭信息網(wǎng)絡(luò)技術(shù)委員會(huì),而信息網(wǎng)絡(luò)技術(shù)體系研究及產(chǎn)品開發(fā)已經(jīng)被列為了國家技術(shù)創(chuàng)新的重點(diǎn)專項(xiàng)計(jì)劃。據(jù)建設(shè)部要求,截止今年,我國將有70%以上的家庭擁有Internet入網(wǎng)設(shè)備,大中城市中50%的住宅要實(shí)現(xiàn)智能化。我國的智能家居相對(duì)于國外起步較晚,尚未形成一定的國家標(biāo)準(zhǔn)。目前,主要采用國外的一些技術(shù)產(chǎn)品,但也有一些企業(yè)推出了自己的產(chǎn)品,主要有:〔1e家庭〔海爾,該系列產(chǎn)品以海爾電腦作為控制中心,各種網(wǎng)絡(luò)家電作為終端設(shè)備,海爾移動(dòng)電話作為移動(dòng)數(shù)字控制中心。海爾在技術(shù)上同微軟合作,利用微軟的WindowsMe技術(shù)和海爾的網(wǎng)絡(luò)家電,使"e家庭"已具雛形,已推出了網(wǎng)絡(luò)洗衣機(jī)、網(wǎng)絡(luò)冰箱、網(wǎng)絡(luò)空調(diào)、網(wǎng)絡(luò)微波爐等一系列網(wǎng)絡(luò)家電。〔2e-home數(shù)字家園〔清華同方,該智能家居控制系統(tǒng)是專門針對(duì)中國家庭設(shè)計(jì)的,遵循國際技術(shù)標(biāo)準(zhǔn),采用嵌入式軟、硬件技術(shù),提供網(wǎng)絡(luò)、網(wǎng)絡(luò)節(jié)點(diǎn)及末端設(shè)備。產(chǎn)品以功能模塊開發(fā)為主,基于國外成熟的智能家居標(biāo)準(zhǔn)之上。其智能家居控制系統(tǒng)主要有以下三個(gè)部分:A系列:遵循EIB協(xié)議的家庭控制產(chǎn)品,適用于中高檔住宅區(qū)。B系列:遵循X-10協(xié)議的家庭控制產(chǎn)品,適用于中檔住宅區(qū)。易家三代:配電箱集中安裝式家庭控制產(chǎn)品。國內(nèi)各大軟、硬件機(jī)構(gòu)正在積極的研制、開發(fā)更為符合市場的智能化家居設(shè)備,以解決當(dāng)前智能化產(chǎn)品實(shí)用性差、使用復(fù)雜及產(chǎn)品價(jià)格昂貴等缺點(diǎn),而技術(shù)創(chuàng)新性也逐步向國際先進(jìn)水平靠攏,這樣的未來值得期待。1.3本課題研究的目的和意義根據(jù)前面提到的一些調(diào)查結(jié)果及數(shù)據(jù)可以看出,雖然目前智能家居系統(tǒng)有了一定的發(fā)展,并且市場上也開始出現(xiàn)相應(yīng)的產(chǎn)品,但從總體的發(fā)展來看,不容樂觀,特別是統(tǒng)一標(biāo)準(zhǔn)和權(quán)威產(chǎn)品的缺乏嚴(yán)重影響了家居智能化的發(fā)展。隨著科技的提高,經(jīng)濟(jì)的發(fā)展,人們的物質(zhì)生活水平的提高,對(duì)家居環(huán)境的要求也越來越高,作為家居智能化的核心部分——智能家居控制系統(tǒng)也越發(fā)顯得重要。家居智能化控制的開發(fā)和建設(shè)是未來國家、經(jīng)濟(jì)發(fā)展的必然趨勢[4]。智能家居控制器可以為系統(tǒng)提供智能控制方案,使住戶的控制更便捷,更高效,更能為家庭的日?;顒?dòng)節(jié)約不必要的能耗。而且在現(xiàn)在這個(gè)注重綠色環(huán)保的世界里,智能地為住戶控制好空氣的濕度、溫度等,檢查分析空氣成分,讓住戶安心入住。同時(shí),智能家居控制器可以根據(jù)住戶的要求調(diào)整方案,加強(qiáng)緊急處理,危機(jī)救護(hù)等急救控制,充分達(dá)到只要是"用戶想要的,就是我們追求的"宗旨。1.4本課題研究的基本內(nèi)容本次設(shè)計(jì)是基于ARM9的S3C2440核心處理器,以Linux嵌入式系統(tǒng)為家居總中心監(jiān)控系統(tǒng),使用LinuxQt完成控制程序及人機(jī)界面的編寫,采用ds18b20溫度傳感器、MQ-2煙霧傳感器、光電傳感器為數(shù)據(jù)采集源,采用西門子公司的AT35GSM模塊完成通信及監(jiān)控功能,實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控、實(shí)時(shí)監(jiān)控家居溫度、空氣質(zhì)量,以及家居重要財(cái)產(chǎn)防盜的功能。1.5本章小結(jié)本章主要分析了智能家居的研究背景,以及國內(nèi)外的發(fā)展現(xiàn)狀及發(fā)展趨勢,以及智能家居平臺(tái)系統(tǒng)的技術(shù)特點(diǎn)。最后簡單介紹了本智能家居系統(tǒng)的基本內(nèi)容和設(shè)計(jì)思路。第2章系統(tǒng)的總體方案設(shè)計(jì)2.1系統(tǒng)需求分析針對(duì)國內(nèi)市場的實(shí)際情況分析,消費(fèi)者對(duì)遠(yuǎn)程抄表和物業(yè)管理興趣索然,但是對(duì)家電控制、家居安防報(bào)警網(wǎng)絡(luò)卻情有獨(dú)鐘,所以目前眾多企業(yè)都往這一方向發(fā)展。而嵌入式技術(shù)在最近幾年得到了廣闊的發(fā)展[5]。嵌入式處理器的性能得到了顯著地提高,這就為以嵌入式為基礎(chǔ)的智能化家居系統(tǒng)的發(fā)展奠定了硬件基礎(chǔ),使較復(fù)雜的檢測和識(shí)別算法在系統(tǒng)中得到應(yīng)用。在軟件方面,出現(xiàn)了豐富的支持嵌入式設(shè)備的軟件,使嵌入式系統(tǒng)的開發(fā)的難度降低,出現(xiàn)了大量專注于嵌入式的企業(yè),使嵌入式開發(fā)中能得到良好的技術(shù)支持。同時(shí)智能化家居的概念也更加明確,相關(guān)的智能化技術(shù)得到了顯著地發(fā)展,使開發(fā)能獲得大量先進(jìn)的資料。設(shè)計(jì)本智能家居系統(tǒng),需要滿足以下需求。2.1.1系統(tǒng)功能需求分析〔1能用手機(jī)通過收發(fā)短信的方式檢測家電,打開、關(guān)閉家電的工作狀態(tài)?!?在家居的門口安裝了4*4鍵盤,當(dāng)用戶輸入正確的密碼可以把門打開,用戶通過其他非法手段比如撬開鎖時(shí),系統(tǒng)及時(shí)啟動(dòng)報(bào)警模塊,達(dá)到防盜的功能。〔3能實(shí)時(shí)測量家居內(nèi)溫度、煙霧情況,當(dāng)室內(nèi)煙霧濃度偏高時(shí),系統(tǒng)可以打開室內(nèi)抽風(fēng)機(jī)把室內(nèi)有害氣體抽出室外,當(dāng)室內(nèi)煙霧濃度過高,系統(tǒng)啟動(dòng)火災(zāi)報(bào)警模塊,提示家居主人預(yù)防火災(zāi)的發(fā)生?!?當(dāng)有小孩靠近窗戶時(shí),系統(tǒng)自動(dòng)把窗戶關(guān)上,避免小孩可能發(fā)生墜樓的危險(xiǎn),當(dāng)小孩離開時(shí),系統(tǒng)自動(dòng)把窗戶打開。2.1.2性能需求分析智能家居系統(tǒng)在正常運(yùn)行時(shí),幾乎每時(shí)每刻都在運(yùn)行,必須高度重視系統(tǒng)的穩(wěn)定性和可靠性,盡量提高系統(tǒng)的容錯(cuò)能力,同時(shí)一定要保證系統(tǒng)安全,性能良好。2.1.3用戶界面及其他需求分析智能家居相關(guān)的設(shè)備都是跟人們生活息息相關(guān)的,因而智能家居系統(tǒng)必須要求用戶界面友好,用戶體驗(yàn)效果良好,并且使用戶可以很容易掌握操作流程,同時(shí)要求實(shí)用、舒適和有個(gè)性等。2.2系統(tǒng)設(shè)計(jì)的原則智能家居又稱智能住宅,它的最基本目的是為人們提供一個(gè)舒適、安全、高效、方便、實(shí)用的生活環(huán)境。對(duì)智能家居產(chǎn)品來說,最重要的是應(yīng)立足于客戶的對(duì)家居環(huán)境的具體需求,以實(shí)用為核心,摒棄掉那些華而不實(shí)的功能。同時(shí)還要充分考慮到用戶體驗(yàn),注重操作的便利化和直觀性,注重完美的圖形化控制界面。智能家居系統(tǒng)大部分時(shí)間都在運(yùn)行,必須高度重視系統(tǒng)的安全性、可靠性和容錯(cuò)能力,保證系統(tǒng)正常安全使用、質(zhì)量、性能良好,具備應(yīng)付各種復(fù)雜環(huán)境變化的能力。根據(jù)目前國內(nèi)外智能家居系統(tǒng)的發(fā)展現(xiàn)狀,人們不僅關(guān)注家居內(nèi)部控制,更加注重對(duì)家用電器內(nèi)部情況進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)控。在要求智能家居控制系統(tǒng)方便快捷的同時(shí),還要求產(chǎn)品外觀小、功耗低、成本低和擴(kuò)展性號(hào)的特點(diǎn)。本系統(tǒng)主要針對(duì)用戶家庭內(nèi)部進(jìn)行遠(yuǎn)程控制,主要實(shí)現(xiàn)的功能有:通過遠(yuǎn)程監(jiān)控家電運(yùn)行情況、通過溫度、煙霧傳感器檢測家居溫度、空氣質(zhì)量的情況,通過光電傳感器監(jiān)控家庭重要財(cái)產(chǎn),具有防火防盜的功能。2.3系統(tǒng)總體架構(gòu)設(shè)計(jì)本課題旨在設(shè)計(jì)一套智能家居系統(tǒng),根據(jù)系統(tǒng)的設(shè)計(jì)需求,本控制系統(tǒng)采用分布式控制方式對(duì)智能家居的各部分進(jìn)行統(tǒng)一控制,主要包括遠(yuǎn)程監(jiān)控家電<包括臺(tái)燈、風(fēng)扇>部分,具有語音提示功能的密碼鎖防盜部分,窗戶自動(dòng)關(guān)窗預(yù)防小孩墜樓部分,煙霧濃度監(jiān)測自動(dòng)報(bào)警部分。各個(gè)模塊相互獨(dú)立,某個(gè)模塊出現(xiàn)故障不影響其他模塊運(yùn)行。本智能家居系統(tǒng)整體架構(gòu)框圖如圖2.1所示。圖2.1智能家居系統(tǒng)整體架構(gòu)框圖該智能家居系統(tǒng)用S3C2440處理器,控制器控制遠(yuǎn)程監(jiān)控家電模塊,檢測溫度、煙霧模塊,密碼鎖模塊等。在實(shí)際開發(fā)中先在ARMLinux中編寫每個(gè)模塊的驅(qū)動(dòng)程序,編譯加載驅(qū)動(dòng)后應(yīng)用層方能操作硬件模塊,手機(jī)通過收發(fā)短信的方式通過應(yīng)用層程序與硬件模塊通信達(dá)到控制硬件的目的。2.4系統(tǒng)主要硬件介紹2.4.1ARM處理器嵌入式系統(tǒng)常用的處理器有單片機(jī)和ARM,由于考慮到單片機(jī)引腳少、功能簡單以及后續(xù)學(xué)習(xí)研究等原因,故選擇功能更強(qiáng)大的ARM處理器[6]。隨著電子技術(shù)的發(fā)展,ARM處理器經(jīng)歷了包括ARM7、ARM9、ARM11等在內(nèi)的多個(gè)發(fā)展階段,不斷成熟的ARM處理器的應(yīng)用必將為嵌入式的發(fā)展帶來新的活力,是更高端的產(chǎn)品應(yīng)用成為可能。Mini2440ARM是一款真正低價(jià)實(shí)用的ARM9開發(fā)板,它采用SamsungS3C2440為微處理器,并采用專業(yè)穩(wěn)定的CPU內(nèi)核電源芯片和復(fù)位芯片來保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。它采用了更多的晶體管,能夠達(dá)到兩倍以上于ARM7處理器的處理能力。本系統(tǒng)初期采用友善之臂公司集成的mini2440開發(fā)板,開發(fā)板硬件資源如下所示。圖2.2開發(fā)板硬件資源開發(fā)板的硬件資源包括:SamsungS3C2440A處理器:主頻400MHz,最高533Mhz。SDRAM內(nèi)存:在板64MSDRAM,32bit數(shù)據(jù)總線,SDRAM時(shí)鐘頻率高達(dá)100MHz。FLASH存儲(chǔ):256MNandFlash,掉電非易失。在板2MNorFlash,掉電非易失,已經(jīng)安裝BIOS。LCD顯示:板上集成4線電阻式觸摸屏接口,可以直接連接四線電阻觸摸屏,支持黑白、4級(jí)灰度、16級(jí)灰度、256色、4096色STN液晶屏,尺寸從3.5寸到12.1寸。屏幕分辨率可以達(dá)到1024x768象素,支持黑白、4級(jí)灰度、16級(jí)灰度、256色、64K色、真彩色TFT液晶屏;尺寸從3.5寸到12.1寸,屏幕分辨率可以達(dá)到1024x768象素。標(biāo)準(zhǔn)配置為統(tǒng)寶3.5真彩LCD,分別率240x320,帶觸摸屏。接口和資源:1個(gè)100M以太網(wǎng)RJ-45接口<采用DM9000網(wǎng)絡(luò)芯片>。3個(gè)串行口。1個(gè)USBHost。1個(gè)USBSlaveB型接口。1個(gè)SD卡存儲(chǔ)接口。1路立體聲音頻輸出接口,一路麥克風(fēng)接口。1個(gè)2.0mm間距10針JTAG接口。4USERLeds。6USERbuttons<帶引出座>。1個(gè)PWM控制蜂鳴器。1個(gè)可調(diào)電阻,用于AD模數(shù)轉(zhuǎn)換測試。1個(gè)I2C總線AT24C08芯片,用于I2C總線測試。1個(gè)2.0mm間距20pin攝像頭接口。板載實(shí)時(shí)時(shí)鐘電池。電源接口<5V>,帶電源開關(guān)和指示燈。系統(tǒng)時(shí)鐘源:12M無源晶振。實(shí)時(shí)時(shí)鐘:內(nèi)部實(shí)時(shí)時(shí)鐘〔帶后備鋰電池。擴(kuò)展接口:1個(gè)34pin2.0mmGPIO接口。1個(gè)40pin2.0mm系統(tǒng)總線接口。規(guī)格尺寸:100x100<mm>。操作系統(tǒng)支持:Linux+Qtopia-2.2.0+QtE-4.6.1<獨(dú)創(chuàng)雙圖形系統(tǒng)共存,無縫切換>。WindowsCE.NET6.0<R3>。2.4.2TC35模塊TC35是西門子公司出的一款雙頻900/1800MHZ高度集成的GSM模塊。在GSM網(wǎng)絡(luò)日臻完善的今天,它易于集成,可以在較短的時(shí)間內(nèi)花費(fèi)較少的成本開發(fā)出新穎的產(chǎn)品。在遠(yuǎn)程監(jiān)控和無線公話以及無線POS終端等領(lǐng)域您都能看到TC35無線模塊在發(fā)揮作用。本系統(tǒng)采用TC35對(duì)家電進(jìn)行遠(yuǎn)程監(jiān)控,TC35的主要特征如下:信息傳送內(nèi)容:語音和數(shù)據(jù)。電源:單電源3.3V~5.5V。頻段:雙頻GSM900MHz和DCS1800MHz<Phase2+>。SIM卡連接方式:外接。天線:由天線連接器連接外部天線。短信息:MT,MO,CB和PDU模式。音頻接口:模擬信號(hào)〔麥克風(fēng),耳麥,免提手柄。通訊接口:RS232〔指令和數(shù)據(jù)的雙向傳送。模塊復(fù)位:采用AT指令或掉電復(fù)位。串口通訊波特率:300bps...115kbps。要實(shí)現(xiàn)發(fā)短信或語音功能主要是通過開發(fā)板串口發(fā)送AT指令經(jīng)max232把TTL電平轉(zhuǎn)換成RS232電平并處理TC35反饋回來的信息來進(jìn)行的。下面圖2.3是TC35模塊和max232串口轉(zhuǎn)換電路。圖2.3TC35模塊和max232串口轉(zhuǎn)換電路2.4.3溫度傳感器本系統(tǒng)選擇DALLAS公司生產(chǎn)的DS18B20溫度傳感器進(jìn)行開發(fā)。DS18B20以超小的體積、超低的硬件開銷,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。DS18B20的主要特征和引腳封裝原理圖如下:全數(shù)字轉(zhuǎn)換及輸出。先進(jìn)的單總線數(shù)據(jù)通信。測量結(jié)果以9~12位數(shù)字量方式串行傳送。不需要外圍任何元件。測溫范圍-55℃~+125℃,固有測溫分辨率為0.5℃。工作電壓:3~5V/DC。PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。圖2.4DS18B20封裝及原理圖DS18B20引腳功能說明如下:〔1DQ為數(shù)字信號(hào)輸入/輸出端。〔2GND為電源地?!?VDD為外接供電電源輸入端〔在寄生電源接線方式時(shí)接地。DS18B20與ARM處理器的接口十分簡單,只需要將DS18B20的信號(hào)線與控制線的一位雙向端口連接即可。本系統(tǒng)將DS18B20的信號(hào)線與S3C2440的GPE0引腳連接,如下面圖2.4所示。圖2.4DS18B20引腳電路圖2.4.4MQ-2煙霧傳感器MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫<SnO2>。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。MQ-2氣體傳感器對(duì)液化氣、丙烷、氫氣的靈敏度高,對(duì)天然氣和其它可燃蒸汽的檢測也很理想。這種傳感器可檢測多種可燃性氣體,是一款適合多種應(yīng)用的低成本傳感器。MQ-2的主要特征如下:工作溫度:-10℃~+50℃報(bào)警濃度:0.65~15.5%FT工作濕度:10~90%工作電源:12VDC/9VDC信號(hào)輸出:常開/常閉安裝方式:吸頂外殼:阻燃樹脂產(chǎn)品尺寸:直徑105mm厚度32mm圖2.4MQ-2引腳接線圖根據(jù)MQ-2的工作原理〔其電導(dǎo)率隨著氣體濃度的增大而增大,其電阻是電導(dǎo)率的倒數(shù),所以隨著煙霧濃度的增大其電阻是減小的并且參考圖MQ-2Datasheet上的測試電路,在根據(jù)圖2.4的電路圖,可以得到煙霧傳感器的輸出電壓如式2.1所示。<式>光電傳感器光電傳感器是各種光電檢測系統(tǒng)中實(shí)現(xiàn)光電轉(zhuǎn)換的關(guān)鍵元件,它是把光信號(hào)〔紅外、可見紫外光輻射轉(zhuǎn)變成為電信號(hào)的器件。光電傳感器是以光電器件作為轉(zhuǎn)換元件的傳感器。它可以用于檢測直接引起光量變化的非電量,如光強(qiáng)等。本設(shè)計(jì)試圖把光電傳感器安裝在家庭保險(xiǎn)柜或其他重要的財(cái)產(chǎn)出,當(dāng)小偷或其他非家庭主人試圖靠近保險(xiǎn)柜等重要財(cái)產(chǎn)處能自動(dòng)觸發(fā)語音報(bào)警,從而達(dá)到防盜的目的。圖2.5光電傳感器引腳圖光電傳感器簡單易用,正確接好線之后輸入3.3V高電平,當(dāng)檢測到有障礙物時(shí)會(huì)一直輸出低電平信號(hào)。我們把光電傳感器的輸出引腳接單片機(jī)的EINT5/GPF5中斷引腳,程序中設(shè)定低電平觸發(fā),當(dāng)有小偷靠近保險(xiǎn)柜或家居其他重要財(cái)產(chǎn)時(shí),系統(tǒng)能捕捉到這一信號(hào)從而做出反應(yīng)。2.4.6ISD1760語音芯片語音報(bào)警部分采用isd1760語音芯片來完成。ISD1700系列錄放芯片可工作于獨(dú)立按鍵模式和SPI控制模式。芯片內(nèi)有存儲(chǔ)管理系統(tǒng)來管理多段語音,這樣在獨(dú)立按鍵模式下也能進(jìn)行多段語音錄放。此芯片內(nèi)有振蕩器,可通過外部電阻來調(diào)節(jié)其振蕩頻率;還有帶自動(dòng)增益控制〔AGC的話筒運(yùn)放,模擬線路輸入。本設(shè)計(jì)采用獨(dú)立按鍵模式,連接好電路后給芯片的23腳一個(gè)電平信號(hào)即可播放提前錄好的聲音。圖2.6isd1760語音芯片接線引腳圖2.4.7繼電器由于家電電器工作電壓是220V,而單片機(jī)工作電壓是5V,因而監(jiān)控家電時(shí)需要引入繼電器。繼電器是一種控制器件。它具有控制系統(tǒng)〔又稱輸入回路和被控制系統(tǒng)〔又稱輸出回路之間的互動(dòng)關(guān)系。通常應(yīng)用于自動(dòng)化的控制電路中,它實(shí)際上是用小電流去控制大電流運(yùn)作的一種"自動(dòng)開關(guān)"。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。當(dāng)收到特定的短信要把家電打開時(shí),MCU通過打開繼電器給插座上電,即可打開家電,當(dāng)需要關(guān)閉家電時(shí),也是通過繼電器關(guān)閉家電。圖2.7繼電器原理圖ARM是一個(gè)弱電器件,一般情況下它們大都工作在電壓為5V甚至更低、驅(qū)動(dòng)電流在mA級(jí)以下,而要把它的輸出用于一些大功率場合,比如控制步進(jìn)電機(jī),很顯然是不可行的。因此,就要設(shè)計(jì)一個(gè)環(huán)節(jié)來銜接,這個(gè)銜接環(huán)節(jié)就是"功率驅(qū)動(dòng)"。一個(gè)典型簡單的功率驅(qū)動(dòng)環(huán)節(jié)就是繼電器的驅(qū)動(dòng)。此處,繼電器驅(qū)動(dòng)含有兩層意思:一是通過GPIO口對(duì)繼電器本身進(jìn)行驅(qū)動(dòng),因?yàn)槔^電器對(duì)于ARM來說是一個(gè)功率器件;另一個(gè)就是繼電器去驅(qū)動(dòng)其它負(fù)載,比如繼電器可以驅(qū)動(dòng)中間繼電器,也可以直接驅(qū)動(dòng)接觸器,因此繼電器驅(qū)動(dòng)就是ARM與其塔大功率負(fù)載的接口。ARM的I/O口輸出電壓高電平為3.3V,直接接上繼電器后電平被拉低,無法控制繼電器的閉合。三極管具有良好的信號(hào)放大功能,信號(hào)經(jīng)過三極管的放大后,再接入繼電器,可以實(shí)現(xiàn)對(duì)繼電器的控制,最終實(shí)現(xiàn)對(duì)交流電路的控制.2.5軟件系統(tǒng)介紹2.5.1幾種嵌入式操作系統(tǒng)的比較目前市場上流行的嵌入式操作系統(tǒng)比較多,下面對(duì)其進(jìn)行性能比較:嵌入式LinuxLinux是1991年由荷蘭人LinusTorvalds發(fā)明的,從誕生到現(xiàn)在的短短幾十年時(shí)間,Linux已經(jīng)發(fā)展成為一個(gè)功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng),不僅在通用操作系統(tǒng)領(lǐng)域與Windows等商業(yè)系統(tǒng)分庭抗?fàn)?而在在新興的嵌入式操作系統(tǒng)領(lǐng)域也獲得了飛速的發(fā)展。嵌入式Linux<EmbeddedLinux>是指對(duì)標(biāo)準(zhǔn)Limix進(jìn)行小型化裁剪處理后,可固化在存儲(chǔ)器或單片機(jī)中,適合于特定嵌入式應(yīng)用場合的專用Linux操作系統(tǒng)。商品化嵌入式操縱系統(tǒng)大都沒有公開其核心源代碼[7],這種源代碼的封閉性大大限制了開發(fā)者的積極性,當(dāng)前國家隊(duì)研制自主核心源代碼大力支持,為源碼開發(fā)的Linux的推廣提供了廣闊的發(fā)展前景。嵌入式Linux的主要特征如下:〔1高性能、可裁剪的內(nèi)核:其獨(dú)特的模塊機(jī)制使用戶可以根據(jù)自己的需要,實(shí)時(shí)地將某些模塊插入到內(nèi)核或從內(nèi)核中移走,很適合與嵌入式系統(tǒng)的小型化需要。〔2優(yōu)秀的開發(fā)工具:嵌入式Linux提供了一套完整的工具鏈〔3免費(fèi),開發(fā)源代碼:Linux是開發(fā)源碼的自由操作系統(tǒng),用戶可以根據(jù)自己的應(yīng)用需要方便對(duì)內(nèi)核進(jìn)行修改和優(yōu)化?!?完善的網(wǎng)絡(luò)通信和文件管理機(jī)制:Linux支持所有標(biāo)準(zhǔn)的Internet網(wǎng)絡(luò)協(xié)議,并且很容易移植到嵌入式系統(tǒng)當(dāng)中?!?廣泛的硬件支持:支持x86、ARM、MIPS等多種體系結(jié)構(gòu)?!?軟件資源豐富:幾乎每一種通用程序在Linux上都能找到,從而減輕了開發(fā)的工作量。目前,網(wǎng)絡(luò)上無論是研究Linux操作系統(tǒng)還是研究嵌入式Linux的開發(fā)團(tuán)隊(duì)都有很多,各種相應(yīng)的程序以及文檔也比較豐富。μC/OSIIμC/OS是美國人JeanLabrosse在1992年開發(fā)的一個(gè)嵌入式操作系統(tǒng)[8],并于1998年推出了它的升級(jí)版本μC/OS-II。μC/OS-II是一種免費(fèi)、開放源代碼、結(jié)構(gòu)小巧、基于可搶占優(yōu)先級(jí)調(diào)度的實(shí)時(shí)操作系統(tǒng),其內(nèi)核提供任務(wù)調(diào)度與管理、時(shí)間管理、任務(wù)間同步與通信、內(nèi)存管理和中斷服務(wù)等功能。μC/OS-II主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、結(jié)構(gòu)簡潔、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2KB,一般情況下占用10KB數(shù)量級(jí)。它的內(nèi)核本身并不支持文件系統(tǒng),但它具有良好的擴(kuò)展性能,如果需要的話可以自行加入。由于免費(fèi)、源碼開放、規(guī)模較小,μC/OS-II不僅在眾多的商業(yè)領(lǐng)域中獲得了廣泛的應(yīng)用,而且被大學(xué)所接納,作為教學(xué)用的嵌入式實(shí)時(shí)操作系統(tǒng)。VxWorksVxWorks是美國WindRiverSystem公司開發(fā)的一款嵌入式實(shí)時(shí)操作系統(tǒng)具有良好的可靠性和卓越的實(shí)時(shí)性,是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的商業(yè)系統(tǒng)。VxWorks支持各種主流的32位處理器,如X86、MotorolaMC68xxx、Clodfile、PowerPC、MIPS,ARM等。它基于微內(nèi)核的體系結(jié)構(gòu)、整個(gè)系統(tǒng)有四百多個(gè)相對(duì)獨(dú)立、短小精煉的目標(biāo)模塊組成,用戶可以行剪裁和配置,根據(jù)自己的需要來選擇適當(dāng)?shù)哪K。VxWorks采用GNU類型的編譯和調(diào)試器,它的大多數(shù)API函數(shù)都是專有的。VxWorks以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。PalmOS在個(gè)人數(shù)字助理〔PDA市場上,PalmOS全球知名、使用人數(shù)最多的PDA操縱系統(tǒng)。它是由PDA操作系統(tǒng)開發(fā)的先驅(qū)者PalmComputing公司開發(fā)的。從1996年4月PlalmOS1.0發(fā)布至今,PlamOS逐步鞏固了其在PDA市場上的霸主地位。它的一個(gè)最大的特點(diǎn)就是省電以及系統(tǒng)資源開銷較少,速度也很快,但不支持多線程,長遠(yuǎn)發(fā)展受到影響。但由于PalmOS采用開發(fā)式架構(gòu),全球有很多PlamOS用戶都投入到其軟件開發(fā)工作中,使其應(yīng)用軟件非常豐富,這也成為PlamOS操作系統(tǒng)成功的一個(gè)重要因素之一。WindowsCEWindowsCE是微軟公司在嵌入式操縱系統(tǒng)市場上的一個(gè)重要的產(chǎn)品,它是一個(gè)開放的、可升級(jí)的32位操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng),它可以移植能夠開發(fā)多種企業(yè)和客戶類設(shè)備。WindowsCE為工作、家庭及其間的任何一部分開啟了動(dòng)態(tài)的、嶄新的開發(fā)遠(yuǎn)景。這個(gè)模塊化、可自訂的作業(yè)系統(tǒng)將Windows平臺(tái)延伸到桌面之外,到達(dá)更小、更機(jī)動(dòng)性、更特別的裝置之上,然而它的Windows血統(tǒng)則確保了它的相容性,并且支援了更廣泛的開發(fā)基礎(chǔ)。目前,網(wǎng)絡(luò)上研究WinCE的開發(fā)團(tuán)隊(duì)越來越多,其資源也逐漸豐富起來,可以說是新的趨勢。2.5.2選擇嵌入式操作系統(tǒng)的依據(jù)在選擇軟件開發(fā)方式和操作系統(tǒng)的時(shí)候,不僅要考慮到對(duì)硬件系統(tǒng)的支持,還要考慮軟件開發(fā)的周期等問題。一般而言,在選擇嵌入式操作系統(tǒng)時(shí),可以遵循以下原則[9]。〔1市場進(jìn)入時(shí)間。制定產(chǎn)品時(shí)間表與選擇操作系統(tǒng)有關(guān)系,實(shí)際產(chǎn)品和一般演示是不同的,上市時(shí)間和功能完善同樣重要。Linux出現(xiàn)時(shí)間較早,現(xiàn)成資源較多?!?可移植性。也就是平臺(tái)無關(guān)性。當(dāng)進(jìn)行嵌入式軟件開發(fā)時(shí),可移植性是要重點(diǎn)考慮的問題。良好的軟件可移植性,可以在不同平臺(tái)、不同系統(tǒng)上運(yùn)行,跟操作系統(tǒng)無關(guān)。軟件的通用性和軟件的性能通常是矛盾的,即通常以損失某些特定情況下的優(yōu)化性能為代價(jià)。很難設(shè)想開發(fā)一個(gè)嵌入式瀏覽器而僅能在某一特定環(huán)境下應(yīng)用,反過來說,當(dāng)產(chǎn)品與平臺(tái)和操作系統(tǒng)緊密結(jié)合時(shí),往往你的產(chǎn)品的特色就蘊(yùn)含其中。〔3可利用資源。產(chǎn)品開發(fā)不同于學(xué)術(shù)課題研究,它是以快速、低成本、高質(zhì)量的推出適合用戶需求的產(chǎn)品為目的的。集中精力研發(fā)出產(chǎn)品的特色,其他功能盡量由操作系統(tǒng)附加或采用第三方產(chǎn)品,因此操作系統(tǒng)的可利用資源對(duì)于選型是一個(gè)重要的參考條件,Linux和WinCE都有大量的資源可以利用,這是他們被看好的重要原因。其它有些實(shí)時(shí)操作系統(tǒng)由于比較封閉,開發(fā)時(shí)可以利用的資源比較少,因此多數(shù)功能需要自己獨(dú)立開發(fā),從而影響開發(fā)進(jìn)度。近來的市場需求顯示,越來越多的嵌入式系統(tǒng),均要求提供全功能的Web瀏覽器。而這就要求有一個(gè)高性能、高可靠的GUI的支持?!?系統(tǒng)定制能力。信息產(chǎn)品不同于傳統(tǒng)PC的Wintel結(jié)構(gòu)的單純性,用戶的需求是千差萬別的,硬件平臺(tái)也都不一樣,所以對(duì)系統(tǒng)的定制能力提出了要求。要分析產(chǎn)品是否對(duì)系統(tǒng)底層有改動(dòng)的需求,這種改動(dòng)是否伴隨著產(chǎn)品特色。Linux由于其源代碼開放的天生魅力,在定制能力方面具有優(yōu)勢?!?成本。成本是所有產(chǎn)品不得不考慮的問題。操作系統(tǒng)的選擇會(huì)對(duì)成本有著重要的影響。Linux免費(fèi),WinCE等商業(yè)系統(tǒng)需要支付許可證使用費(fèi),但這都不是問題的答案。成本是需要綜合權(quán)衡以后進(jìn)行考慮的,選擇某一系統(tǒng)可能會(huì)對(duì)其它一系列的因素產(chǎn)生影響,如對(duì)硬件設(shè)備的選型、人員投入、以及管理和與其它合作伙伴的共同開發(fā)之間的溝通等許多方面的影響?!?中文內(nèi)核支持。國內(nèi)產(chǎn)品必然需要對(duì)中文的支持。由于操作系統(tǒng)多數(shù)是采用西文方式,是否支持雙字節(jié)編碼方式,是否遵循GBK,GB18030等各種國家標(biāo)準(zhǔn),是否支持中文輸入與處理,是否提供第三方中文輸入接口是針對(duì)國內(nèi)用戶的嵌入式產(chǎn)品的必需考慮的重要因素。智能家居系統(tǒng)并不需要很嚴(yán)格的實(shí)時(shí)性,而且在本系統(tǒng)的設(shè)計(jì)中,關(guān)鍵任務(wù)將可以由可編程器件實(shí)現(xiàn),僅向系統(tǒng)提供一個(gè)狀態(tài)信息。操作系統(tǒng)的主要目的是方便開發(fā)友好的人機(jī)界面,縮短開發(fā)周期,提高系統(tǒng)的穩(wěn)定性。嵌入式操作系統(tǒng)選擇了嵌入式Linux[10]。Linux作為一款開源軟件,具有功能強(qiáng)大,與硬件兼容性好,可任意裁減等諸多特點(diǎn),同時(shí)在Linux系統(tǒng)下支持很多開源軟件,在一定程度上減小了開發(fā)的難度。在版本方面,選擇內(nèi)核的arm-linux,該內(nèi)核在原有內(nèi)核的基礎(chǔ)上進(jìn)行了一定程度的裁減,同時(shí)也是專門支持ARM系統(tǒng)芯片的Linux版本,這也為后期的進(jìn)一步裁減做好了鋪墊的工作。在文件系統(tǒng)方面,目前FLASH上常用的文件系統(tǒng)主要有JFFS2、CRAMFS、Yaffs2、ROMFS以及ROMFS等。目前,Mini2440開發(fā)板支持Yaffs2。YAFFS2是第一個(gè)專門為Nandflash存儲(chǔ)器設(shè)計(jì)的嵌入式文件系統(tǒng),適用于大容量的存儲(chǔ)設(shè)備;并且是在GPL〔GeneralPublicLicense協(xié)議下發(fā)布的,可在其網(wǎng)站免費(fèi)獲得源代碼。CRAMFS文件系統(tǒng)是專門針對(duì)閃存〔如NorFlash>設(shè)計(jì)的只讀壓縮的文件系統(tǒng),采用實(shí)時(shí)解壓縮方式,小巧且速度快。本設(shè)計(jì)采用YAFFS2文件系統(tǒng),可以讀寫保存。系統(tǒng)主要采用C語言作為基本開發(fā)語言,在嵌入式開發(fā)中,語言的可移植性很重要。因?yàn)長inux是用C語言編寫的,對(duì)C語言有良好的函數(shù)庫的支持,其編譯出的代碼精簡,具有運(yùn)行速度快和對(duì)底層開發(fā)支持好的特點(diǎn)。2.6本章小結(jié)本章通過對(duì)智能家居的分析,確定了系統(tǒng)總體架構(gòu)設(shè)計(jì),然后針對(duì)其方案進(jìn)行軟硬件選型。首先確定了SAMSUNG公司的32位RISC處理器S3C2440作為微控制器芯片;其次是介紹本智能家居各模塊所使用到的硬件設(shè)備,接著介紹幾種嵌入式操作系統(tǒng)和選擇嵌入式操作系統(tǒng)的依據(jù),最后確定了適合CPU的最佳嵌入式操作系統(tǒng)。第3章建立Linux開發(fā)環(huán)境3.1搭建開發(fā)環(huán)境3.1.1安裝虛擬機(jī)、Linux操作系統(tǒng)、源代碼及其他工具本設(shè)計(jì)是在虛擬機(jī)上安裝Linux操作系統(tǒng)Fedora9.0版本而進(jìn)行。首先安裝vmware并下載Fedora-9-i386-DVD.iso鏡像,安裝好Fedora9.0操作系統(tǒng)。在操作終端上創(chuàng)建工作目錄/opt/FriendlyARM/mini2440,在此終端上解壓安裝源代碼,此次用的是內(nèi)核自帶的內(nèi)核源代碼:linux--mini2440-20100106。此次設(shè)計(jì)用開發(fā)板自動(dòng)的arm-qtopia設(shè)計(jì)qt運(yùn)行界面。建立交叉編譯環(huán)境在Linux平臺(tái)下,要為開發(fā)板編譯內(nèi)核,圖形界面Qtopia,bootloader,還有其他一些應(yīng)用程序,均需要交叉編譯工具鏈。之前的系統(tǒng),要使用不同的編譯器版本才能正常編譯各個(gè)部分,因此要在開發(fā)過程不斷切換設(shè)置,這十分不利于初學(xué)者使用,也降低了開發(fā)的效率;自從Linux-2.6.2開始<Mini2440所配內(nèi)核已為最新的Linux->,我們把交叉編譯器統(tǒng)一為arm-linux-gcc-4.4.3,下面是它的安裝設(shè)置步驟。<1>將arm-linux-gcc-4.4.3.tgz復(fù)制到某個(gè)目錄下如tmp\,然后進(jìn)入到該目錄,執(zhí)行解壓命令:#cd/tmp#tarxvzfarm-linux-gcc-4.4.3.tgz–C/<2>Step2:把編譯器路徑加入系統(tǒng)環(huán)境變量,運(yùn)行命令#gedit/root/.bashrc編輯/root/.bashrc文件,在最后一行添加:保存退出,注銷系統(tǒng)后,使設(shè)置生效,重新登錄系統(tǒng)<不必重啟機(jī)器,開始->logout即可>,在命令行輸入arm-linux-gcc–v,若沒有輸出錯(cuò)誤信息即表示建立交叉編譯環(huán)境成功。配置網(wǎng)絡(luò)文件系統(tǒng)NFSNFS是NetworkFileSystem的簡寫,即網(wǎng)絡(luò)文件系統(tǒng),NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問別的系統(tǒng)上的文件。在嵌入式開發(fā)環(huán)境中,通過NFS服務(wù)器,可以把NFS作為根文件系統(tǒng)來啟動(dòng)開發(fā)板,通過使用NFS作為根文件系統(tǒng),不僅使開發(fā)板的"硬盤"變得很大,還可以減少程序燒寫的次數(shù),提供程序開發(fā)速度[11]。下面介紹NFS服務(wù)器的安裝和配置。首先安裝NFS服務(wù)器一般情況下系統(tǒng)默認(rèn)按照好NFS服務(wù),系統(tǒng)不默認(rèn)安裝的話,只需要下載兩個(gè)安裝包安裝即可:nfs-utils-*<包括基本的NFS命令與監(jiān)控程序
>portmap-*<支持安全NFSRPC服務(wù)的連接>接著需要共享Linux系統(tǒng)和開發(fā)板目錄。必須解壓安裝好root_qtopia目標(biāo)板文件系統(tǒng)包。接著在Fedora9.0的終端上運(yùn)行命令#gedit/etc/exports,編輯nfs服務(wù)的配置文件,添加以下內(nèi)容/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4*〔rw,sync,no_root_squash,其中/opt/FriendlyARM/**/rootfs_qtopia_qt4表示nfs共享目錄。最后啟動(dòng)NFS服務(wù)。在命令行下運(yùn)行以下命令即可:/etc/init.d/nfsstop。3.2嵌入式軟件開發(fā)層次本設(shè)計(jì)的軟件系統(tǒng)一個(gè)嵌入式Linux系統(tǒng)從軟件角度來看可以分為三個(gè)層次:〔1引導(dǎo)加載程序,包括固化在固件中的boot程序<可選>,和Bootloader部分兩大部分?!?linux內(nèi)核,特定于嵌入式平臺(tái)的定制內(nèi)核?!?文件系統(tǒng),包括了系統(tǒng)命令和應(yīng)用程序。一個(gè)同時(shí)裝有BootLoader、內(nèi)核的啟動(dòng)參數(shù)、內(nèi)核映像和根文件系統(tǒng)映像的固態(tài)存儲(chǔ)設(shè)備的典型空間分配結(jié)構(gòu)圖如圖3.1圖3.1空間分配結(jié)構(gòu)圖BootLoader介紹簡單的說bootloader是一段程序,它的作用就是加載操作系統(tǒng),BootLoader〔引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段軟件代碼[12]。通過這段代碼實(shí)現(xiàn)硬件的初始化,建立內(nèi)存空間的映射圖,為操作系統(tǒng)內(nèi)核準(zhǔn)備好硬件環(huán)境并引導(dǎo)內(nèi)核的啟動(dòng)。bootloader位于最底層,首先被運(yùn)行來引導(dǎo)操作系統(tǒng)運(yùn)行,很容易可以看出bootloader是底層程序所以它的實(shí)現(xiàn)嚴(yán)重地依賴于硬件,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的BootLoader幾乎是不可能的。盡管如此,一些功能強(qiáng)大、支持硬件環(huán)境較多的BootLoader也被廣大的使用者和愛好者所支持,從而形成了一些被廣泛認(rèn)可的、較為通用的的bootloader實(shí)現(xiàn)。此次開發(fā)板引導(dǎo)程序用的是Supervivi,它是友善之臂基于vivi改進(jìn)的一個(gè)簡單易用的Bootloader。在此不用自己來移植bootloader。定制Linxu內(nèi)核Linux是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C語言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix操作系統(tǒng)。Linux最早是由芬蘭黑客LinusTorvalds為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類Unix操作系統(tǒng)而開發(fā)的。該計(jì)劃開始于1991年,在計(jì)劃的早期有一些Minix黑客提供了協(xié)助,而今天全球無數(shù)程序員正在為該計(jì)劃無償提供幫助。技術(shù)上說Linux是一個(gè)內(nèi)核。"內(nèi)核"指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。Linux內(nèi)核源代碼很龐大,想要短時(shí)間內(nèi)讀懂大部分內(nèi)核源代碼幾乎是不可能的,此次設(shè)計(jì)用的是開發(fā)板自帶的內(nèi)核,版本號(hào)是Linux-。首先把內(nèi)核代碼解壓安裝在工作目錄/opt/FriendlyARM/mini2440,進(jìn)入內(nèi)核代碼根目錄,執(zhí)行"cpconfig_mini2440_t35.config_t35"使用缺省的配置文件。然后執(zhí)行"makemenuconfig",打開內(nèi)核配置界面,配置好內(nèi)核后通過執(zhí)行"makezImage"命令編譯內(nèi)核,編譯結(jié)束后在/arch/arm/boot目錄下生成Linux內(nèi)核映像文件zImage。根文件系統(tǒng)文件系統(tǒng)是對(duì)一個(gè)存儲(chǔ)設(shè)備上的數(shù)據(jù)和元數(shù)據(jù)進(jìn)行組織的機(jī)制。這種機(jī)制有利于用戶和操作系統(tǒng)的交互。在Linux中沒有文件系統(tǒng)的話,用戶和操作系統(tǒng)的交互也就斷開了,所有應(yīng)用用戶程序,都沒有辦法運(yùn)行。根文件系統(tǒng),是Linux/Unix系統(tǒng)啟動(dòng)的一個(gè)重要的組成部分,也是操作系統(tǒng)正常工作的必要組成部分。Linux要在一個(gè)分區(qū)上存放系統(tǒng)啟動(dòng)所必需的文件,如Init進(jìn)程、系統(tǒng)配置文件、文件系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)等等的工具集、鏈接庫等等。這些存放在同一個(gè)分區(qū)中的基本且必需的文件合起來稱為根文件系統(tǒng)。根文件系統(tǒng)的基本目錄結(jié)構(gòu)一般包括:/bin,/sbin,/etc,/proc,/dev,/bin,/usr,/lib,/tmp等,如有需要可再添加。下面做簡單介紹:/bin存放root與普通賬號(hào)的命令,由于這些命令在掛接其他文件系統(tǒng)之前就可以使用,所以/bin目錄和根文件系統(tǒng)在同一個(gè)分區(qū)中。/sbin存放系統(tǒng)命令,只有系統(tǒng)管理員〔root能夠使用的命令,系統(tǒng)命令還可以存放在/usr/sbin,/usr/local/sbin目錄下,/sbin目錄中存放的是基本的系統(tǒng)命令,它們用于啟動(dòng)系統(tǒng)和修復(fù)系統(tǒng)等/etc存放著系統(tǒng)主要的配置文件,例如人員的賬號(hào)密碼文件、各種服務(wù)的其實(shí)文件等。/lib存放共享庫和可加載〔驅(qū)動(dòng)程序,共享庫用于啟動(dòng)系統(tǒng)。運(yùn)行根文件系統(tǒng)中的可執(zhí)行程序。/home系統(tǒng)默認(rèn)的用戶文件夾,它是可選的,對(duì)于每個(gè)普通用戶,在/home目錄下都有一個(gè)以用戶名命名的子目錄,里面存放用戶相關(guān)的配置文件。/root存放系統(tǒng)管理員〔root的主文件夾的,即是根用戶的目錄。/usr存放的是共享、只讀的程序和數(shù)據(jù),這表明/usr目錄下的內(nèi)容可以在多個(gè)主機(jī)間共享,這些主要也符合FHS標(biāo)準(zhǔn)的。/var存放可變的數(shù)據(jù),比如spool目錄〔mail,news,log文件,臨時(shí)文件。/mnt存放臨時(shí)掛載某個(gè)文件系統(tǒng)的掛接點(diǎn),通常是空目錄,也可以在里面創(chuàng)建一引起空的子目錄,比如/mnt/cdram/mnt/hda1。用來臨時(shí)掛載光盤、移動(dòng)存儲(chǔ)設(shè)備等。/tmp存放臨時(shí)文件,通常是空目錄,一些需要生成臨時(shí)文件的程序用到的/tmp目錄下,所以/tmp目錄必須存在并可以訪問。3.3本章小結(jié)本章主要介紹了嵌入式系統(tǒng)開發(fā)平臺(tái)搭建過程。分別對(duì)虛擬機(jī)安裝,交叉編譯環(huán)境、在Linux服務(wù)器上安裝交叉編譯工具鏈、嵌入式Linux內(nèi)核的配置和編譯,YAFFS32文件系統(tǒng)的實(shí)現(xiàn),以及嵌入式軟件開發(fā)層次等。第4章系統(tǒng)的實(shí)現(xiàn)本智能家居系統(tǒng)分幾個(gè)模塊組成:GSM遠(yuǎn)程控制模塊,溫度、煙霧數(shù)據(jù)采集模塊,具有語音提示功能的密碼鎖防盜功能模塊,預(yù)防小孩墜樓模塊。每個(gè)硬件模塊在嵌入式開發(fā)中稱為設(shè)備,每個(gè)設(shè)備想要運(yùn)行都要在Linux內(nèi)核中編寫設(shè)備驅(qū)動(dòng)程序。所謂設(shè)備驅(qū)動(dòng)程序就是控制與管理硬件設(shè)備數(shù)據(jù)收發(fā)的軟件,它是應(yīng)用程序與硬件設(shè)備溝通的橋梁。從本質(zhì)上講設(shè)備驅(qū)動(dòng)程序主要負(fù)責(zé)硬件設(shè)備的數(shù)據(jù)讀寫、參數(shù)配置與中斷處理。設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)的一部分,通常運(yùn)行在內(nèi)核層。應(yīng)用層通過系統(tǒng)調(diào)用進(jìn)入內(nèi)核層,內(nèi)核層根據(jù)系統(tǒng)調(diào)用號(hào)來調(diào)用驅(qū)動(dòng)程序?qū)?yīng)的接口函數(shù)。Linux驅(qū)動(dòng)程序運(yùn)行的原理如圖4.1所示。圖4.1驅(qū)動(dòng)程序運(yùn)行原理Linux中的大部分驅(qū)動(dòng)程序,是以內(nèi)核模塊的形式編寫的,內(nèi)核模塊是Linux內(nèi)核向外部提供的一個(gè)接口。Linux內(nèi)核本身就是一個(gè)單內(nèi)核,具有效率高的優(yōu)點(diǎn),也具有可擴(kuò)展性和可維護(hù)性差的缺陷,模塊機(jī)制就是為了彌補(bǔ)這一缺陷而設(shè)計(jì)的。內(nèi)核模塊可以單獨(dú)編譯,在運(yùn)行時(shí)被鏈接到內(nèi)核,作為內(nèi)核的一部分在內(nèi)核空間中運(yùn)行。采用可加載模塊方式可以讓驅(qū)動(dòng)程序的運(yùn)行更加靈活,也更便于調(diào)試。本設(shè)計(jì)就是用動(dòng)態(tài)可加載方式逐個(gè)模塊調(diào)試好,調(diào)試好后在直接編譯進(jìn)內(nèi)核中,然后開機(jī)就運(yùn)行應(yīng)用程序。一般來說,Linux系統(tǒng)將設(shè)備分為3種類型:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)接口設(shè)備。本系統(tǒng)設(shè)計(jì)中用到的設(shè)備都是指字符設(shè)備驅(qū)動(dòng),這里主要講解字符設(shè)備及其相關(guān)內(nèi)容。字符設(shè)備是指那些每次只能一個(gè)字節(jié)讀寫數(shù)據(jù)的設(shè)備,不能隨機(jī)讀取設(shè)備內(nèi)存中的某一數(shù)據(jù),其驅(qū)動(dòng)程序中完成的主要工作是初始化、添加和刪除cdev結(jié)構(gòu)體,申請(qǐng)和釋放設(shè)備號(hào),以及填充file_operations結(jié)構(gòu)體中操作函數(shù),并實(shí)現(xiàn)file_operations結(jié)構(gòu)體中的read<>、write<>、ioct1<>等重要函數(shù)。cdev結(jié)構(gòu)體、file_operations和用戶空間調(diào)用驅(qū)動(dòng)的關(guān)系如圖4.2所示。圖4.2字符設(shè)備與用戶空間關(guān)系想要設(shè)備正常工作,就必須要按圖4.2所示先加載設(shè)備驅(qū)動(dòng)模塊,然后才能正確調(diào)用open<>、read<>、write<>、ioctl<>函數(shù)操作系統(tǒng)硬件設(shè)備。另外,上層應(yīng)用程序是在qtopia中編譯的,而智能家居系統(tǒng)每個(gè)模塊必須互不干擾,其中一個(gè)模塊發(fā)生故障應(yīng)不影響其他模塊的運(yùn)行,要實(shí)現(xiàn)每個(gè)模塊能單獨(dú)工作,這里用到了多線程的技術(shù),為每個(gè)模塊創(chuàng)建Timer定時(shí)器,把每個(gè)模塊的程序放在定時(shí)器函數(shù)中運(yùn)行,下面分別詳細(xì)介紹本設(shè)計(jì)的幾個(gè)模塊的調(diào)試過程。4.1GSM遠(yuǎn)程控制模塊的實(shí)現(xiàn)mini2440串口的配置和實(shí)現(xiàn)在實(shí)際程序設(shè)計(jì)過程中主要包括兩個(gè)組成部分,其一是串口的硬件驅(qū)動(dòng)程序,其二是文件系統(tǒng)上的應(yīng)用程序。S3C2440本身自帶了3個(gè)串口UART0、1、2,其中UART0做了RS232電平轉(zhuǎn)換,UART1、UART2輸出的點(diǎn)平是TTL電平,但是從NFS啟動(dòng)系統(tǒng)需要用到UART0,我們開發(fā)時(shí)用到UART2,中間經(jīng)過232電路與GSM模塊連接。開發(fā)板的內(nèi)核源代碼自帶了串口驅(qū)動(dòng)程序,在開發(fā)時(shí)我們不需要自己編寫驅(qū)動(dòng)。在Linux中,所有東西都可以看成文件,在應(yīng)用層想使用串口時(shí)首先需要打開串口:intfd;fd=open<"/dev/ttySAC1",O_RDWR>;if<-1==fd>{/*不能打開串口二*/perror<"提示錯(cuò)誤!">;}打開串口后還不能時(shí)串口正常工作,需要正確設(shè)置串口包括設(shè)置波特率、效驗(yàn)位和停止位的設(shè)置,設(shè)置串口主要是設(shè)置structtermios結(jié)構(gòu)體的各成員值。Structtermios{ unsignedshortc_iflag;//輸入模式標(biāo)志 unsignedshortc_oflag;//輸出模式標(biāo)志 unsignedshortc_cflag;//控制模式標(biāo)志 unsignedshortc_lflag;//本地模式標(biāo)志 unsignedcharc_line;//控制協(xié)議 unsignedcharc_cc[NCC];//控制模式字符};幾乎對(duì)串口的操作都是通過結(jié)構(gòu)體structtermios和幾個(gè)函數(shù)實(shí)現(xiàn),其中最重要的是tcgetattr<>和tcsetattr<>,剛開始程序通過tcgetattr<>函數(shù)獲取設(shè)備當(dāng)前的設(shè)置,然后修改這些設(shè)置,最后用tcsetattr<>使設(shè)置生效。在使用串口時(shí),波特率設(shè)置成b9600,無校驗(yàn)位,8位數(shù)據(jù)位和一位停止位。設(shè)置好串口之后,就可以通過把串口當(dāng)作文件讀寫了。發(fā)送數(shù)據(jù):charbuffer[1024];intLength=1024;intnbyte;nbyte=write<fd,buffer,Length>;接受數(shù)據(jù):charbuffer[1024];intLen=1024;intreadbyte=read<fd,buff,Len>;通過串口發(fā)送短信前面已經(jīng)簡單介紹過TC35模塊,TC35模塊有40個(gè)引腳,通過一個(gè)ZIF<ZeroInsertionForce,零阻力插座>連接器引出。這40個(gè)引腳可以劃分為5類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。在開發(fā)中我們用的是GSM集成模塊,模塊把我們需要使用的引腳都接了出來,開發(fā)時(shí)只有提供電源和接上MAX232電路即可。由于開發(fā)板上輸出的電平是TTL電平,TC35模塊輸入輸出的是RS232電平,因而開發(fā)時(shí)需要自己外接MAX232電路進(jìn)行電平轉(zhuǎn)換。讓TC35工作的過程主要是通過開發(fā)板的串口給TC35發(fā)送AT指令以及處理開發(fā)板返回的AT指令。通過GSM短信模塊發(fā)送短信主要有兩種格式:英文短信和中文PDU短信。下面是發(fā)送英文短信的收發(fā)過程。發(fā):AT //與AT35握手
收:OK
發(fā):AT+CMGF=1//選擇發(fā)送短信的格式
收:OK
發(fā):AT+CMGS=//要發(fā)送的手機(jī)號(hào)
收:>
發(fā):data→
//test為發(fā)送內(nèi)容,→為發(fā)送符〔ctrl+z,十六進(jìn)制0x1A
收:+CMGS:54OK知道了GSM英文短信的發(fā)送過程,只要把握好順序用nbyte=write<fd,buffer,Length>;即可實(shí)現(xiàn)發(fā)送英文短信的功能。本設(shè)計(jì)中,用發(fā)送短信主要是為了實(shí)現(xiàn)家電遠(yuǎn)程監(jiān)視的功能,當(dāng)用戶發(fā)送檢測家電的請(qǐng)求時(shí),系統(tǒng)通過發(fā)送英文短信向用戶反饋家電的工作狀態(tài),從而達(dá)到檢測家電的功能。要控制家電,首先系統(tǒng)要識(shí)別是什么用戶向系統(tǒng)發(fā)送了消息,而且系統(tǒng)還要識(shí)別受到消息的內(nèi)容,從而對(duì)家電進(jìn)行控制。系統(tǒng)首先保存用戶的電話號(hào)碼,當(dāng)用戶收到消息時(shí),首先判斷是否是智能家居系統(tǒng)對(duì)家電發(fā)送了消息,如果是系統(tǒng)的主人發(fā)送的控制命令,系統(tǒng)接著對(duì)短信進(jìn)行解析,最后控制器對(duì)家電進(jìn)行控制。若智能家居系統(tǒng)收到其他用戶的短信請(qǐng)求,將不會(huì)對(duì)短信進(jìn)行解析,也不會(huì)對(duì)短信進(jìn)行監(jiān)控。GSM短信模塊遠(yuǎn)程監(jiān)控家電過程如圖4.3所示:圖4.3GSM短信模塊的程序流程圖控制器的串口和連接GSM模塊的max232串口相連接,當(dāng)GSM模塊收到信息后馬上向開發(fā)板返回AT指令信息,因而系統(tǒng)一直在檢測是否收到短信,4.2溫度采集模塊的實(shí)現(xiàn)DS18B20溫度傳感器提供9位到12位<二進(jìn)制>溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DS18B20或從DS18B2O送出,從主機(jī)CPU到DS18B20僅需一條線<共地>,DS18B20可選擇兩種供電方式,一是數(shù)據(jù)總線供電方式,可節(jié)省一根導(dǎo)線,但測量溫度時(shí)間較長;二是外部供電方式,DS18B2O工作電源由VDD引腳接入,I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,這樣雖多用一根導(dǎo)線,但測量速度較快,同時(shí)總線可以掛接多個(gè)DS18B20傳感器,組成多點(diǎn)測溫系統(tǒng),為了實(shí)現(xiàn)及時(shí)多點(diǎn)采集溫度,本設(shè)計(jì)選用了外部供電的方式。DS18B20的測量范圍從-55攝氏度到+125攝氏度,增量值為0.5攝氏度,可在1s<典型值>內(nèi)把溫度變換成數(shù)字,每一個(gè)DS18B20在出廠時(shí)已給定了唯一的序號(hào),多個(gè)DS18B20可以存放在同一條單線總線上,實(shí)現(xiàn)多路溫度采集。DS18B20的序號(hào)值存放在DSl8B20內(nèi)部的ROM<只讀存貯器>中,多路測量時(shí)需用DS18B20的ROM搜索命令對(duì)所有單線總線上的傳感器進(jìn)行搜索,然后初始化各DS18B20并發(fā)送跳過ROM命令和RAM溫度轉(zhuǎn)換命令,單線上各DS18B20完成溫度轉(zhuǎn)換后,即可定位某一個(gè)DS18B20,并用匹配ROM命令和RAM溫度讀取命令讀取其數(shù)字溫度值。ROM和RAM存儲(chǔ)器操作命令分別如表4.1和表4.2所示:表4.1ROM存儲(chǔ)器操作命令ROM指令代碼指令功能ReadROM33H讀取DS18B20的64位器件序列號(hào)Match55H總線控制在單線上定位一只特定的DS18B20SkipROMCCH總線控制器不需發(fā)送器件序列號(hào)就可對(duì)存儲(chǔ)器操作SearchROMF0H識(shí)別單線總線上各單線器件的序列號(hào)AlarmROMECH對(duì)溫度超過報(bào)警上、下限的器件做出警告搜索響應(yīng)表4.2RAM存儲(chǔ)器操作命令RAM指令代碼指令功能WriteScratchpad4EH寫入數(shù)據(jù)到儲(chǔ)存器字節(jié)2,3和字節(jié)4ReadScratchpadBEH讀暫存存儲(chǔ)器CopyScratchpad48H將暫存器中TH,TL和配置寄存器內(nèi)容復(fù)雜到E2PROMConvertTemperature44H啟動(dòng)DS18B20溫度轉(zhuǎn)換RecallEPROMB8H將E2PROM中TH,TL和配置寄存器內(nèi)容回寫到暫存器ReadPowersupplyB4H讀電源數(shù)字溫度傳感器DS18B20將模擬溫度信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),然后通過串行通信的方式輸出。因此,溫度采集的關(guān)鍵是DS18B20的通信協(xié)議,為了確保數(shù)據(jù)轉(zhuǎn)換與傳輸?shù)耐暾?DS18B20器件必須采用嚴(yán)格的通信協(xié)議與處理器S3C2440進(jìn)行數(shù)據(jù)通信DS18B20數(shù)據(jù)通信協(xié)議包括傳感器的初始化,數(shù)據(jù)執(zhí)行ROM操作命令和存儲(chǔ)器操作命令等。初始化協(xié)議定義復(fù)位和存在脈沖時(shí)序,數(shù)據(jù)執(zhí)行協(xié)議定義處理器讀0讀1時(shí)序和寫0寫1時(shí)序,所有的命令和數(shù)據(jù)以字節(jié)發(fā)送,并且低位在前,高位在后,DS18B20數(shù)據(jù)通信時(shí)序圖如圖4.4所示:圖4.4DS18B20數(shù)據(jù)通信時(shí)序圖處理器將單線總線DQ從邏輯高電平拉為邏輯低電平時(shí),啟動(dòng)一個(gè)寫時(shí)序,所有的寫時(shí)序必須在60μs~12μs內(nèi)完成,并且兩個(gè)連續(xù)的寫時(shí)序之間至少需要1μs的恢復(fù)時(shí)間,在寫"0"整個(gè)時(shí)序期間,總線一直保持為邏輯低電平,而在寫"1"時(shí)序期間,處理器先將單線總線拉為邏輯低電平,在時(shí)序開始后15μs內(nèi)將總線釋放,寫"0"與寫"1"時(shí)序如圖4.5所示:圖4.5寫"0"與寫"1"時(shí)序圖DS18B20溫度采集程序設(shè)計(jì)流程圖如圖4.6所示:圖4.6DS18B20溫度采集程序設(shè)計(jì)流程圖數(shù)據(jù)采集過程中驅(qū)動(dòng)層所編寫的主要函數(shù)如下:1:staticintds18b20_init<void>;//數(shù)據(jù)初始化2:staticunsignedcharwrite_byte<void>;//向DS18B20讀數(shù)據(jù)3:staticunsignedcharread_byte<void>;//往DS18B20寫數(shù)據(jù)4:staticssize_tds18b20_read<structfile*file,char__user*buf,size_tcount,loff_t*f_pos>;//讀出溫度值,然后利用copy_to_user函數(shù)返回給用戶層。為便于調(diào)試,該驅(qū)動(dòng)模塊沒有內(nèi)核驅(qū)動(dòng)方式配置,而是以模塊方式配置,所以每次使用的時(shí)候必須通過運(yùn)行insmoddr18b20.ko命令加載模塊。溫度傳感器在嵌入式系統(tǒng)中對(duì)應(yīng)的設(shè)備文件為/dev/ds18b20,首先系統(tǒng)調(diào)用函數(shù)intfd_ds18b20=open<"/dev/ds18b20",O_RDWR>打開嵌入式設(shè)備中的傳感器設(shè)備,打開設(shè)備失敗返回-1,以后的系統(tǒng)函數(shù)就可以使用fd_ds18b20來對(duì)設(shè)備進(jìn)行操作。關(guān)閉數(shù)字溫度傳感器的函數(shù)為close<fd_ds18b20>。系統(tǒng)通過調(diào)用read<fd_ds18b20,&result,sizeof<result>>讀出溫度值,保存在result中,最后顯示出來。4.3煙霧傳感器模塊的實(shí)現(xiàn)MQ-2氣體傳感器可檢測多種可燃性氣體,當(dāng)傳感器所處環(huán)境中存在可燃性氣體時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出電壓信號(hào)。根據(jù)傳感器輸出的電壓大小判斷環(huán)境中可燃性氣體濃度的大小。MQ-2氣體傳感器輸出的是電壓信號(hào),處理器要把相應(yīng)的電壓值轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,S3C2440自帶了A/D轉(zhuǎn)換的功能,A/D轉(zhuǎn)換芯片在嵌入式系統(tǒng)中對(duì)應(yīng)的設(shè)備文件"/dev/adc",首先系統(tǒng)調(diào)用函數(shù)intfd_adctest=open<"/dev/adc",O_RDWR>打開嵌入式設(shè)備中的A/D轉(zhuǎn)換設(shè)備,打開設(shè)備失敗返回-1,以后的系統(tǒng)函數(shù)就可以使用fd_adctest來對(duì)設(shè)備進(jìn)行操作。關(guān)閉煙霧傳感器的函數(shù)為close<fd_adctest>。下圖是煙霧傳感器的連接圖。圖4.7煙霧傳感器接線圖如上圖所示,MQ-2其他傳感器有6只針狀管引腳,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度教育產(chǎn)品代理銷售合作二零二四版合同3篇
- 2024年標(biāo)準(zhǔn)合作框架合同版B版
- 2024版怡高物業(yè)管理顧問合同(含污水處理設(shè)施維護(hù))3篇
- 2024年度商場物業(yè)合同創(chuàng)新物業(yè)運(yùn)營模式下的成本效益分析2篇
- 2024年度在建大數(shù)據(jù)中心項(xiàng)目轉(zhuǎn)讓合同3篇
- 2024年度影視版權(quán)許可合同:電視劇版權(quán)授予與使用2篇
- 2024年標(biāo)準(zhǔn)型龍門吊租賃合約合同版B版
- 2024全新豬肉冷鏈物流配送服務(wù)合同下載2篇
- 2024商鋪轉(zhuǎn)讓及后續(xù)經(jīng)營維護(hù)三方合同示范文本
- 2024年新版房產(chǎn)預(yù)購合同指南版B版
- 長春市2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題-9
- 教科版三年級(jí)上冊(cè)科學(xué)期末測試卷含答案(達(dá)標(biāo)題)
- 戰(zhàn)略投資部面試題目及答案
- 2023龍井溫泉度假區(qū)文旅項(xiàng)目營銷運(yùn)營提升升級(jí)策劃案
- 《3DMAX》課程標(biāo)準(zhǔn)(高職環(huán)境藝術(shù)設(shè)計(jì)專業(yè))
- 2023年健康管理師(基礎(chǔ))考題及答案
- 說課大賽作品于素玲9-《藥物制劑技術(shù)》課程設(shè)計(jì)
- 2025屆高三復(fù)習(xí)備考工作計(jì)劃暨行動(dòng)方案
- 三位數(shù)乘以三位數(shù)-計(jì)算題-豎式-50題-
- 醫(yī)療器械商貿(mào)公司簡介
- 《邏輯的力量》課件++2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修上冊(cè)
評(píng)論
0/150
提交評(píng)論