物聯(lián)網(wǎng)智能家居系統(tǒng)畢業(yè)論文_第1頁
物聯(lián)網(wǎng)智能家居系統(tǒng)畢業(yè)論文_第2頁
物聯(lián)網(wǎng)智能家居系統(tǒng)畢業(yè)論文_第3頁
物聯(lián)網(wǎng)智能家居系統(tǒng)畢業(yè)論文_第4頁
物聯(lián)網(wǎng)智能家居系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、天津電子信息職業(yè)技術(shù)學(xué)院畢業(yè)論文題目 物聯(lián)網(wǎng)智能家居系統(tǒng) 姓 名 專業(yè)班級 指導(dǎo)教師 完成時(shí)間 天津電子信息職業(yè)技術(shù)學(xué)院 制2017.1摘 要:隨著經(jīng)濟(jì)的高速增長。建立一個(gè)低成本、高效率的智能家居系統(tǒng)已成為當(dāng)今世界的一個(gè)熱點(diǎn)話題。目前越來越多的智能家居產(chǎn)品出現(xiàn)在市場上,其中以基于電話網(wǎng)的智能安防系統(tǒng)居多。目前在我國,使用家庭電話的用戶越來越少,而且電話線路受地域的影響嚴(yán)重容易損壞,所以這類產(chǎn)品局限性很大。隨著電信GSM網(wǎng)絡(luò)覆蓋范圍的無縫化、廣闊化以及手機(jī)的日益普及為基于GSM網(wǎng)絡(luò)的智能家居系統(tǒng)提供了巨大的應(yīng)用空間。本文設(shè)計(jì)了一種基于GSM網(wǎng)絡(luò)的智能家居系統(tǒng)。本系統(tǒng)采用cortexA8為系統(tǒng)控制

2、核心,對家庭中出現(xiàn)的意外情況使用各種傳感器進(jìn)行采集,然后通過GSM模塊把采集到的信息發(fā)送給管理人員,管理員根據(jù)收到的信息發(fā)送相關(guān)指令給GSM模塊來控制現(xiàn)場執(zhí)行機(jī)構(gòu),完成意外情況的排除。關(guān)鍵詞:智能家居 GSM 傳感器 遠(yuǎn)程控制目錄一、 緒論1(一) 智能家居概述1(二) 智能家居網(wǎng)絡(luò)構(gòu)成21、家居網(wǎng)絡(luò)控制平臺(tái)22、智能家居子系統(tǒng)23、智能家居網(wǎng)絡(luò)的信號(hào)傳輸介質(zhì)3 4、遠(yuǎn)程控制技術(shù)概括45、智能家居控制系統(tǒng)的國內(nèi)外發(fā)展現(xiàn)狀5二、系統(tǒng)需求分析及方案6(一)應(yīng)用程序功能需求分析6(二)開發(fā)環(huán)境需求分析61、 硬件環(huán)境62、 軟件環(huán)境7三、硬件模塊及其驅(qū)動(dòng)設(shè)計(jì)實(shí)現(xiàn)7(一) 主控模塊7 (二) 通信模塊

3、71、 TC35模塊簡介72、 TC35模塊與cortexA8連接方式73、傳感器模塊8四、系統(tǒng)軟件部分36(一)主程序及大致流程361、溫度監(jiān)測線程372、視頻監(jiān)測線程383、報(bào)警流程39(二)短消息程序設(shè)計(jì)401、 AT指令介紹402、PDU編碼規(guī)則423、短信模式設(shè)置424、短信的發(fā)送方法43五、測試及結(jié)論43(一)測試原則43(二)測試方案43(三)結(jié)論44參 考 文 獻(xiàn)44一、 緒論21世紀(jì)是信息化的時(shí)代,物聯(lián)網(wǎng)新技術(shù)推動(dòng)了人類文明的進(jìn)步。隨著人們生活水平的提高以及科技的高速發(fā)展,智能化家居已成為一種必然趨勢而深入千家萬戶。智能化家居是利用電力自動(dòng)化、計(jì)算機(jī)、網(wǎng)絡(luò)通信、信息、結(jié)構(gòu)化布

4、線、無線等技術(shù)將多種設(shè)備應(yīng)用和綜合功能組成一個(gè)強(qiáng)大的完善的系統(tǒng)。它以住房為平臺(tái),同時(shí)兼?zhèn)渚W(wǎng)絡(luò)家電、家電設(shè)備自動(dòng)化、建筑、通信、遠(yuǎn)程醫(yī)療、家庭辦公、娛樂等功能,集結(jié)構(gòu)、服務(wù)、系統(tǒng)、管理為一體的舒適、節(jié)能、安全、便利、高效、娛樂、環(huán)保的居住環(huán)境。本文介紹的智能化家居控制系統(tǒng)可以使得人們通過手機(jī)在任何時(shí)候、任意地點(diǎn)對家中的任意電器(例如:熱水器、空調(diào)、電飯煲、燈光等)進(jìn)行遠(yuǎn)程控制。你可以在下班途中,預(yù)先將家中的空調(diào)打開、電飯煲煮好香噴噴的米飯、讓熱水器提前燒好熱水,而這一切的實(shí)現(xiàn)都僅僅是靠一條短信完成。本系統(tǒng)采用cortexA8作為主控器件,遠(yuǎn)程控制是基于GSM網(wǎng)絡(luò)短消息通信方式,AT指令作為系統(tǒng)控

5、制命令,cortexA8通過對收到的信息進(jìn)行解碼來識(shí)別控制信號(hào),用戶只需向TC35模塊發(fā)送相應(yīng)指令即可實(shí)現(xiàn)遠(yuǎn)程控制操作。溫度傳感器完成現(xiàn)場信息的采集,cortexA8對數(shù)據(jù)進(jìn)行及時(shí)的處理,實(shí)現(xiàn)實(shí)時(shí)測控;短消息發(fā)送部分采用基于GSM模塊TC35和IT公司的電平轉(zhuǎn)換芯片MAX232等器件構(gòu)成的移動(dòng)終端的硬件電路,完成短消息收發(fā)功能。(一) 智能家居概述進(jìn)入21世紀(jì),科學(xué)技術(shù)與生產(chǎn)力加速了社會(huì)的發(fā)展創(chuàng)造能力,隨之而來的也是人類對于物質(zhì)水平的大力需求,而居住的環(huán)境要求也成為了人們關(guān)注的領(lǐng)域,所以“智能化”這一概念也促使科技工作者們將其引入智能家居民應(yīng)用方面的小區(qū)住宅以及小區(qū)建筑技術(shù)之中。由于計(jì)算機(jī)控制

6、系統(tǒng)發(fā)展迅速,以及電子信息行業(yè)的發(fā)展成長快速,也大力促進(jìn)了智能家居控制系統(tǒng)的產(chǎn)生。因?yàn)楣潭娫捄突ヂ?lián)網(wǎng)技術(shù)基本上是傳統(tǒng)智能家居控制系統(tǒng)的技術(shù)核心,所以安裝固定電話以及互聯(lián)網(wǎng)成為了達(dá)到家庭用戶傳統(tǒng)智能家居控制系統(tǒng)的產(chǎn)生的根本硬件技術(shù)、以及硬件要求。但是隨著電子技術(shù)、智能通信技術(shù)以及網(wǎng)絡(luò)技術(shù)發(fā)展日新月異的今天,基于GSM網(wǎng)絡(luò)通訊體統(tǒng)的低成本無限制智能家居控制系統(tǒng)成為廣大居民以及中國居民享受新一代智能家居控制系統(tǒng)的變革捷徑。智能家居系統(tǒng)成為一種新興的綜合技術(shù)學(xué)科。智能家居系統(tǒng)也可被定義為一個(gè)控制過程,或者控制系統(tǒng),利用現(xiàn)在被大多數(shù)科技人員已掌握的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)布線技術(shù)、網(wǎng)絡(luò)通信系統(tǒng)將其糅合,使之成

7、為融合在家居控制中的多個(gè)子系統(tǒng),并使其智能的結(jié)合在一起。目前相比較其他時(shí)分多址技術(shù)手段而言,更加完美、成熟、應(yīng)用更廣泛的一種普及率很高的系統(tǒng)是GSM(Global System for Mobile communication)系統(tǒng)。在我國,已建成的基本覆蓋全國的GSM數(shù)字蜂窩移動(dòng)技術(shù)信息網(wǎng),早已成為我國公眾移動(dòng)生活密不可分的一種技術(shù)之一。在GSM短信服務(wù)的基礎(chǔ)上,智能家居控制系統(tǒng)是在移動(dòng)網(wǎng)絡(luò)通訊技術(shù)的短信應(yīng)用功能的技術(shù)運(yùn)用。由于GSM網(wǎng)絡(luò)通訊系統(tǒng)在全國范圍實(shí)現(xiàn)了聯(lián)網(wǎng)以及漫游能力,所以它的網(wǎng)絡(luò)功能很強(qiáng)大,用戶無需另外搭建網(wǎng)絡(luò),因此,在GSM網(wǎng)絡(luò)覆蓋率達(dá)到全國范圍的情況下,為客戶省下了昂貴的網(wǎng)絡(luò)

8、搭建費(fèi)用以及維護(hù)網(wǎng)絡(luò)費(fèi)用。同時(shí),它對用戶數(shù)量的限制也十分少,也為客戶克服了一般智能家居控制系統(tǒng)中系統(tǒng)成本高、維護(hù)艱難、并且網(wǎng)絡(luò)覆蓋范圍小以及用戶組數(shù)量少的缺點(diǎn)。相比傳統(tǒng)網(wǎng)絡(luò)智能家居控制系統(tǒng)在網(wǎng)絡(luò)通信覆蓋率上具有較大的優(yōu)勢,加之GSM本身就具有數(shù)據(jù)的輸送功能,這也促成了GSM應(yīng)用在廣大生活中得到迅速普及?;贕SM的無線通訊智能系統(tǒng)還具有雙線傳送數(shù)據(jù)的功能、性能穩(wěn)定。為客戶在遠(yuǎn)程操控以及用戶控制設(shè)備提供了強(qiáng)大技術(shù)平臺(tái)。遠(yuǎn)程操控系統(tǒng)應(yīng)用廣泛,遍及中國經(jīng)濟(jì)生活發(fā)展的各大領(lǐng)域。而且目前人們正在使用中的操控系統(tǒng)從成本、性能、穩(wěn)定性、便捷性以及維護(hù)的難易方面基本都不能使人們最大程度的滿意。所以,GSM網(wǎng)絡(luò)

9、通信技術(shù)的提出大大的提升了智能家居控制系統(tǒng)的完善程度。(二) 智能家居網(wǎng)絡(luò)構(gòu)成1、家居網(wǎng)絡(luò)控制平臺(tái)智能家居主控制平臺(tái)是智能家居控制系統(tǒng)的“心臟”部分,等效的可以說是智能家居的核心。對方可以通過手機(jī)短信的方式接受用戶命令并實(shí)時(shí)操作,或者對對用戶手機(jī)發(fā)送控制電器運(yùn)轉(zhuǎn)情況,對家庭總線和各個(gè)網(wǎng)絡(luò)子系統(tǒng)實(shí)施連接,完成智能家居控制系統(tǒng)平臺(tái)的鏈接構(gòu)成。2、智能家居子系統(tǒng)智能家居系統(tǒng)的連接一般均為家電網(wǎng)絡(luò)中的耗電類型的家電電器。例如冰箱、空調(diào)、電磁爐、熱水器、電飯煲、電燈等家用電器。這些消耗電類型的家庭電器可以在現(xiàn)場立即布線互聯(lián)構(gòu)成智能家居系統(tǒng),與主控家居智能平臺(tái)相連接,再進(jìn)行現(xiàn)場網(wǎng)絡(luò)綜合布線連接智能家居子系

10、統(tǒng),就可以由用戶利用協(xié)議中的操作指令短信操作家庭中電器設(shè)備了。3、智能家居網(wǎng)絡(luò)的信號(hào)傳輸介質(zhì)智能家居網(wǎng)絡(luò)通訊形式多彩多樣,可以采用不同的傳輸介質(zhì)傳輸網(wǎng)絡(luò)通訊信號(hào),大體上有電力線、電話線、雙絞線、無線方式。(1) 電力線基于電力線為傳輸介質(zhì)的通信網(wǎng)絡(luò)可以說是最方便的,因?yàn)楝F(xiàn)在家庭基本都已鋪設(shè)供電源的電源線而且家中的電源線已經(jīng)延伸到家庭生活的每個(gè)角落。而且,現(xiàn)在大部分家用電器設(shè)備都離不開電源。所以利用家中的電力線完成智能家居控制系統(tǒng)網(wǎng)絡(luò)方案方便而且經(jīng)濟(jì)便宜。在國際上,首個(gè)實(shí)現(xiàn)家庭電器智能化的方案便是通過電力線作為信息傳輸載體的而達(dá)成的。(2) 電話線利用電話線作為網(wǎng)絡(luò)信息傳輸載體起步雖然相較于電力

11、線稍微晚一些,但是因?yàn)樗哂胁季趾唵?、使用方便、安全性能好和易于大?guī)模推廣等優(yōu)點(diǎn),而且近期電話線的傳輸速率也完成了大幅度提升,所以它的應(yīng)用和發(fā)展非???,在美國已有成熟的產(chǎn)品。其中包括:3COM、Advanced MicroDevices、AT&T、Compaq、HewlettPackard、Intel、IBM和Lucent Technologies等發(fā)起成立了“電話線家居網(wǎng)絡(luò)協(xié)會(huì)”,至今己有100多個(gè)成員。(3) 雙絞線同軸電纜目前最通用的傳輸介質(zhì)是用雙絞線同軸電纜??墒窃诨陔p絞線同軸電纜實(shí)際操作中最大的困難是需要另外鋪設(shè)24根專用的傳輸線。但是它擁有通信可靠性和總線接口相對簡單等優(yōu)

12、點(diǎn),其仍然可以受到廣泛用戶的大批量應(yīng)用。(4) 無線方式無線方式通過射頻載波或者紅外線等形式傳輸用戶信息,“藍(lán)牙技術(shù)”是最近發(fā)展最火熱的無線通信方式。音頻和視頻信號(hào)、計(jì)算機(jī)網(wǎng)絡(luò)信號(hào)、控制信號(hào)均可以利用藍(lán)牙技術(shù)傳輸家庭用戶信號(hào)。而且用無線方式傳輸信息時(shí)無需架設(shè)任何線路且實(shí)現(xiàn)極其方便靈活,非常適合在家庭網(wǎng)絡(luò)中應(yīng)用。由于無線方式簡單方便,易于架設(shè),所以本論文便是使用的GSM無線技術(shù)平臺(tái)操作的智能家居平臺(tái)系統(tǒng)。4、遠(yuǎn)程控制技術(shù)概括本論文研究立于一個(gè)對于家居電器進(jìn)行遠(yuǎn)程控制,以便于實(shí)現(xiàn)家居智能化的系統(tǒng)。遠(yuǎn)程控制指的是遠(yuǎn)端的家居控制者通過通信系統(tǒng)對現(xiàn)場的家居電器系統(tǒng)進(jìn)行控制,其目的在于解除地域和環(huán)境對控制

13、的限制,實(shí)現(xiàn)高集中的遠(yuǎn)程控制,最終實(shí)現(xiàn)生產(chǎn)資料和社會(huì)資源與通訊資源的優(yōu)化配置?,F(xiàn)代遠(yuǎn)程控制技術(shù)是計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)的集合,也是信息技術(shù)和控制技術(shù)的結(jié)合。從用戶角度來講,需要的是一種方便、安全、可靠的一種傳輸方式??梢岳霉矓?shù)據(jù)網(wǎng)或者通過架設(shè)專線來實(shí)現(xiàn)有線傳輸,然而在大多數(shù)情況下,傳輸距離、架線環(huán)境等條件限制了有線傳輸2。無線傳輸也有很多途徑,如架設(shè)微波線路、(超)短波電臺(tái)等都是通過自建的無線發(fā)射接收系統(tǒng)。然而無線傳輸架設(shè)成本高、頻率資源的限制、容易受到地形地貌的影響、系統(tǒng)的架設(shè)和維護(hù)工作繁重,在業(yè)務(wù)量小、用戶數(shù)量大、位置分散等應(yīng)用場合中也受到很大限制。目前,經(jīng)過三代發(fā)展的移動(dòng)通信

14、,移動(dòng)通信體制中的時(shí)分多址技術(shù)中最完善、最成熟、應(yīng)用最廣的一種移動(dòng)通信系統(tǒng)就是GSM系統(tǒng)2。在數(shù)據(jù)采集、遠(yuǎn)距離監(jiān)控、GPS定位、繳費(fèi)通知、無線報(bào)警等領(lǐng)域GMS都有著廣泛的應(yīng)用。在全國范圍內(nèi)GSM網(wǎng)絡(luò)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,用戶無需另外組網(wǎng),GMS具有很強(qiáng)的網(wǎng)絡(luò)能力,網(wǎng)絡(luò)覆蓋范圍廣闊,用戶不必再花費(fèi)節(jié)昂貴的建網(wǎng)費(fèi)用和維護(hù)費(fèi)用2。比傳統(tǒng)的集群系統(tǒng)在無線網(wǎng)絡(luò)覆蓋上具有無法比擬的優(yōu)勢,加上GSM的SMS本身具備的數(shù)據(jù)傳送功能,都使得這些應(yīng)用得到迅速的普及2。GSM短信息系統(tǒng)性能穩(wěn)定還可進(jìn)行雙向數(shù)據(jù)傳輸,為監(jiān)控設(shè)備和遠(yuǎn)程數(shù)據(jù)傳送通信提供了一個(gè)可靠、安全的支持平臺(tái)。短消息發(fā)送一般采用其專用控制信道(DCCH)來

15、發(fā)送,短信息的服務(wù)端可以實(shí)時(shí)的了解到對方是否接收到短信息,一旦信息傳送失敗,短信中心實(shí)時(shí)得知被叫用戶沒有回復(fù)信息,網(wǎng)絡(luò)管理端則會(huì)繼續(xù)發(fā)送消息,以保證被叫方能收到短信息。所以,在GSM網(wǎng)絡(luò)的一些主要的電信業(yè)務(wù)當(dāng)中,此類短消息業(yè)務(wù)的信息傳遞是實(shí)時(shí)安全的2。每個(gè)短消息的信息量都是140個(gè)八位組(7比特編碼,160個(gè)字符)不會(huì)超過140個(gè)字節(jié),絕對可以滿足單方面監(jiān)測用戶指標(biāo)的信息量。綜上所述,智能家居控制系統(tǒng)選用GSM的短消息控制方式,來實(shí)現(xiàn)智能家居設(shè)備的遠(yuǎn)程控制是可行的。5、智能家居控制系統(tǒng)的國內(nèi)外發(fā)展現(xiàn)狀目前,我國每年竣工的建筑面積達(dá)到20億平米,智能家居/建筑的產(chǎn)值至少在1-2萬億元以上。智能家

16、居的發(fā)展分為三個(gè)階段:首先是家庭電子化(Home Electronics)階段,這個(gè)時(shí)期主要是面向單個(gè)的電器,家庭電器之間并沒有形成網(wǎng)絡(luò),亦沒有大的聯(lián)系。其次是住宅自動(dòng)化(Home Automation)階段,這個(gè)時(shí)期是面向功能的階段,一部分的家庭電器之間形成了簡單的網(wǎng)絡(luò),主要是為了實(shí)現(xiàn)某個(gè)特定單一的功能,例如單一的自動(dòng)抄表功能。最后是家居智能化(歐洲稱為Smart Home,美國稱為 Wise House)階段,這個(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í)以

17、及娛樂的各種優(yōu)質(zhì)服務(wù),營造一種溫馨舒適的家庭氛圍。智能家居控制系統(tǒng)提供高效、舒適的家居環(huán)境,確保住戶的生命財(cái)產(chǎn)安全;集中或遠(yuǎn)程監(jiān)控家居環(huán)境的溫度、濕度以及風(fēng)速等,空氣中成分也可檢驗(yàn),為空氣質(zhì)量的提高提供依據(jù);電視機(jī)、CD等娛樂設(shè)施也不再需要人們近距離調(diào)節(jié);周圍環(huán)境以及太陽光的強(qiáng)弱變化都可以合理利用,使能耗降低,資源合理利用,保護(hù)環(huán)境;提供現(xiàn)代化的通信、信息服務(wù)12。在智能家居系統(tǒng)研發(fā)中,美國和歐洲一些發(fā)達(dá)國家一直處于領(lǐng)先地位。近年來,一大批國外知名企業(yè)先后擠身于智能家居的研發(fā)中尤其以美國微軟公司及摩托羅拉公司等為首12。摩托羅拉公司開發(fā)的“居所之門”、IBM公司開發(fā)的“家庭主任”、微軟公司開發(fā)

18、的“夢幻之家”等均已日趨成熟12。在亞洲,日本韓國新等一些經(jīng)濟(jì)發(fā)達(dá)國家的主要企業(yè)也進(jìn)軍智能化家居系統(tǒng)的開發(fā),對家居市場更是躍躍欲試。經(jīng)過哥本哈根會(huì)議,我國更加明確了節(jié)能減排,綠色建筑的目標(biāo),這就使住宅智能化凸顯出了其合理規(guī)劃,最大限度的節(jié)約能源的優(yōu)勢。如果我國大力推廣綠色建筑,僅在鋪設(shè)智能化系統(tǒng)上所需的新設(shè)備的生產(chǎn)上就有2000億到3000億人民幣的新市場。而中國“智能家居網(wǎng)絡(luò)”必在“智能化住宅”的框架下形成一個(gè)新型IT產(chǎn)業(yè),而這一切必將對未來幾十年我國房地產(chǎn)的健康有效發(fā)展起著深遠(yuǎn)的影響。由于智能家居系統(tǒng)還缺乏統(tǒng)一明確的國際標(biāo)準(zhǔn),許多公司開發(fā)出的產(chǎn)品都是基于自己組的網(wǎng)絡(luò)和信息交換協(xié)議,很多產(chǎn)品

19、是針對特定的組網(wǎng)環(huán)境開發(fā)的,部分核心技術(shù)沒有對外公布,技術(shù)復(fù)雜,直接導(dǎo)致了使用范圍的局限性。再者,缺乏對應(yīng)的第三方產(chǎn)品,各個(gè)接入設(shè)備之間不能兼容、互操作性差、不利于產(chǎn)品的擴(kuò)充,因而進(jìn)一步局限了產(chǎn)品的發(fā)展。再加上,有的系統(tǒng)成本過高,嚴(yán)重影響了產(chǎn)品的普及。因此設(shè)計(jì)一個(gè)符合國家國情和規(guī)范的集遠(yuǎn)程控制和本地控制為一體的智能家居控制系統(tǒng)是非常具有現(xiàn)實(shí)意義的,且勢在必行。作為智能家居的核心系統(tǒng)的智能家居的控制系統(tǒng),它的設(shè)計(jì)功能的完善必將推動(dòng)住宅智能化的發(fā)展。而系統(tǒng)功能的集成化、用戶使用的傻瓜化以及市場的平民化將是智能家居控制器的發(fā)展趨勢,系統(tǒng)也將逐步邁向綠色化。最終,我想全人類的夢想是智能家居控制系統(tǒng)將囊

20、括所有的家事雜物,讓我們真正的享受舒適溫馨的家庭生活。二、系統(tǒng)需求分析及方案 物聯(lián)網(wǎng)智能家居要將各成體系、互不相連的子系統(tǒng)協(xié)調(diào)起來,就必須有一個(gè)兼容性強(qiáng)的中央家居處理平臺(tái),接受并處理控制設(shè)施發(fā)出的信息,然后傳送信號(hào)給你希望控制的家電或者其他家居子系統(tǒng)。(一)應(yīng)用程序功能需求分析本設(shè)計(jì)采用模塊化設(shè)計(jì),整個(gè)系統(tǒng)由通信模塊、視頻采集模塊、傳感器模塊、Lcd模塊組成。cortexA8通過對傳感器模塊傳送來的信息進(jìn)行判斷,如果信息異常,則利用蜂鳴器以及LED實(shí)現(xiàn)報(bào)警,并通過GSM模塊向用戶發(fā)送報(bào)警信息。同時(shí)用戶也可以根據(jù)需要,發(fā)送短信給GSM模塊來控制相應(yīng)的家電。實(shí)現(xiàn)對現(xiàn)場圖像實(shí)時(shí)監(jiān)控及工作位置實(shí)時(shí)控制

21、。(二)開發(fā)環(huán)境需求分析1、 硬件環(huán)境(1) 硬件配置原則具有可靠性,可用性和安全性,在滿足軟件需求的條件下,具有完善的技術(shù)支持,能夠滿足個(gè)人學(xué)習(xí)和設(shè)計(jì)需要。(2) 運(yùn)行本軟件所需的硬件資源CPU: 800M及以上;內(nèi)存容量: 內(nèi)存達(dá)128M以上。本系統(tǒng)采用cortexA8為中央處理平臺(tái)。2、 軟件環(huán)境(1) 系統(tǒng)軟件配置規(guī)則 能夠在指定的運(yùn)行環(huán)境下,滿足該軟件的可靠性、安全性和可用性的要求。(2) 系統(tǒng)軟件的配置方案配置有持續(xù)工作能力、高穩(wěn)定性、高度可集成的開放式標(biāo)準(zhǔn)的操作系統(tǒng),如Windows NT 、Windows2000、UNIX,Linux等。熟悉C+高級程序設(shè)計(jì)語言。本系統(tǒng)采用Li

22、nux為操作系統(tǒng)。三、硬件模塊及其驅(qū)動(dòng)設(shè)計(jì)實(shí)現(xiàn)(一) 主控模塊 本系統(tǒng)采用cortexA8為控制核心,cortexA8不斷監(jiān)測有沒有異常信息,當(dāng)發(fā)現(xiàn)異常信息時(shí),則進(jìn)入相應(yīng)中斷,利用cortexA8通過UART串口向GSM模塊發(fā)送一系列AT指令并啟動(dòng)GSM模塊發(fā)送報(bào)警短信給用戶。再根據(jù)用戶發(fā)送回來的指令打開相應(yīng)的繼電器來控制家用電器,完成現(xiàn)場控制和監(jiān)測任務(wù)。(二) 通信模塊1、 TC35模塊簡介TC35是西門子公司推出的一種完整的無線GSM模塊,主要由GSM基帶處理器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口、SIM卡支架七部分組成。它可以快速、安全可靠地實(shí)現(xiàn)系統(tǒng)方案中

23、的數(shù)據(jù)傳輸、短消息服務(wù)(Short Message Service)。模塊的工作電壓為3.34.8V。該模塊有AT指令集接口,支持文本和PDU模式的短消息第三組的二類傳真等。此外,TC35還擁有多方通話、電話簿功能、漫游檢測等功能。TC35具有TALK、IDLE、省電模式三種常用工作模式。通過它的40管腳的ZIF連接器實(shí)現(xiàn)指令、數(shù)據(jù)、語音信號(hào)、控制信號(hào)的雙向傳輸以及電源連接。TC35的核心是基帶處理器,主要處理GSM終端內(nèi)的語音、數(shù)據(jù)信號(hào),蜂窩射頻設(shè)備中所有的模擬和數(shù)字功能它也擁有??芍С諩FR、FR和語音編碼而不需要額外硬件電路。2、 TC35模塊與cortexA8連接方式TC35模塊主要通

24、過串口與cortexA8進(jìn)行連接,從而cortexA8實(shí)現(xiàn)對TC35模塊的控制??紤]到系統(tǒng)設(shè)計(jì)接口的簡單性并且與cortexA8的UART進(jìn)行連接,所以只采用TC35的串口提供了的兩線(TXD、RXD)控制線連接。系統(tǒng)采用軟件對TC35模塊通信模塊進(jìn)行控制非常靈活,過多硬件信號(hào)的檢測也很好地避免了。對于TC35的其它管腳在不使用的時(shí)候,如果該管腳為輸出時(shí),一般將該管腳懸空;如果該管腳為輸入管腳,則需要將該管腳通過10的電阻上拉。另外需要將IGT管腳上拉因?yàn)镮GT管腳是控制TC35模塊工作的管腳。并且cortexA8與該管腳進(jìn)行連接,因此我們可以利用cortexA8來控制TC35模塊的工作模式。

25、由于TC35模塊功能健全,TC35模塊的電源管腳是并連在一起的,因此這里不需要做任何的射頻處理和信號(hào)處理。此外,IGT管腳是TC35??斓膯?dòng)腳,與cortexA8的ALE管腳相連接。系統(tǒng)加電后為使TC35i進(jìn)入工作狀態(tài),必須在ALE管腳加一個(gè)大于100ms的低脈沖,電平下降持續(xù)時(shí)間不可超過1ms。以下為TC35模塊的接口設(shè)計(jì)。3、傳感器模塊linux2.6內(nèi)核的設(shè)備驅(qū)動(dòng)模型中關(guān)心總線、設(shè)備和驅(qū)動(dòng)這三個(gè)實(shí)體,總線將設(shè)備和驅(qū)動(dòng)綁定。SOC系統(tǒng)中集成的獨(dú)立的外設(shè)控制器、掛接在soc內(nèi)存空間的外設(shè)不依附于PCI、USB、I2C、SPI等?;谶@個(gè)背景l(fā)inux發(fā)明了一種虛擬的總線,稱為platfor

26、m總線,相應(yīng)的設(shè)備platform_device,而驅(qū)動(dòng)稱為platform_driver。(1)led圖3.1 led電路采用platform框架 自動(dòng)獲取設(shè)備號(hào),生成設(shè)備節(jié)點(diǎn)。led驅(qū)動(dòng):struct file_operations fops = .owner = THIS_MODULE,.read = led_read,.ioctl = led_ioctl,.release = led_release,.open = led_open,.write = led_write,;static int led_probe(struct platform_device *devices)stru

27、ct resource *r;int ret;dev_t dev = MKDEV(led_major, led_minor);if(led_major)ret = register_chrdev_region(dev, count, devname);elseret = alloc_chrdev_region(&dev, led_minor, count, devname);led_major = MAJOR(dev);if(ret)return ret;cdev_init(&cdev, &fops);ret=cdev_add(&cdev, dev, 1);if

28、(ret)goto out_unreg_chrdev;atomic_set(&num, 0);myclass = class_create(THIS_MODULE, devname);if (IS_ERR(myclass)goto out_cdevdel;device_create(myclass, NULL, dev, NULL, "%s""%d", devname, led_minor);r = platform_get_resource(devices, IORESOURCE_MEM, 0);if (r = NULL) goto out_c

29、lass_destroy;GPG3_CON=r->start;r = platform_get_resource(devices, IORESOURCE_MEM, 1);if (r = NULL) goto out_class_destroy;GPG3_DAT=r->start;return 0;out_class_destroy:device_destroy(myclass, dev);class_destroy(myclass);out_cdevdel:cdev_del(&cdev);out_unreg_chrdev:unregister_chrdev_region(d

30、ev, count);return -EINVAL;int led_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)unsigned int m=0x0;int tmp;if(cmd=CMDINIT)if(atomic_sub_and_test(1,&num)gpg3con = ioremap(GPG3_CON, 4);if(NULL = gpg3con)return -ENOMEM;gpg3dat = ioremap(GPG3_DAT, 4);if(NULL = gpg

31、3dat)return -ENOMEM;tmp=ioread32(gpg3con);tmp=tmp&(0xffff);iowrite32(0x1111|tmp, gpg3con);tmp=ioread32(gpg3dat);tmp=tmp&(0xf);iowrite32(0x0|tmp, gpg3dat);atomic_inc(&num);return 0;else m=cmd & 0xf;tmp=ioread32(gpg3dat);tmp=tmp&(0xf);iowrite32(m, gpg3dat);return 0;led應(yīng)用程序設(shè)計(jì)void le

32、d_init(void); 函數(shù)功能:打開led設(shè)備并int led_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg) 函數(shù)功能:LED報(bào)警 輸入?yún)?shù):cmd 參數(shù)表示那個(gè)燈亮void led_exit(void); 函數(shù)功能:關(guān)閉led設(shè)備(2) 蜂鳴器圖3.2 pwm電路圖采用platform框架 自動(dòng)獲取設(shè)備號(hào),生成設(shè)備節(jié)點(diǎn)。由于這個(gè)蜂鳴器是無源的,所以要想使其產(chǎn)生聲音必須給他提供一個(gè)有一定頻率的高低電平。所以這里我們采用S5PC100的PWM定時(shí)器來使蜂鳴器發(fā)出聲音。st

33、atic int pwm_probe(struct platform_device *devices)struct resource *r;int ret;dev_t dev = MKDEV(pwm_major, pwm_minor);if(pwm_major)ret = register_chrdev_region(dev, count, devname);elseret = alloc_chrdev_region(&dev, pwm_minor, count, devname);pwm_major = MAJOR(dev);if(ret)return ret;cdev_init(&

34、amp;cdev, &fops);ret=cdev_add(&cdev, dev, 1);if(ret)goto out_unreg_chrdev;atomic_set(&num, 0);myclass = class_create(THIS_MODULE, devname);if (IS_ERR(myclass)goto out_cdevdel;device_create(myclass, NULL, dev, NULL, "%s""%d", devname, pwm_minor);r = platform_get_resour

35、ce(devices, IORESOURCE_MEM, 0);if (r = NULL) goto out_class_destroy;GPD_CON1=r->start;r = platform_get_resource(devices, IORESOURCE_MEM, 1);if (r = NULL) goto out_class_destroy;TCFG0=r->start;r = platform_get_resource(devices, IORESOURCE_MEM, 2);if (r = NULL) goto out_class_destroy;TCFG1=r->

36、;start;r = platform_get_resource(devices, IORESOURCE_MEM, 3);if (r = NULL) goto out_class_destroy;TCNTB1=r->start;r = platform_get_resource(devices, IORESOURCE_MEM, 4);if (r = NULL) goto out_class_destroy;TCMPB1=r->start;r = platform_get_resource(devices, IORESOURCE_MEM, 5);if (r = NULL) goto

37、out_class_destroy;TCON=r->start;return 0;out_class_destroy:device_destroy(myclass, dev);class_destroy(myclass);out_cdevdel:cdev_del(&cdev);out_unreg_chrdev:unregister_chrdev_region(dev, count);return -EINVAL;int pwm_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long

38、 arg)int tmp;if(cmd=CMDINIT)if(atomic_sub_and_test(1,&num)gpdcon1 = ioremap(GPD_CON1, 4);if(NULL = gpdcon1)return -ENOMEM;tcfg0 = ioremap(TCFG0, 4);if(NULL = tcfg0)return -ENOMEM;tcfg1 = ioremap(TCFG1, 4);if(NULL = tcfg1)return -ENOMEM;tcntb1 = ioremap(TCNTB1, 4);if(NULL = tcntb1)return -ENOMEM;

39、tcmpb1 = ioremap(TCMPB1, 4);if(NULL = tcmpb1)return -ENOMEM;gtcon = ioremap(TCON, 4);if(NULL = gtcon)return -ENOMEM;tmp=ioread32(gpdcon1);tmp=tmp&(0xf<<4);tmp=tmp|(0x2<<4);iowrite32(tmp, gpdcon1);tmp=ioread32(tcfg0);tmp=tmp&0xff;tmp=tmp|0xfe;iowrite32(tmp, tcfg0);tmp=ioread32(tcf

40、g1);tmp=tmp&(0xf<<4);tmp=tmp|(0x1<<4);iowrite32(tmp, tcfg1);iowrite32(300, tcntb1);iowrite32(150, tcmpb1);tmp=ioread32(gtcon);tmp=tmp|0x0e<<8;tmp=tmp&(0x01<<8);iowrite32(tmp, gtcon);atomic_inc(&num);return 0;else if(cmd=CMDGO)tmp=ioread32(gtcon);tmp=tmp|(0x0d<&

41、lt;8);tmp=tmp&(0x02<<8);iowrite32(tmp, gtcon);else if(cmd=CMDSTOP)tmp=ioread32(gtcon);tmp=tmp&(0x0f<<8);iowrite32(tmp, gtcon);return 0;蜂鳴器應(yīng)用程序設(shè)計(jì):int beep_init(void); 函數(shù)功能:打開蜂鳴器設(shè)備文件void beep_exit(void); 函數(shù)功能:關(guān)閉蜂鳴器設(shè)備文件void beep_on(int num); 函數(shù)功能:在出現(xiàn)火災(zāi)時(shí)蜂鳴器報(bào)警 輸入?yún)?shù):int num 表示報(bào)警的次數(shù)void

42、 beep_off(void); 函數(shù)功能:停止蜂鳴器響(3)lm75溫度傳感器I2C驅(qū)動(dòng)三種方式:用戶層驅(qū)動(dòng)、sysfs接口驅(qū)動(dòng)、字符設(shè)備接口驅(qū)動(dòng)(項(xiàng)目采用方案)。圖3.3 lm75電路圖驅(qū)動(dòng)程序設(shè)計(jì):static struct file_operations lm75_fops = .owner = THIS_MODULE,.read= lm75_read,.open = lm75_open,.release= lm75_release,;static int lm75_probe(struct i2c_client *client, const struct i2c_device_id

43、*id)int status;u8 set_mask, clr_mask;int new;my_client=client;if (!i2c_check_functionality(client->adapter,I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)return -EIO;data = kzalloc(sizeof(struct lm75_data), GFP_KERNEL);if (!data)return -ENOMEM;i2c_set_clientdata(client, data);mutex_init(&

44、;data->update_lock);set_mask = 0;clr_mask = (1 << 0)| (1 << 6) | (1 << 5);status = lm75_read_value(client, LM75_REG_CONF);if (status < 0) dev_dbg(&client->dev, "Can't read config? %dn", status);goto exit_free;data->orig_conf = status;new = status &

45、 clr_mask;new |= set_mask;if (status != new)lm75_write_value(client, LM75_REG_CONF, new);dev_dbg(&client->dev, "Config %02xn", new);devn = MKDEV(lm75_major, lm75_minor);if(lm75_major)status = register_chrdev_region(devn, count, devname);elsestatus = alloc_chrdev_region(&devn, lm

46、75_minor, count, devname);lm75_major = MAJOR(devn);if(status)return status;cdev_init(&cdev, &lm75_fops);status=cdev_add(&cdev, devn, 1);if(status)goto out_unreg_chrdev;myclass = class_create(THIS_MODULE, devname);if (IS_ERR(myclass)goto out_cdevdel;device_create(myclass, NULL, devn, NULL

47、, "%s""%d", devname, lm75_minor);goto out;out_cdevdel:cdev_del(&cdev);out_unreg_chrdev:unregister_chrdev_region(devn, count);exit_free:kfree(data);out:return status;static int lm75_read_value(struct i2c_client *client, u8 reg)int value;if (reg = LM75_REG_CONF)return i2c_smbus

48、_read_byte_data(client, reg);value = i2c_smbus_read_word_data(client, reg);return (value < 0) ? value : swab16(value);static int lm75_write_value(struct i2c_client *client, u8 reg, u16 value)if (reg = LM75_REG_CONF)return i2c_smbus_write_byte_data(client, reg, value);elsereturn i2c_smbus_write_wo

49、rd_data(client, reg, swab16(value);static int _init sensors_lm75_init(void)return i2c_add_driver(&lm75_driver);static void _exit sensors_lm75_exit(void)i2c_del_driver(&lm75_driver);由于lm75讀出的是TEMP寄存器(16位)的值但是lm75TEMP寄存器是高9位有效,精度是0.5。在驅(qū)動(dòng)中不宜使用浮點(diǎn)數(shù)運(yùn)算,所以讀出的值在應(yīng)用層轉(zhuǎn)換。read (fd,buf,sizeof(buf);函數(shù)功能:從bu

50、f中讀取溫度值fd = open ("/dev/lm750",O_RDWR);read (fd,buf,sizeof(buf);m=atoi(buf);n=m&0xff80;if(n&0x8000) n=n>>7; n=n-1;n=n; n=n&0xfe;n=-n; elsen=n>>7;tmp=n*0.5;(4)視屏模塊圖3.4 V4L2流程V4L2采用流水線的方式,操作更簡單直觀,基本遵循打開視頻設(shè)備、設(shè)置格式、處理數(shù)據(jù)、關(guān)閉設(shè)備,更多的具體操作通過ioctl函數(shù)來實(shí)現(xiàn)。 打開視頻設(shè)備在Linux中,設(shè)備被看做一個(gè)文件。使

51、用open函數(shù)打開視頻設(shè)備。打開設(shè)備有兩種方式:1、用非阻塞模式打開int Fd;Fd = open("/dev/video2", O_RDWR | O_NONBLOCK, 0);2用阻塞模式打開:Fd = open("/dev/video2", O_RDWR, 0);應(yīng)用程序能夠使用阻塞模式或非阻塞模式打開視頻設(shè)備,如果使用非阻塞模式調(diào)用視頻設(shè)備,即使尚未捕獲到信息,驅(qū)動(dòng)依舊會(huì)把緩存(DQBUFF)里的東西返回給應(yīng)用程序。設(shè)定屬性及采集方式打開視頻設(shè)備后,可以設(shè)置該視頻設(shè)備的屬性,例如裁剪、縮放等。這一步是可選的。在Linux編程中,一般使用ioctl

52、函數(shù)來對設(shè)備的I/O通道進(jìn)行管理: int ioctl (int _fd, unsigned long int _request, ./*args*/) ;在進(jìn)行V4L2開發(fā)中,常用的命令標(biāo)志符如下(some are optional): VIDIOC_REQBUFS: 分配內(nèi)存 VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的數(shù)據(jù)緩存轉(zhuǎn)換成物理地址 VIDIOC_QUERYCAP:查詢驅(qū)動(dòng)功能 VIDIOC_ENUM_FMT:得到視頻設(shè)備支持的視頻格式 VIDIOC_S_FMT: 設(shè)置視頻設(shè)備的頻捕獲格式 VIDIOC_G_FMT: 得到視頻設(shè)備的頻捕獲格式 VIDIO

53、C_TRY_FMT: 視頻設(shè)備支持的顯示格式 VIDIOC_QBUF: 從緩存中讀取數(shù)據(jù) VIDIOC_DQBUF: 數(shù)據(jù)重新進(jìn)入緩存隊(duì)列 VIDIOC_STREAMON:開始視頻獲取VIDIOC_STREAMOFF:結(jié)束視頻獲取 VIDIOC_QUERYSTD:檢查當(dāng)前視頻設(shè)備支持的標(biāo)準(zhǔn),例如PAL或NTSC。 在亞洲,一般使用PAL(720X576)制式的攝像頭,而歐洲一般使用NTSC(720X480),使用VIDIOC_QUERYSTD來檢測:v4l2_std_id std;do ret = ioctl(fd, VIDIOC_QUERYSTD, &std); while (ret = -1 && errno = EAGAIN);switch (std) case V4L2_STD_NTSC: / case V4L2_STD_PAL: /設(shè)置視頻捕獲格式當(dāng)檢測完視頻設(shè)備支持的標(biāo)準(zhǔn)后,還需要設(shè)定視頻捕獲格式,結(jié)構(gòu)如下:struct v4l2_format fmmt;memset ( & fmmt, 0, sizeof(fmmt) );fmmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;fmmt.fmt.pix.width = 720;fmmt.fmt.p

溫馨提示

  • 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

提交評論