




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PINGDINGSHANUNIVERSITY畢業(yè)論文(設(shè)計(jì))題目:基于JAVA技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)(信息控制端的設(shè)計(jì))院(系):軟件學(xué)院專業(yè)年級(jí):軟件工程2007級(jí)姓名:張燦燦學(xué)號(hào):071530214指導(dǎo)教師:鮑義東講師2010年11月1日原創(chuàng)性聲明本人鄭重聲明:本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。畢業(yè)論文中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的科研成果。對(duì)本文的研究成果做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本聲明的法律責(zé)任由本人承擔(dān)。論文作者簽名:張燦燦日期:2010年11月1日關(guān)于畢業(yè)論文使用授權(quán)的聲明本人在指導(dǎo)老師指導(dǎo)下所完成的論文及相關(guān)的資料(包括圖紙、試驗(yàn)記錄、原始數(shù)據(jù)、實(shí)物照片、圖片、錄音帶、設(shè)計(jì)手稿等),知識(shí)產(chǎn)權(quán)歸屬平頂山學(xué)院。本人完全了解平頂山學(xué)院有關(guān)保存、使用畢業(yè)論文的規(guī)定,同意學(xué)校保存或向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的紙質(zhì)版和電子版,允許論文被查閱和借閱;本人授權(quán)平頂山學(xué)院可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用任何復(fù)制手段保存和匯編本畢業(yè)論文。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為平頂山學(xué)院。本人離校后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時(shí),第一署名單位仍然為平頂山學(xué)院。論文作者簽名:張燦燦日期:2010年11月1日指導(dǎo)老師簽名:日期:基于JAVA技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)(信息控制端的設(shè)計(jì))摘要智能家居(SmartHome),又稱智能住宅。它是以住宅為平臺(tái),兼?zhèn)浣ㄖ⒕W(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化,集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境。與智能家居的含義近似的還有家庭自動(dòng)化(HomeAutomation)、電子家庭(ElectronicHome、E-home)、數(shù)字家園(Digitalfamily)、網(wǎng)絡(luò)家居(NetworkHome),智能家庭/建筑(Inte1ligenthome/building)等。智能家居也可以定義為一個(gè)系統(tǒng)。利用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)、將與家居生活有關(guān)的各種子系統(tǒng),有機(jī)地結(jié)合在一起,通過(guò)統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。本文以智能家居廣闊的市場(chǎng)需求為基礎(chǔ),選取家庭智能控制系統(tǒng)為研究對(duì)象。在對(duì)家庭樓宇自動(dòng)化協(xié)議、嵌入式系統(tǒng)深入研究的基礎(chǔ)上,采用Java技術(shù)為平臺(tái),成功開(kāi)發(fā)了調(diào)速調(diào)光控制器、家用電器調(diào)節(jié)控制器等等各項(xiàng)功能。最后,對(duì)整個(gè)系統(tǒng)進(jìn)行了大量的調(diào)試工作,包括軟件仿真和系統(tǒng)連機(jī)調(diào)試,結(jié)果證明這種網(wǎng)絡(luò)控制的方案是可行的。關(guān)鍵詞:SmartHome,JAVA,J2me,智能家居TheDesignofsmarthomesystembasedonJAVA(theinformationcontroldesign)AbstractSmartHome,alsoknownasSmartResidential.Itisresidentialasaplatform,combiningarchitecture,networkcommunications,informationappliances,equipmentautomation,collectionsystem,structure,services,managementfortheintegratedhigh-performance,comfort,safety,convenience,environmentalprotection,livingenvironment.ThemeaningofintelligenthomeandweresimilartoHomeAutomation,ElectronicHome,Digitalfamily,NetworkHome,Inte1ligenthome/building.Intelligenthomecanalsobedefinedasasystem.Theuseofcomputertechnology,networkcommunicationtechnology,integratedwiringtechnology,homelifeandthevarioussubsystems,thecombinationofmanagement,throughco-ordination,sothathomelifemorecomfortable,safeandeffective.Drivenbylargemarketrequirements,wechosetheintelligenthomesystemasresearchcontentandtheembeddedsystemasresearchtool.Basedonin-depthstudyofhomeautomationandbuildingautomationprotocolandembeddemsystem,successfullydevelopedthemotordriverandlightingcontroller,vacuumtypedejectascollectingdeviceonhigh-speedtrain,palmercoderbasedonprotocol.Lightingcontrollerbasedonprotocol.Last,wehavacarriedoutalotofworktodebugthewholesystemincludingsoftwaresimulationandsystemonlinedebugging.Theresulthasprovedthattheschemeofthenetworkcontrolisfeasible.KeyWords:SmartHome,JAVA,J2me
目錄PINGDINGSHANUNIVERSITY 11緒論 11.1引言 11.2研究的意義 11.3研究的內(nèi)容 2系統(tǒng)介紹 21.3.2模塊劃分 32需求分析 42.1可行性分析 4技術(shù)可行性 4操作可行性 42.2系統(tǒng)性能需求 52.3系統(tǒng)功能需求 53系統(tǒng)總體設(shè)計(jì) 123.1技術(shù)總體分析 12移動(dòng)客戶端軟件設(shè)計(jì) 123.1.2智能控制軟件設(shè)計(jì) 173.1.3系統(tǒng)開(kāi)發(fā)工具和環(huán)境 17智能家居平臺(tái)系統(tǒng)的技術(shù)特點(diǎn) 183.2系統(tǒng)網(wǎng)絡(luò)規(guī)劃 193.3系統(tǒng)功能模塊 193.3.1燈光控制 193.1.2信息家電控制 193.1.3信息家電控制器如何實(shí)現(xiàn)對(duì)空調(diào)的遙控 203.4系統(tǒng)工作原理 204智能家居系統(tǒng)功能 224.1家庭通信 224.2遠(yuǎn)程電器控制模塊的模擬實(shí)現(xiàn) 235結(jié)論 24附錄 25參考文獻(xiàn) 28致謝 301緒論1.1引言隨著社會(huì)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,數(shù)字網(wǎng)絡(luò)生活時(shí)代已經(jīng)到來(lái),以家庭智能化、物業(yè)管理現(xiàn)代化和社區(qū)服務(wù)信息化為典型特征的智能社區(qū)也在悄然應(yīng)運(yùn)而生。住宅智能化是人類住宅的又一場(chǎng)新的革命。它能夠?yàn)槿藗兲峁└虞p松、有序、高效的現(xiàn)代生活方式,是未來(lái)居住模式的必然發(fā)展趨勢(shì)。隨之而然,智能家居系統(tǒng)也在逐漸成為一個(gè)新興的研究領(lǐng)域。智能家居提供的是一個(gè)具有高度安全性、生活舒適性和通信快捷性的信息化與自動(dòng)居住空間。智能家居是指將家庭中各種與信息相關(guān)的通信設(shè)備、家用電器和家庭保安裝置,通過(guò)家庭總線技術(shù)連接到一個(gè)家庭智能化系統(tǒng)(即家庭控制器)上,以實(shí)現(xiàn)監(jiān)視、控制和家庭事務(wù)型管理,并保持這些設(shè)施與住宅環(huán)境的和諧與協(xié)調(diào)。智能家居系統(tǒng)能夠在不改變家中任何家電的情況下,對(duì)家里的電器、燈光、電源、家庭環(huán)境進(jìn)行方便地控制,使人們盡享高科技帶來(lái)的簡(jiǎn)便而時(shí)尚的現(xiàn)代生活。將社會(huì)的信息化建設(shè)與小區(qū)的信息化、智能化建設(shè)有機(jī)地融合起來(lái),充分利用已有的寬帶網(wǎng)絡(luò),做到資源共享,達(dá)到節(jié)省投資、降低使用費(fèi)用、方便物業(yè)管理,為用戶提供盡可能多的高品質(zhì)服務(wù),已成為房產(chǎn)商、電信運(yùn)營(yíng)商、物業(yè)管理公司、城市公用事業(yè)公司和用戶等幾方共同關(guān)注的問(wèn)題。自動(dòng)化的智能家居不再是一幢被動(dòng)的建筑,相反,成了幫助主人盡量利用時(shí)間的工具,使家庭更為舒適、安全、高效和節(jié)能。家居智能化技術(shù)起源于美國(guó),網(wǎng)絡(luò)系統(tǒng)中的各個(gè)設(shè)備均可實(shí)現(xiàn)資源的共享。因其布線簡(jiǎn)單、功能靈活,擴(kuò)展容易而被人們廣泛接受和應(yīng)用。目前,已經(jīng)有越來(lái)越多的機(jī)構(gòu)和個(gè)人開(kāi)始了對(duì)智能家居的研究。1.2研究的意義智能家庭控制系統(tǒng)是以HFC、以太網(wǎng)、現(xiàn)場(chǎng)總線、公共電話網(wǎng)、無(wú)線網(wǎng)的傳輸網(wǎng)絡(luò)為平臺(tái),控制技術(shù)為技術(shù)平臺(tái),現(xiàn)場(chǎng)總線為應(yīng)用操作平臺(tái),構(gòu)成一個(gè)完整的集家庭通信、家庭設(shè)備自動(dòng)控制、家庭安全防范等功能的控制系統(tǒng)。
智能家居控制系統(tǒng)的總體目標(biāo)是通過(guò)采用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、控制技術(shù)和集成技術(shù)建立一個(gè)由家庭到小區(qū)乃至整個(gè)城市的綜合信息服務(wù)和系統(tǒng),以此來(lái)提高住宅高新技術(shù)的含量和居民居住環(huán)境水平。
使人們享受到高科技帶來(lái)的方便快捷的生活方式。人們的生活方式在逐漸加快,因此生活中就需要更為便捷的生活方式。智能家居就是在這種情況下應(yīng)運(yùn)而生的。人們需要通過(guò)一個(gè)按鈕就可以實(shí)現(xiàn)對(duì)家具的控制,減少了原來(lái)需要尋找遙控器或者是開(kāi)關(guān)等方式帶來(lái)的不便。從而使人們的家更舒服,更方便。系統(tǒng)通常由系統(tǒng)服務(wù)器、家庭控制器(各種模塊)、各種路由器、電纜調(diào)制解調(diào)器頭端設(shè)備、交換機(jī)、通訊器、控制器、無(wú)線收發(fā)器、各種探測(cè)器、各種傳感器、各種執(zhí)行機(jī)構(gòu)、打印機(jī)等主要部分組成。1.3研究的內(nèi)容由于把系統(tǒng)分為客戶端、服務(wù)器端和網(wǎng)絡(luò)連接三個(gè)部分。而我主要負(fù)責(zé)客戶端的操作。因此本文主要研究客戶端中所實(shí)現(xiàn)的功能。由客戶端發(fā)送控制信息,控制服務(wù)器端的家居狀態(tài),服務(wù)器受到控制信號(hào)之后,修改現(xiàn)在的狀態(tài),并把修改之后的狀態(tài)返還給客戶端。系統(tǒng)介紹使用J2me技術(shù)實(shí)現(xiàn)手機(jī)界面,以及家用電器的監(jiān)視和控制、照明設(shè)備的監(jiān)視、調(diào)節(jié)和控制、門(mén)的控制、窗簾的控制……并實(shí)現(xiàn)客戶端與服務(wù)器端之間的通信。通過(guò)手機(jī)上的各個(gè)按鈕控制發(fā)送信號(hào),進(jìn)而實(shí)現(xiàn)家居的開(kāi)關(guān)控制。系統(tǒng)選用J2me技術(shù)開(kāi)發(fā)基于手機(jī)平臺(tái)的信息控制端軟件。以發(fā)送數(shù)據(jù)信號(hào)的方式發(fā)送到控制端,實(shí)現(xiàn)控制家居設(shè)備的功能。J2me是sun公司針對(duì)嵌入式、消費(fèi)類電子產(chǎn)品推出的開(kāi)發(fā)平臺(tái),是一系列規(guī)范的集合,由JCP組織制定相關(guān)的JSR并發(fā)布,各個(gè)廠商會(huì)按照規(guī)范在自己的產(chǎn)品上進(jìn)行實(shí)現(xiàn),但是必須要通過(guò)TCK測(cè)試,確保兼容性。通過(guò)使用J2me中的無(wú)線網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)實(shí)現(xiàn)手機(jī)客戶端與系統(tǒng)終端的通訊。使用通用連接框架技術(shù)建立HTTP連接。使用servlet技術(shù)實(shí)現(xiàn)計(jì)算機(jī)之間的即時(shí)通訊。1.3.2模塊劃分主頁(yè)面顯示智能家居控制系統(tǒng)的字樣,以及輸入密碼的輸入框。密碼輸入成功則可以直接進(jìn)入智能家居控制系統(tǒng)的主界面。如果密碼輸入錯(cuò)誤,則需要重新輸入。對(duì)密碼的設(shè)定采用最大不能超過(guò)八個(gè)字符的簡(jiǎn)單定義來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)安全的保護(hù)工作。密碼輸入成功則可以登陸控制家具的頁(yè)面。根據(jù)房間的布局,把整個(gè)家庭分為三個(gè)模塊。分別為客廳、廚房和臥室,對(duì)房間中的家居進(jìn)行合理的分配,從而達(dá)到更高效的目的。同時(shí)為了方便修改密碼。把修改密碼的功能也和這三個(gè)控制頁(yè)面一起,放入到了同一個(gè)界面中。下面介紹各個(gè)房間中能夠控制的家用電器??蛷d中能夠控制的家用電器包括:防盜門(mén)、窗簾、吊燈、空調(diào)和電視。防盜門(mén)、窗簾和電視的控制分為兩個(gè)分別是“開(kāi)啟”和“關(guān)閉”。吊燈的控制除了在“開(kāi)啟”和“關(guān)閉”的基礎(chǔ)上增加了一個(gè)亮度調(diào)節(jié)的控制,用滑動(dòng)條的形式來(lái)實(shí)現(xiàn)對(duì)溫度的調(diào)解。根據(jù)空調(diào)的特性,給空調(diào)又增加了溫度和濕度的控制。分別用兩個(gè)滑動(dòng)條來(lái)實(shí)現(xiàn)對(duì)家居的控制。廚房中能夠控制的家用電器包括:燈、窗簾。廚房中的燈和窗簾的控制分為“開(kāi)啟”和“關(guān)閉”兩個(gè)設(shè)置。臥室中能夠控制的家用電器包括:床頭燈、窗簾和吊燈。臥室中的床頭燈和臺(tái)燈一樣在開(kāi)啟和關(guān)閉的基礎(chǔ)上增加了對(duì)亮度調(diào)節(jié)的控制。窗簾則只有“開(kāi)啟”和“關(guān)閉”的功能為了方便人們的操作,增加了修改密碼的功能。在臥室的下面就是改密的字樣。點(diǎn)擊確定按鈕,則可以修改密碼,鍵入新密碼,返回密碼修改成功的字樣。無(wú)論何時(shí)何地,只要您想要控制家中家居的狀態(tài),拿起手機(jī),進(jìn)入到智能家居控制系統(tǒng),選擇要更改的房間,以及要控制的電器,選擇之后點(diǎn)擊發(fā)送按鈕,就可以實(shí)現(xiàn)對(duì)家用電器狀態(tài)的更改??照{(diào)和其它的模式則不同,不僅具有開(kāi)和關(guān)的狀態(tài),還增加了溫度的調(diào)節(jié)和控制。電燈的控制方式和空調(diào)的類似,在開(kāi)和關(guān)控制的基礎(chǔ)上增加了調(diào)解亮度的功能。使人們能夠根據(jù)自己的喜好來(lái)調(diào)節(jié)亮度。豐富了人們選擇的范圍,使選擇方式不再單一。
2需求分析為了方便后續(xù)工作的進(jìn)行。減少開(kāi)發(fā)過(guò)程中的工作量。在代碼編寫(xiě)之前就要做好整個(gè)系統(tǒng)的規(guī)劃工作。探討系統(tǒng)的可行性。2.1可行性分析驗(yàn)證一個(gè)系統(tǒng)是否可行,需要從很多的方面著手分析。其中主要的內(nèi)容包括:技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個(gè)方面。技術(shù)可行性系統(tǒng)采用J2me技術(shù)。使用J2me中特有的手機(jī)模擬器進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)對(duì)各種家具的控制。J2me技術(shù)規(guī)范定義了Java技術(shù)在資源有限制的設(shè)備中的表現(xiàn)形式。J2me主要適用于小型嵌入式設(shè)備,這些設(shè)備與PC或是服務(wù)器設(shè)備相比沒(méi)有統(tǒng)一的硬件標(biāo)準(zhǔn)、外觀與操作方式,其功用也是千差萬(wàn)別。但是J2me在使用于這些設(shè)備的同時(shí)也保留了Java的傳統(tǒng)特性,即任何時(shí)間和任何地點(diǎn)的代碼具有可移植性、部署靈活性、安全的網(wǎng)絡(luò)傳輸性,以及代碼穩(wěn)定性。(1)在給定的時(shí)間內(nèi)能夠?qū)崿F(xiàn)任務(wù)書(shū)中的功能。能夠?qū)崿F(xiàn)頁(yè)面的跳轉(zhuǎn)和以及對(duì)服務(wù)器端家電的控制。(2)從軟件的質(zhì)量方面來(lái)看,此軟件運(yùn)行速度較高,功能具備有實(shí)用價(jià)值。后期軟件維護(hù)代價(jià)相應(yīng)比較小。(3)軟件的生產(chǎn)率較高。能在短時(shí)間內(nèi)完成有效地工作。經(jīng)濟(jì)可行性此系統(tǒng)雖然需要依靠硬件來(lái)實(shí)現(xiàn),但是開(kāi)發(fā)成本相對(duì)較低。后期維護(hù)簡(jiǎn)單方便。如果能夠?qū)崿F(xiàn),則能夠取得可觀的效益。收益遠(yuǎn)遠(yuǎn)大于支出,因此此項(xiàng)目在經(jīng)濟(jì)方面是可行的。操作可行性對(duì)于用戶來(lái)說(shuō),能夠使用該軟件系統(tǒng),能夠方便人們的生活,使人們生活的環(huán)境更加的美觀。墻面上不會(huì)再到處都是開(kāi)關(guān),同時(shí)也不用為了尋找遙控器而發(fā)愁。使用此系統(tǒng),能夠使人們的生活方式發(fā)生天翻地覆的變化。讓人們享受科技帶來(lái)的方便生活。在家中你可以拿起手機(jī),選擇要控制的家電,然后更改其開(kāi)關(guān)狀態(tài),在戶外也同樣可以控制,實(shí)現(xiàn)家中和戶外同等控制的功能,同時(shí)優(yōu)化了無(wú)線網(wǎng)絡(luò)傳輸過(guò)程中網(wǎng)絡(luò)延遲帶來(lái)的時(shí)間上的延遲,使人們?cè)谧疃痰臅r(shí)間內(nèi)接收到服務(wù)器端返回的家居控制的信息。2.2系統(tǒng)性能需求智能家居控制系統(tǒng)是一個(gè)很有發(fā)展前景的系統(tǒng)。因此為了使本系統(tǒng)能夠長(zhǎng)期使用,必須使系統(tǒng)滿足安全、穩(wěn)定、可靠、高效的運(yùn)行模式,生活水平的提高,伴隨著生活質(zhì)量的提高。同時(shí)人們生活的節(jié)奏也逐漸加快,怎樣高速的完成任務(wù)就是我們要考慮的主要問(wèn)題。因此系統(tǒng)應(yīng)滿足如下性能需求:(1)較強(qiáng)的擴(kuò)展能力和通用性,此系統(tǒng)即能夠滿足一個(gè)家庭之間的通信,同時(shí)對(duì)一個(gè)小區(qū)來(lái)說(shuō)也同樣適用。由于這次我們主要研究的是控制家居這方面的內(nèi)容,以后,我們還可以擴(kuò)展此系統(tǒng),加上遠(yuǎn)程通信、智能報(bào)警等等各項(xiàng)功能。(2)由于本系統(tǒng)的界面簡(jiǎn)單明了,因此人們很容易就學(xué)會(huì)操作。擴(kuò)大了系統(tǒng)的用戶群。為了提高人們的生活質(zhì)量,本系統(tǒng)應(yīng)運(yùn)而生。在不改變?nèi)藗兩钭≌那闆r下,有效的實(shí)現(xiàn)對(duì)家居的控制。使人們可以節(jié)約時(shí)間,享受生活。(3)系統(tǒng)的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是我們要考慮的主要問(wèn)題。在控制家電的過(guò)程中,我們一定要確保對(duì)家居狀態(tài)更改的準(zhǔn)確而且及時(shí)。優(yōu)化系統(tǒng),使系統(tǒng)的反應(yīng)能力和控制家居的能力滿足用戶多功能的需求。2.3系統(tǒng)功能需求項(xiàng)目主要實(shí)現(xiàn)用戶對(duì)家用電器的控制,其中包括家居的開(kāi)和關(guān),以及其他的相關(guān)操作??蛻舳税l(fā)送控制信息的請(qǐng)求,通過(guò)網(wǎng)絡(luò)傳輸方式發(fā)送到服務(wù)器端,服務(wù)器端相應(yīng)客戶端的操作,然后再把結(jié)果返回給客戶器端。其中家用電器的控制在開(kāi)和關(guān)燈相關(guān)控制的基礎(chǔ)上增加了智能調(diào)節(jié)控制??照{(diào)實(shí)現(xiàn)了用下拉框的形式開(kāi)實(shí)現(xiàn)對(duì)濕度和溫度的控制。進(jìn)而為人們實(shí)現(xiàn)對(duì)家具的控制提供了方便。其中,系統(tǒng)交互圖如下:客戶端MIDlet客戶端MIDlet發(fā)送消息和數(shù)據(jù)服務(wù)器Servlet處理登錄請(qǐng)求處理登錄請(qǐng)求處理登錄請(qǐng)求Update_AccountUpdate_AccountList_AccountLogin_User圖(1)客戶端服務(wù)器端系統(tǒng)交互圖對(duì)相關(guān)功能的描述如下:該系統(tǒng)共分為三個(gè)模塊,分別為客廳、廚房和臥室。模塊一:客廳中的家用電器主要包括:防盜門(mén)、窗簾、吊燈、空調(diào)和電視。實(shí)現(xiàn)對(duì)防盜門(mén)、窗簾的開(kāi)關(guān)控制、對(duì)吊燈的開(kāi)關(guān)操作以及亮度調(diào)節(jié)的控制、對(duì)空調(diào)的開(kāi)關(guān)操作以及對(duì)室內(nèi)溫度和濕度的控制以及調(diào)節(jié)控制電視的開(kāi)和關(guān),等等一系列的操作。模塊二:廚房中的家用電器主要包括:吊燈和窗簾。還是用下拉菜單實(shí)現(xiàn)對(duì)各個(gè)家電的開(kāi)關(guān)控制。模塊三:臥室中的家用電器主要包括:吊燈、窗簾和臺(tái)燈。這個(gè)模塊中的家具設(shè)計(jì)的雖然不是很多,但是也同樣實(shí)現(xiàn)了家具的開(kāi)關(guān)和家用電器的監(jiān)制和控制。模塊四:系統(tǒng)中為了保護(hù)使用者的權(quán)限,我們?cè)O(shè)置了密碼登陸。首頁(yè)的時(shí)候必須輸入密碼才能進(jìn)入到智能家居控制系統(tǒng)中。在頁(yè)面中增加了修改密碼的功能。用戶只需要輸入新的密碼,就可以完成對(duì)密碼修改的工作。系統(tǒng)運(yùn)行主界面如下所示:圖(2)智能家居控制系統(tǒng)主界面鍵入密碼“1234”之后點(diǎn)擊菜單中的登陸按鈕我們就可以進(jìn)入到智能家居控制系統(tǒng)的頁(yè)面。如果輸入密碼錯(cuò)誤,則跳轉(zhuǎn)到密碼輸入錯(cuò)誤頁(yè)面,重新輸入密碼,直到密碼輸入正確,則可以進(jìn)入到控制頁(yè)面。其中密碼輸入錯(cuò)誤之后頁(yè)面提示界面如下:圖(3)密碼提示界面輸入密碼正確之后,則可以進(jìn)入到系統(tǒng)控制界面。其中包括:客廳、廚房、臥室和改密功能。其中,系統(tǒng)運(yùn)行界面圖如下所示:圖(4)系統(tǒng)運(yùn)行界面圖客廳、廚房、臥室的布局都是類似的,現(xiàn)在我們選擇以客廳為例:其運(yùn)行界面圖如下所示:圖(5)客廳運(yùn)行頁(yè)面選擇空調(diào)之后,我們可以選擇其開(kāi)關(guān)狀態(tài),以及溫度和濕度的調(diào)節(jié)。然后發(fā)送數(shù)據(jù),將要更改的信息通過(guò)網(wǎng)絡(luò)發(fā)送到服務(wù)器端。由服務(wù)器端響應(yīng)數(shù)據(jù),然后將數(shù)據(jù)返回客戶端。其控制圖如下所示:圖(6)運(yùn)行界面如圖所示
3系統(tǒng)總體設(shè)計(jì)本系統(tǒng)主要研究基于J2me的智能家居控制系統(tǒng)客戶端的信息。運(yùn)用J2me語(yǔ)言編寫(xiě)代碼程序。通過(guò)硬件和軟件相結(jié)合的方式來(lái)實(shí)現(xiàn)對(duì)家用電器的監(jiān)制和控制。3.1技術(shù)總體分析軟件總體設(shè)計(jì)是基于J2me平臺(tái)開(kāi)發(fā)智能家居系統(tǒng)的移動(dòng)客戶端和服務(wù)器端。J2me在小型化、可移植性方面有很多優(yōu)勢(shì),是現(xiàn)在非常流行的程序設(shè)計(jì)語(yǔ)言。本系統(tǒng)是使用C/S網(wǎng)絡(luò)結(jié)構(gòu)并將GSM網(wǎng)絡(luò)與互聯(lián)網(wǎng)相結(jié)合的方式,在互聯(lián)網(wǎng)上擁有獨(dú)立的服務(wù)器,實(shí)現(xiàn)移動(dòng)客戶端與家庭主機(jī)之間的實(shí)時(shí)通信。3.1.1移動(dòng)客戶端軟件設(shè)計(jì)在通信過(guò)程中,移動(dòng)客戶端與家庭系統(tǒng)模塊是通過(guò)TCP協(xié)議建立的可靠連接。首先移動(dòng)客戶端和家庭系統(tǒng)模塊之間建立Socket連接,家庭系統(tǒng)模塊在端口上監(jiān)聽(tīng)等待客戶端連接??蛻舳诉B接之后,需要輸入密碼,密碼正確后服務(wù)器端會(huì)開(kāi)啟一個(gè)線程為此客戶通信,并將這個(gè)Socket連接保存到向量中。在客戶端和家庭系統(tǒng)模塊之間建立輸入輸出流。系統(tǒng)客戶端總共設(shè)計(jì)了兩個(gè)包,分別為familyClient和familyClient.NetWork。其中,familyClient包中包含了六個(gè)類,分別為ControlCanvas.java、FamilyList.java、MainMID.java、MenuCanvas.java、MidPlayer.java和PassWordCanvas.java。而familyClient.NetWork包中則是留了兩個(gè)接口分別問(wèn)send()和recived()兩個(gè)接口。其中ControlCanvas類中使用低級(jí)用戶Canvas來(lái)設(shè)置用戶界面按鈕,實(shí)現(xiàn)代碼如下:privateCommandCmd_Back; privateCommandCmd_Send;Cmd_Back=newCommand("返回",Command.BACK,1); Cmd_Send=newCommand("發(fā)送",Command.OK,1);由于程序中對(duì)于空調(diào)、電燈等的控制除了開(kāi)和關(guān)的控制之外,增加了滑動(dòng)條,因此,在這兒也對(duì)滑動(dòng)條進(jìn)行了定義。privateintON_OFF_NUM=0;//開(kāi)關(guān)鍵參數(shù) privateintROLL=100;//滾動(dòng)條參數(shù) privateintDOU_ROLL=100;//第二個(gè)滾動(dòng)條參數(shù)頁(yè)面中的背景圖片都是在畫(huà)布中實(shí)現(xiàn)的,因此這就需要使用繪制圖片的功能。其調(diào)用的代碼如下:if(Fl.getBackImage()!=null){ g.drawImage(Fl.getBackImage(),0,0,Graphics.TOP|Graphics.LEFT); } if(Type==ControlCanvasType_STYLE_ON_OFF){ //開(kāi)關(guān)樣式 draw_On_Off_String(g,getWidth()/5,getHeight()/3); }elseif(Type==ControlCanvasType_STYLE_ROLL){ //滾動(dòng)樣式 draw_roll_Style(g); }elseif(Type==ControlCanvasType_STYLE_DOUBLE_ROLL){ //雙滾動(dòng)條樣式 draw_doubleroll_Style(g);開(kāi)啟和關(guān)閉按鈕同樣也是在畫(huà)布上實(shí)現(xiàn)的,對(duì)于位置通過(guò)錨點(diǎn)來(lái)控制它們具體的方位,錨點(diǎn)的作用就是設(shè)置占用屏幕矩形方塊的具體位置。為了區(qū)別按鈕我們把按鈕的顏色也畫(huà)了出來(lái)。對(duì)于按鈕顏色的定義使用setColor()方法來(lái)對(duì)其進(jìn)行定義。在Graphics中還提供了對(duì)字體控制的方法。每個(gè)Graphics都有一個(gè)Font對(duì)象與其關(guān)聯(lián),來(lái)進(jìn)行文字的渲染操作,調(diào)用其類方法setFont(null),即可使字體恢復(fù)到默認(rèn)狀態(tài)。使用staticFontgetFont(intface,intStyle,intsize)來(lái)獲得一個(gè)對(duì)象以表示字體所具有制定的外觀。使用的均為最大字體。Face參數(shù),用來(lái)定義字體的外觀。其中使用到的Font類定義的外觀常數(shù)如下:StaticintFACE_PROPORTIONAL:“比例”字體外觀,數(shù)值64被制定給此數(shù)。Style參數(shù),用來(lái)定義字體的樣式。在這個(gè)類中使用到Font類定義的樣式參數(shù)如下:StaticintSTYLE_PLAIN:格式常數(shù)“常規(guī)”,數(shù)值0被制定給此常數(shù)。StaticintSTYLE_BOLD:格式常數(shù)“加粗”,數(shù)值1被制定給此常數(shù)。FamilyList類中定義了對(duì)智能家居控制系統(tǒng)的集中選擇。其中包括對(duì)title、選中菜單的定義。還有上面講述的對(duì)按鈕的定義。由于在選擇的時(shí)候有音效因此在這個(gè)類中隊(duì)音效這個(gè)方法進(jìn)行了調(diào)用。調(diào)用如下:MidPlayermp=newMidPlayer(); mp.sound();對(duì)于畫(huà)布的繪制包含對(duì)顏色、錨點(diǎn)以及字體大小位置等的設(shè)置。同時(shí)在鍵盤(pán)中添加了快捷鍵。其中,程序中使用到的方法如下所示: if(BackImage!=null){ g.drawImage(BackImage,0,0,Graphics.TOP|Graphics.LEFT); } for(inti=0;i<ITEMS.length;i++){ Fontfnt=Font.getDefaultFont(); if(i!=SeletedItem){fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN, Font.SIZE_LARGE); g.setFont(fnt); g.setColor(0x0022AA); g.drawString(ITEMS[i],pointX,BaseY+i*30,Graphics.TOP|Graphics.LEFT); }else{fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN|Font.STYLE_BOLD,Font.SIZE_LARGE); g.setFont(fnt); g.setColor(0xAA2200);g.drawString(ITEMS[i],pointX,BaseY+i*30,Graphics.TOP|Graphics.LEFT); g.drawRect(pointX-5,BaseY+i*30, ITEMS[i].length()*12+13,20);//畫(huà)選中框 } } }在程序中畫(huà)圖,必須定義基點(diǎn)。即橫坐標(biāo)和縱坐標(biāo)的基點(diǎn)如下:intpointX=40; intBaseY=40;MainMID類中定義了系統(tǒng)的初始界面。在這個(gè)類中定義了系統(tǒng)的注冊(cè)界面以及密碼頁(yè)面。使用以下按鈕來(lái)實(shí)現(xiàn)對(duì)屏幕的控制。Cmd_Exit=newCommand("退出",Command.EXIT,2); Cmd_Submit=newCommand("登入",Command.SCREEN,1); Cmd_Back=newCommand("回刪",Command.BACK,1);本程序中為了方便操作,將系統(tǒng)原始密碼設(shè)定為“1234”其中使用到的代碼如下所示:f(rs.getNextRecordID()==1){byte[]psw={'1','2','3','4'}; rs.addRecord(psw,0,psw.length);MenuCanvas類中定義了背景顏色、文字的初始高度以及滾動(dòng)條顯示與否。程序中定義了客廳、廚房、臥室以及改密功能。其中定義類型如下所示: privateString[]SELECT_ITEM={"客廳","廚房","臥室","改密"};對(duì)于重繪Canvas。需要獲取屏幕的高度和寬度。獲取內(nèi)容如下所示: intwidth=g.getClipWidth(); intheigh=g.getClipHeight();背景和滾動(dòng)條都需要在屏幕中畫(huà)出來(lái)。其中對(duì)于屏幕的繪制實(shí)現(xiàn)方法如下所示: g.setColor(Color_BackLine); g.drawRect(0,0,width-1,heigh-1); g.setColor(0xFFFFFF); Fontfnt=Font.getDefaultFont(); fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD, Font.SIZE_LARGE); g.setFont(fnt); drawLoadingBar(g);//畫(huà)滾動(dòng)條 drawMenus(g,width,heigh);MidPlayer類中實(shí)現(xiàn)的方法是音效的實(shí)現(xiàn)。使用MMAPI進(jìn)行音效開(kāi)發(fā),首先需要導(dǎo)入相關(guān)的開(kāi)發(fā)包,importjavax.microedition.media.Manager;importjavax.microedition.media.MediaException;importjavax.microedition.media.Player;importjavax.microedition.media.PlayerListener;創(chuàng)建一個(gè)Player對(duì)象的方式,從InputStream中讀取指定路徑的數(shù)據(jù)源或者DataSource和InputStream類型的數(shù)據(jù)源,分別返回一個(gè)Player,當(dāng)一個(gè)Player對(duì)象被創(chuàng)建后,使用Player接口的Start()方法就會(huì)盡可能快地啟動(dòng)數(shù)據(jù)的播放,當(dāng)數(shù)據(jù)播放完畢后,Player會(huì)自動(dòng)關(guān)閉。從InputStream中讀取數(shù)據(jù)源并創(chuàng)建Player,具體代碼如下: publicvoidsound(){ PlayermusicPlayer=null; try{ InputStreamis=getClass().getResourceAsStream("/Audio.wav"); musicPlayer=Manager.createPlayer(is,"audio/X-wav"); musicPlayer.prefetch(); musicPlayer.start(); }catch(IOExceptionex){ }catch(MediaExceptionex){ } }PassWordCanvas類實(shí)現(xiàn)對(duì)密碼的修改和控制。其中textfield實(shí)現(xiàn)對(duì)TextField進(jìn)行實(shí)例化。以及對(duì)密碼的控制。對(duì)背景顏色值以及背景線條顏色值進(jìn)行控制。顏色控制代碼如下所示: privateintColor_Background=0x000000;privateintColor_BackLine=0xFFFFFF;程序使用低級(jí)界面局必須要繼承Canvas這個(gè)抽象類,Canvas是Displaysble的直接子類,屬于J2me中的低級(jí)API。Canvas的核心就是paint()這個(gè)方法,這個(gè)方法主要是負(fù)責(zé)繪制屏幕上的畫(huà)面。每當(dāng)屏幕需要繪制時(shí),就會(huì)產(chǎn)生重繪事件,系統(tǒng)就會(huì)自動(dòng)調(diào)用paint(),并傳入一個(gè)Graphics對(duì)象。而調(diào)用reapaint()方法來(lái)產(chǎn)生重繪事件的方法是需要四個(gè)參數(shù),分別用來(lái)指示起始坐標(biāo)(X,y)和長(zhǎng)度,另一個(gè)則不需要任何參數(shù),代表整個(gè)畫(huà)面重新繪制。繪制的代碼如下所示: protectedvoidpaint(Graphicsg){ intwidth=g.getClipWidth();//獲取Canvas寬度 intheigh=g.getClipHeight();//獲取Canvas高度g.setColor(Color_Background); g.fillRect(0,0,width-1,heigh-1); g.drawImage(back,0,0,Graphics.TOP|Graphics.LEFT); g.setColor(Color_BackLine); g.drawRect(0,0,width-1,heigh-1); Fontfnt=Font.getDefaultFont(); fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD, Font.SIZE_LARGE); g.setFont(fnt); g.setColor(0x0011CC); g.drawString(MainMID.TITLE,getWidth()/6+10,10,Graphics.TOP |Graphics.LEFT);//畫(huà)標(biāo)題 g.setColor(0x00AADD); g.drawString("密碼:",25,222,Graphics.TOP|Graphics.LEFT); if(change_PSW_Success){ g.drawString("密碼修改成功",20,80,Graphics.TOP|Graphics.LEFT); }drawWords(g);}當(dāng)客戶端向服務(wù)器端發(fā)送控制信號(hào)時(shí),家庭系統(tǒng)模塊將接受的信息向向量中所以的連接進(jìn)行廣播,使每個(gè)用戶都能接收到該用戶發(fā)出的信息。在智能家居控制方面在客戶端設(shè)計(jì)獨(dú)立的控制界面使客戶更容易的完成對(duì)家電的控制。該系統(tǒng)的另一個(gè)亮點(diǎn)是在客戶端可以實(shí)現(xiàn)影音娛樂(lè),通過(guò)流媒體播放存儲(chǔ)在家庭系統(tǒng)模塊的web服務(wù)器上??蛻舳顺绦蚪Y(jié)構(gòu)圖如下所示:客戶端程序主界面客戶端程序主界面影音娛樂(lè)連接web服務(wù)器家電控制家庭系統(tǒng)模塊圖(7)客戶端程序結(jié)構(gòu)圖智能控制軟件設(shè)計(jì)家庭系統(tǒng)模塊建立兩個(gè)Socket連接的服務(wù)器端,分別對(duì)應(yīng)串口通信接口和移動(dòng)客戶端,并為之服務(wù)。處理客戶端發(fā)送的信息,通過(guò)串口向單片機(jī)發(fā)送控制指令,完成客戶端對(duì)家電的控制,同時(shí)接收來(lái)自單片機(jī)發(fā)送的采集信息,將信息反饋給移動(dòng)客戶端。該部分在整個(gè)系統(tǒng)中起到橋梁和紐帶的作用,是智能家居系統(tǒng)的核心。連接客戶端和服務(wù)器端。系統(tǒng)開(kāi)發(fā)工具和環(huán)境本系統(tǒng)對(duì)環(huán)境要求不高,需要一些基本的硬件,以及兩臺(tái)電腦。其中裝有集成Eclipse3.2、jdk-1.5以及sun.java.2_5_2。因此成本較低。是用虛擬器的形式來(lái)實(shí)現(xiàn)對(duì)家居的控制。通過(guò)客戶端發(fā)送給信息等待服務(wù)器端來(lái)響應(yīng)。利用Java的無(wú)線應(yīng)用技術(shù),結(jié)合J2me和J2ee平臺(tái),設(shè)計(jì)出健壯、高效的企業(yè)級(jí)無(wú)線應(yīng)用程序。應(yīng)用java無(wú)線應(yīng)用技術(shù)設(shè)計(jì)和實(shí)現(xiàn)智能家居控制系統(tǒng)。該系統(tǒng)是桌面型客戶管理系統(tǒng)在智能移動(dòng)終端上的擴(kuò)展。由于基本不具備自主開(kāi)發(fā)能力,即使設(shè)計(jì)完成以后,用戶通常也不能對(duì)其中的程序功能進(jìn)行修改,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)。開(kāi)發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)的概念,主機(jī)用于信息的收發(fā),目標(biāo)機(jī)作為最后的執(zhí)行機(jī),開(kāi)發(fā)時(shí)需要交替結(jié)合進(jìn)行。為了適應(yīng)網(wǎng)絡(luò)發(fā)展的要求,未來(lái)的嵌入式設(shè)備必然要求硬件上提供各種網(wǎng)絡(luò)通信接口。傳統(tǒng)的單片機(jī)對(duì)于網(wǎng)絡(luò)支持不足,而新一代的嵌入式處理器已經(jīng)開(kāi)始內(nèi)嵌網(wǎng)絡(luò)接口,除了支持TCP/IP協(xié)議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時(shí)也需要提供相應(yīng)的通信組網(wǎng)絡(luò)協(xié)議軟件和物理層驅(qū)動(dòng)軟件。軟件方面系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以再設(shè)備上嵌入Web瀏覽器,真正實(shí)現(xiàn)隨時(shí)隨地用各種設(shè)備上網(wǎng)。嵌入式設(shè)備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面。圖像界面,靈活的控制方式,使得人們感覺(jué)嵌入式設(shè)備就像是一個(gè)熟悉的老朋友。這方面的要求使得嵌入式軟件設(shè)計(jì)者要在圖形界面,多媒體技術(shù)上痛下苦功。手寫(xiě)文字輸入、語(yǔ)音撥號(hào)上網(wǎng)、收發(fā)電子郵件以及彩色圖形、圖像都會(huì)使使用者獲得自由的感受。目前一些先進(jìn)的PDA在顯示屏幕上已實(shí)現(xiàn)漢字寫(xiě)入、短消息語(yǔ)音發(fā)布,但一般的嵌入式設(shè)備距離這個(gè)要求還有很長(zhǎng)的路要走。3.1.4智能家居平臺(tái)系統(tǒng)的技術(shù)特點(diǎn)智能家庭網(wǎng)絡(luò)隨著集成技術(shù)、通信技術(shù)、互操作能力和布線標(biāo)準(zhǔn)的實(shí)現(xiàn)而不斷改進(jìn)。它涉及到對(duì)家庭網(wǎng)絡(luò)內(nèi)所有的智能器具、設(shè)備和系統(tǒng)的操作、管理,以及集成技術(shù)的應(yīng)用。其技術(shù)特點(diǎn)表現(xiàn)如下:1.通過(guò)家庭網(wǎng)關(guān)及其系統(tǒng)軟件建立智能家居平臺(tái)系統(tǒng)家庭網(wǎng)關(guān)是智能家庭局域網(wǎng)的核心部分,主要完成家庭內(nèi)部網(wǎng)絡(luò)各種不同通信協(xié)議之間的轉(zhuǎn)換和信息共享,以及同外部通信網(wǎng)絡(luò)之間的數(shù)據(jù)交換功能,同時(shí),網(wǎng)關(guān)還負(fù)責(zé)家庭智能設(shè)備的管理和控制。2.統(tǒng)一的平臺(tái)用計(jì)算機(jī)技術(shù)、微電子技術(shù)、通信技術(shù),家庭智能終端將家庭智能化的所有功能集成起來(lái),使智能家居建立在一個(gè)統(tǒng)一的平臺(tái)之上。首先,實(shí)現(xiàn)家庭內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的數(shù)據(jù)交互;其次,還要保證能夠識(shí)別通過(guò)網(wǎng)絡(luò)傳輸?shù)闹噶顣r(shí)合法的指令,而不是“黑客”的非法入侵。因此,家庭智能終端既是家庭信息的交通樞紐,又是信息化家庭的保護(hù)神。3.通過(guò)外部擴(kuò)展模塊實(shí)現(xiàn)與家電的互聯(lián)為實(shí)現(xiàn)家用電器的集中控制和遠(yuǎn)程控制功能,家庭智能網(wǎng)關(guān)通過(guò)有線或無(wú)線的方式,按照特定的通訊協(xié)議,借助外部擴(kuò)展模塊控制家電或照明設(shè)備。4.嵌入式系統(tǒng)的應(yīng)用以往的家庭智能終端絕大多數(shù)是由單片機(jī)控制。隨著新功能的增加和性能的提升,將處理能力大大增強(qiáng)的具有網(wǎng)絡(luò)功能的嵌入式操作系統(tǒng)和單片機(jī)的控制軟件程序作了相應(yīng)的調(diào)整,使之有機(jī)地結(jié)合成完整的嵌入式系統(tǒng)。3.2系統(tǒng)網(wǎng)絡(luò)規(guī)劃當(dāng)前大多數(shù)新建小區(qū)都安裝了智能小區(qū)管理系統(tǒng),通信總線一般采用RS-485或CAN總線燈。我們的設(shè)想是能夠利用現(xiàn)有的總線通信,將家庭網(wǎng)絡(luò)控制系統(tǒng)內(nèi)嵌于智能小區(qū)管理系統(tǒng)之內(nèi)。以其達(dá)到節(jié)約布線投資、實(shí)現(xiàn)系統(tǒng)高度集成的目的。在減少不必要開(kāi)支的同時(shí),還節(jié)約了綜合布線的時(shí)間。系統(tǒng)網(wǎng)絡(luò)采用無(wú)線控制傳輸系統(tǒng)實(shí)現(xiàn)家居之間的交互和通信。3.3系統(tǒng)功能模塊燈光控制無(wú)線射頻燈光控制系統(tǒng)由智能面板開(kāi)關(guān)和調(diào)光器組成,調(diào)光器用以發(fā)送和接收命令信號(hào),命令通過(guò)無(wú)線電傳播,而不是通過(guò)家庭的電源線路傳輸。每個(gè)面板開(kāi)關(guān)都備有一個(gè)不同的遙控識(shí)別代碼。這些代碼利用19位識(shí)別技術(shù),使接收器能準(zhǔn)確辨別每個(gè)指令。即使鄰居同時(shí)使用,也絕對(duì)不會(huì)因其遙控器干擾而發(fā)生傳輸錯(cuò)誤。調(diào)光開(kāi)關(guān)同樣內(nèi)置RF無(wú)線射頻發(fā)射器,能獨(dú)立于遙控器或移動(dòng)開(kāi)關(guān)之外,控制落地?zé)艋蜃罒舻拈_(kāi)關(guān)或隨意調(diào)節(jié)燈光亮度。減少干擾,傳送或接收指令更加準(zhǔn)確無(wú)誤。3.1.2信息家電控制信息家電控制是一個(gè)整合了紅外控制和無(wú)線控制的多功能遙控系統(tǒng)。它可以控制多達(dá)五種紅外設(shè)備(如:電視機(jī)、空調(diào)、DVD、功放、窗簾等)和開(kāi)關(guān)、插座等無(wú)線設(shè)備。信息家電控制系統(tǒng)主要由信息家電控制器和各種智能遙控開(kāi)關(guān)組成。信息家電控制器可以把普通紅外電器的遙控器的編碼通過(guò)學(xué)習(xí)的方式轉(zhuǎn)存下來(lái)從而替代原有的家電遙控器。同時(shí)它本身還是無(wú)線遙控器,可以發(fā)射433.92MHz頻率的控制信號(hào),所以它可以控制這個(gè)頻段的智能開(kāi)關(guān)、智能插座以及無(wú)線紅外轉(zhuǎn)發(fā)器等。信息家電控制器如何實(shí)現(xiàn)對(duì)空調(diào)的遙控空調(diào)的紅外編碼和其他家電的紅外編碼有很大區(qū)別,空調(diào)遙控器上每一個(gè)按鍵所對(duì)應(yīng)的紅外編碼不是固定的。比如按下溫度增加或減少的按鍵,它并不是簡(jiǎn)單地發(fā)送一個(gè)固定的溫度增加或減少的紅外編碼,而是向空調(diào)發(fā)送一個(gè)當(dāng)前工作狀態(tài)的編碼(這個(gè)編碼包含空調(diào)當(dāng)前是多少度)。所以信息家電遙控器不能只是簡(jiǎn)單地學(xué)習(xí)空調(diào)遙控器上的幾個(gè)按鍵來(lái)實(shí)現(xiàn)對(duì)空調(diào)的完全控制。用戶只能通過(guò)學(xué)習(xí)空調(diào)比較常用的工作狀態(tài)來(lái)達(dá)到控制空調(diào)的目的。3.4系統(tǒng)工作原理系統(tǒng)由多個(gè)類構(gòu)成。需要客戶端通過(guò)網(wǎng)絡(luò)發(fā)送對(duì)家居的控制。服務(wù)器端接收到客戶端發(fā)送的信息,然后再返回給客戶端。本系統(tǒng)是基于HTTP網(wǎng)絡(luò)的用于智能家居環(huán)境中的一種遠(yuǎn)程自動(dòng)控制系統(tǒng)。其工作原理為:用戶通過(guò)自身的手機(jī)發(fā)出命令請(qǐng)求,在家值守的家庭系統(tǒng)模塊接收信息并對(duì)信息進(jìn)行處理,把處理結(jié)果通過(guò)串行總線傳輸?shù)絾纹瑱C(jī)上,單片機(jī)根據(jù)信息調(diào)制出相應(yīng)的紅外頻率控制相應(yīng)的設(shè)備,完成用戶給出的命令。并把最終的控制結(jié)果返回給客戶端??蛻舳伺c服務(wù)器端交互圖如下:Login_UserLogin_UserLogin_UserLogin_User客戶端MIDlet發(fā)送消息和數(shù)據(jù)服務(wù)器Servlet處理登錄請(qǐng)求處理登錄請(qǐng)求處理登錄請(qǐng)求圖(8)客戶端與服務(wù)器端交互圖系統(tǒng)工作原理圖如下服務(wù)器服務(wù)器類類網(wǎng)絡(luò)客戶端圖(8)系統(tǒng)工作原理圖各個(gè)程序之間通過(guò)方法和類的調(diào)用來(lái)建立關(guān)聯(lián)。選擇登陸智能家居控制系統(tǒng),該界面實(shí)現(xiàn)內(nèi)容主要包含在MainMID這個(gè)類中,其中需要鍵入密碼,同時(shí)如果密碼輸入錯(cuò)誤,也可以對(duì)密碼再進(jìn)行修改。直至密碼輸入正確。則會(huì)跳入到下一個(gè)頁(yè)面。下一個(gè)頁(yè)面則是家具的控制頁(yè)面。選擇所要控制的家具類型,進(jìn)入相應(yīng)的房間之后,我們就可以選擇要控制的家電類型來(lái)實(shí)現(xiàn)對(duì)家居的控制。然后通過(guò)網(wǎng)絡(luò)連接將要發(fā)送的數(shù)據(jù)發(fā)送到服務(wù)器端。等待服務(wù)器端做出響應(yīng)。
4智能家居系統(tǒng)功能客戶端完成的主要功能包括對(duì)家居的控制。通過(guò)客戶端發(fā)送控制信息通過(guò)網(wǎng)絡(luò)傳送到服務(wù)器端,再由服務(wù)器端返回給客戶端。進(jìn)而實(shí)現(xiàn)對(duì)家居的控制。其中,系統(tǒng)功能結(jié)構(gòu)圖如下所示:信息發(fā)送端信息發(fā)送端用戶登錄信息發(fā)送信息接收家具控制用戶注冊(cè)修改密碼發(fā)送控制信號(hào)接收返回信息房間選擇家居選擇家居狀態(tài)選擇圖(9)系統(tǒng)功能結(jié)構(gòu)圖4.1家庭通信智能家庭控制系統(tǒng)的主要功能包括家庭通信、家庭設(shè)備自動(dòng)控制和遠(yuǎn)程控制三個(gè)方面。
主要考慮遠(yuǎn)程控制這些方面。由于人們生活水平的提高,人們對(duì)生活模式的要求也越來(lái)越高,因此智能家居主要致力于改變?nèi)藗兊纳钅J?,使人們的生活更加的?jiǎn)單方便。使用戶不管在任何地方都能夠隨心所欲的控制家居。使家居滿足人們的要求。因此如何更人性化的設(shè)計(jì)智能家居使它能夠滿足人們的需求。這就是我們要考慮的問(wèn)題。由手機(jī)端發(fā)送控制信息,控制服務(wù)器端的家電設(shè)備,然后由服務(wù)器端響應(yīng),將響應(yīng)的信號(hào)返回客戶端。進(jìn)而完成對(duì)家居的控制。4.2遠(yuǎn)程電器控制模塊的模擬實(shí)現(xiàn)用無(wú)線通信方式進(jìn)行家電的控制靈活性較強(qiáng)、覆蓋范圍較廣,免去了綜合布線的費(fèi)用和精力,缺點(diǎn)是家庭內(nèi)部要有家庭網(wǎng)關(guān)和無(wú)線路由路,接收端還要有響應(yīng)的接收裝置,成本較高。因此,基于實(shí)用性和大眾化方面考慮,本文所研究的家電控制器的控制采用I/O控制。家電的本地集中控制硬件設(shè)計(jì)是利用嵌入式系統(tǒng)的I/O口對(duì)家用電器的用電進(jìn)行控制。系統(tǒng)通過(guò)S3C2410的I/O口輸出高低電平來(lái)進(jìn)行控制,同時(shí)用發(fā)光二極管指示家用電器工作狀況。發(fā)光二極管,表示家用電器通電,發(fā)光二極管滅,表示家用電器斷電。由于被控模塊家用電器大多使用220V交流電,屬于強(qiáng)電電路,所以使用繼電器控制家電。在芯片與繼電器中間加驅(qū)動(dòng)電路。驅(qū)動(dòng)電路可以利用光電耦合的通、斷去控制繼電器的開(kāi)與關(guān)。也可以利用三極管的飽和與截止去控制繼電器的開(kāi)與關(guān),這里采用三極管方式。當(dāng)I/O口引腳輸出低電平時(shí),三極管飽和導(dǎo)通。
5結(jié)論經(jīng)過(guò)充分的調(diào)查和對(duì)大量資料的研究,分析了智能家居的現(xiàn)狀和發(fā)展趨勢(shì),并考慮到我國(guó)的經(jīng)濟(jì)發(fā)展和人們生活水平的不均衡等特點(diǎn),利用GPRS移動(dòng)通信網(wǎng)絡(luò),以及嵌入式技術(shù)結(jié)合藍(lán)牙無(wú)線通信技術(shù),安全可靠,性能穩(wěn)定的智能家居控制系統(tǒng)。同時(shí)本系統(tǒng)除用于家庭設(shè)備遠(yuǎn)程自動(dòng)控制外,還可用于家庭通信、家庭娛樂(lè),共同組建智能家居控制系統(tǒng)。開(kāi)發(fā)充分利用了j2me技術(shù)中所提供的API,以及高效的編程。不僅適應(yīng)了嵌入式系統(tǒng)的軟硬件資源受限的特點(diǎn),而且使得程序的運(yùn)行速度有所提高。目前該系統(tǒng)在模擬系統(tǒng)中正常運(yùn)行,實(shí)現(xiàn)了目前市場(chǎng)上智能家居系統(tǒng)中最重要的組成部分——智能家居終端的大部分功能。在此基礎(chǔ)上,今后的研究工作將從以下方面進(jìn)行深入:一方面是增加智能家居終端控制家電設(shè)備的種類,這需要對(duì)協(xié)議進(jìn)行擴(kuò)展;另一方面使用戶能夠通過(guò)更多途徑方案進(jìn)行遠(yuǎn)程控制,例如,手機(jī)短信控制也是一種方案;第三,考慮到嵌入式系統(tǒng)硬件資源受限,還需要就某些功能的實(shí)現(xiàn)代碼進(jìn)行進(jìn)一步優(yōu)化,例如,可通過(guò)考慮將多進(jìn)程改為多線程來(lái)減少進(jìn)程的創(chuàng)建和切換的開(kāi)銷等。
附錄ControlCanvas類主要代碼如下所示:publicControlCanvas(FamilyListfl,Displaydisplay,intType,inti){ index=i; Fl=fl; this.Type=Type;//頁(yè)面樣式 this.display=display; Cmd_Back=newCommand("返回",Command.BACK,1); Cmd_Send=newCommand("發(fā)送",Command.OK,1); addCommand(Cmd_Back); addCommand(Cmd_Send); setCommandListener(this);//設(shè)置功能鍵偵聽(tīng)器 setTitle(Fl.getItemString(index));//設(shè)置標(biāo)題 try{ selectImage=Image.createImage("/select.png"); }catch(IOExceptione){ e.printStackTrace(); } }protectedvoidpaint(Graphicsg){ //畫(huà)背景圖片 if(Fl.getBackImage()!=null){ g.drawImage(Fl.getBackImage(),0,0,Graphics.TOP|Graphics.LEFT); } if(Type==ControlCanvasType_STYLE_ON_OFF){ //開(kāi)關(guān)樣式 draw_On_Off_String(g,getWidth()/5,getHeight()/3); }elseif(Type==ControlCanvasType_STYLE_ROLL){ //滾動(dòng)樣式 draw_roll_Style(g); }elseif(Type==ControlCanvasType_STYLE_DOUBLE_ROLL){ //雙滾動(dòng)條樣式 draw_doubleroll_Style(g); } }FamilyList類中的主要代碼如下所示:publicFamilyList(Displaydisplay,Canvascv,Stringtitle,String[]items, ImagebackImage){ Title=title; setTitle(Title);//設(shè)置標(biāo)題 setLastPage(cv); this.display=display; //音效 MidPlayermp=newMidPlayer(); mp.sound(); ITEMS=items; BackImage=backImage; Cmd_Back=newCommand("返回",Command.BACK,1); Cmd_OK=newCommand("設(shè)置",Command.OK,1); addCommand(Cmd_Back); addCommand(Cmd_OK); setCommandListener(this);//設(shè)置功能鍵偵聽(tīng)器privatevoiddrawItems(Graphicsg){ //畫(huà)背景圖片 intpointX=40;//橫坐標(biāo)固定點(diǎn) intBaseY=40;//縱坐標(biāo)固定基點(diǎn) if(BackImage!=null){ g.drawImage(BackImage,0,0,Graphics.TOP|Graphics.LEFT); } for(inti=0;i<ITEMS.length;i++){ Fontfnt=Font.getDefaultFont(); if(i!=SeletedItem){ fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN, Font.SIZE_LARGE); g.setFont(fnt); g.setColor(0x0022AA); g.drawString(ITEMS[i],pointX,BaseY+i*30,Graphics.TOP |Graphics.LEFT); }else{ fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN |Font.STYLE_BOLD,Font.SIZE_LARGE); g.setFont(fnt); g.setColor(0xAA2200); g.drawString(ITEMS[i],pointX,BaseY+i*30,Graphics.TOP |Graphics.LEFT); g.drawRect(pointX-5,BaseY+i*30, ITEMS[i].length()*12+13,20);//畫(huà)選中框 }MainMID類中的代碼如下所示:privatevoidinitAlert(){ alert=newAlert("密碼錯(cuò)誤","請(qǐng)輸入正確的密碼!",null,AlertType.ALARM); alert.addCommand(newCommand("退出",Command.CANCEL,2)); alert.addCommand(newCommand("返回",Command.BACK,1)); alert.setCommandListener(newCommandListener(){ publicvoidcommandAction(Commandc,Displayabled){ if(c.getLabel().equals("返回")){ dp.setCurrent(pwc); } if(c.getLabel().equals("退出")){ Close();//關(guān)閉程序 }MenuCanvas類中的主要代碼如下所示:protectedvoidpaint(Graphicsg){ intwidth=g.getClipWidth();//獲取Canvas寬度 intheigh=g.getClipHeight();//獲取Canvas高度 //填充背景 g.setColor(Color_Background); g.fillRect(0,0,width-1,heigh-1); g.drawImage(back,0,0,Graphics.TOP|Graphics.LEFT); g.setColor(Color_BackLine);g.drawRect(0,0,width-1,heigh-1); g.setColor(0xFFFFFF);Fontfnt=Font.getDefaultFont(); fnt=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD, Font.SIZE_LARGE); g.setFont(fnt); drawLoadingBar(g);//畫(huà)滾動(dòng)條 drawMenus(g,width,heigh);privatevoiddrawMenus(Graphicsg,intwidth,intheigh){ if(isLoadingComplete){ int[]pos=setStringRectPosition(width,heigh); for(inti=0;i<SELECT_ITEM.length;i++){ Fontfnt=Font.getDefaultFont(); if(i==NOW_ITEM){ g.setFont(fnt); g.setColor(0xAA2200); g.drawString(SELECT_ITEM[i],pos[0]-1,pos[1]*(i+3), Graphics.TOP|Graphics.LEFT); }else{ g.setColor(0x0022AA); fnt=Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN,Font.SIZE_LARGE); g.setFont(fnt); g.drawString(SELECT_ITEM[i],pos[0],pos[1]*(i+3), Graphics.TOP|Graphics.LEFT);MidPlayer類中的主要代碼如下所示:publicvoidsound(){ PlayermusicPlayer=null; try{ InputStreamis=getClass()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 足浴布草清洗合同協(xié)議
- 滿贈(zèng)活動(dòng)協(xié)議書(shū)
- 烤鴨投放協(xié)議書(shū)
- 正規(guī)交房協(xié)議書(shū)
- 勞務(wù)派遣加盟合同書(shū)
- 商業(yè)門(mén)面買賣合同
- 委托限時(shí)代賣合同
- 退伙分期協(xié)議書(shū)范本
- 轉(zhuǎn)讓文章版權(quán)協(xié)議書(shū)范本
- 通風(fēng)系統(tǒng)維保合同協(xié)議
- DL/T 5182-2021 火力發(fā)電廠儀表與控制就地設(shè)備安裝、管路、電纜設(shè)計(jì)規(guī)程
- 從龍的形象看媽祖的文化精神
- 麟龍量能飽和度圓圈指標(biāo)
- 失信被執(zhí)行人生活費(fèi)申請(qǐng)書(shū)
- 我的小學(xué)生涯
- 成立應(yīng)急救援預(yù)案編制小組范文
- 無(wú)人機(jī)導(dǎo)航與通信技術(shù)PPT完整全套教學(xué)課件
- 2023年高考地理(山東卷)真題評(píng)析
- 第三帝國(guó)三部曲:當(dāng)權(quán)的第三帝國(guó)(全集)
- 全國(guó)城市一覽表-excel
- 《成年人的世界沒(méi)有容易二字》讀書(shū)筆記
評(píng)論
0/150
提交評(píng)論