智能家居手機app畢業(yè)論文_第1頁
已閱讀1頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科生畢業(yè)論文(設計)</p><p>  題 目: 智能家居手機APP </p><p>  學生姓名: 陳 漢 榮 </p><p>  學 號: 201317020101 </p><p>  專業(yè)班級: 信管13101班 <

2、;/p><p>  指導教師: 丁 德 紅 </p><p>  完成時間:2017年 5月</p><p><b>  摘要</b></p><p>  目前國內(nèi)市場Android手機占有率居高不下,智能家居的話題也是隨著科技的發(fā)展不斷的被人提起,“物聯(lián)網(wǎng)+”這個概念更是成為如今的大熱門。

3、基于此概念下開發(fā)了這款智能家居APP。智能家居APP是利用eclipse作為開發(fā)工具的一款基于Android手機平臺開發(fā)的應用軟件,該APP主要功能是利用APP發(fā)送Json格式數(shù)據(jù)到服務器,由服務器將數(shù)據(jù)下發(fā)至智能網(wǎng)關,該智能網(wǎng)關是以STM32開發(fā)而成的,當數(shù)據(jù)下發(fā)至網(wǎng)關后再由網(wǎng)關對數(shù)據(jù)進行各樣的處理,將接收信息轉換為各項指令從而進行對各種家居的控制。目前主要實現(xiàn)功能有燈光,開關,門碰,煙霧報警,燃氣報警,人體移動,安防監(jiān)控的智能化操作

4、。這些過程都是自動實現(xiàn),而用戶只需要在手機上輕松的操作便能夠實現(xiàn)自己想要的各項功能,由此實現(xiàn)家居智能化。</p><p>  關鍵詞:物聯(lián)網(wǎng)+,智能家居APP,Android手機平臺,STM32,智能網(wǎng)關</p><p><b>  Abstract</b></p><p>  At present, the occupancy of Andr

5、oid mobile phones still takes up the most share in the domestic market, while smart home is gradually becoming a heated topic that is often brought forward by people with the continuous development of science and technol

6、ogy. And the concept of “Internet of things +” is becoming apopular topic as well. On the basis of this concept, the smart home APP is developed. The smart home APP is a application software that adopts eclipse as the de

7、velopment tool and based on</p><p>  Key words: Internet of Things+, Smart Home APP, Android Mobile Platform, STM32, Intelligent Gatewa</p><p><b>  引言</b></p><p>  隨著信息技

8、術的不斷發(fā)展,電子信息產(chǎn)品不斷的更新?lián)Q代,物聯(lián)網(wǎng)的概念更是不斷被人提起,智能家居也成為了科技變革的一大課題,智能家居是以住宅為平臺,利用安全防范技術、綜合布線技術、自動控制技術、音視頻技術、網(wǎng)絡通信技術將家居生活有關的設施集成,構建高效的住宅設施與家庭日程事務的管理系統(tǒng),提升家居便利性、藝術性、安全性、舒適性,實現(xiàn)環(huán)保節(jié)能的居住環(huán)境。</p><p>  作為家庭信息化的實現(xiàn)方式,智能家居已成為社會發(fā)展的重要組成

9、部分,因物聯(lián)網(wǎng)巨大的應用前景,將是智能家居產(chǎn)業(yè)發(fā)展過程中一個的突破口,對智能家居產(chǎn)業(yè)的發(fā)展具有重大意義。</p><p><b>  第一章 緒 論</b></p><p>  1.1智能家居開發(fā)背景及現(xiàn)狀</p><p>  1.1.1 智能家居開發(fā)的背景</p><p>  隨著社會進步,人們物質和精神生活質量的全面

10、提升,人們所追求的一種生活基調(diào)將是安逸和休閑,將一切繁雜的操作自動化起來,變成一種智能,便捷的操作,這成為了這個時代的需求,而智能家居恰好迎合,這其中最大的變量或者說砝碼便是智能化了,滿足了這個需求,如今家居的功能操作越來越集中于智能化和環(huán)保及安全性能。智能家居可以提供全方位的信息交互,優(yōu)化人們的生活方式,可以幫助人們增加生活安全性,有效地安排生活時間。</p><p>  1.1.2 智能家居開發(fā)的現(xiàn)狀<

11、/p><p>  雖然智能家居在各地被炒得十分火熱,房地產(chǎn)開發(fā)商和消費者對它的了解還沒有達到一定的深度,但是很多情況下都是在炒一個概念,甚至一些長期從事智能化設計和工程的企業(yè)主管,大力提倡智能化家居、建筑智能化的專家學者,他們的家中大部分也都沒有標準意義上的智能家居。</p><p>  智能化家居在中國并沒有得到良好的發(fā)展和推廣。我國的智能家居相對于國外起步較晚,尚未形成一定的國家標準,主要

12、采用國外的技術和產(chǎn)品。當然也陸續(xù)出現(xiàn)了我國自主開發(fā)的代表性智能家居系統(tǒng),如合肥工業(yè)大學的“智能家居與家居服務器”等產(chǎn)品、海爾的“e家庭”、清華同方的e-Home數(shù)字家園,這些都是科研單位和各大企業(yè)從不同立場和角度理解智能家居的結果。一個具有良好應用前景的家居系統(tǒng)必須具有可拓展性和開放性,以及維護和使用的方便簡單。</p><p>  智能家居對我國來說還是新鮮事物,目前正處于初級階段,有關的系統(tǒng)理論還在不斷發(fā)展、

13、完善。隨著智能家居的新產(chǎn)品、新技術日新月異地出現(xiàn),對它的認識也將不斷地提高和深入。</p><p>  1.2智能家居現(xiàn)存在的問題及對策</p><p>  1.2.1 智能家居存在的問題</p><p> ?。?)標準不統(tǒng)一:適度競爭可以促進技術的進步,但過多的競爭就會造成資源的浪費,短期的利益的驅使也可能會使技術和市場引向歧途,因此推動各個層面標準,技術,產(chǎn)品

14、的融合,規(guī)范是目前智能家居面臨的問題之一。 </p><p> ?。?)技術專業(yè)化程度高:智能家居產(chǎn)品結合多門技術需要專業(yè)人員進行安裝,調(diào)試和使用培訓,使得用戶在使用時需要進行復雜的操作。 </p><p>  (3)成本耗費高:智能家居涉及到計算機、通信、自動化、電子等多個學科領域,沒有一個企業(yè)能夠以一己之力畢其全功。目前,國內(nèi)與家庭自動化相關的產(chǎn)品較多,但智能化水平

15、偏低,其產(chǎn)品和服務僅僅作為人工的一種補充,而不是改變生活方式的主要力量。 </p><p>  (4)產(chǎn)品不夠傻瓜:真正的智能家居應該是一種自然交互,整合的和基于用戶習慣的控制方式。用戶可以通過說話、短信或者單獨的觸摸控制來實現(xiàn)與房屋的交互,即操作步驟不需要太過繁雜,用戶只需要通過發(fā)出簡單命令,就能達到想要的結果。</p><p>  1.2.2 智能家居的對策和措施</p

16、><p>  智能家居的設計原則應該從以下幾個方面考慮: </p><p> ?。?)使用便利,整合度高:無論何時何地用戶都能掌握家庭動態(tài),結合互聯(lián)網(wǎng)來實現(xiàn)對家用電器和其他設備的控制,多功能集合,通過身邊的PC、手機等設備,家用電器接到指令后進行相應的動作。 </p><p> ?。?)可靠性高:智能家居能夠隨時接收信號,24小時工作,并能保證相應設

17、備可靠動作,在停電或故障時也能夠做出相應的應急處理,設置可靠地報警系統(tǒng)第一時間向用戶傳遞信息。 </p><p> ?。?)標準統(tǒng)一化:智能家居雖然涉及多種技術,但是某些技術在國際上都有標準協(xié)議,例如射頻技術最常用的標準有:ISO14443A/B/C、ISO15693、13.56M,傳輸上常采用TCP/IP協(xié)議,這將使不同產(chǎn)商之間的系統(tǒng)可以兼容與互聯(lián)。 </p><p>

18、; ?。?)價格逐漸低廉化:隨著微型硬件設備成本的不斷下降及通信技術的發(fā)展,用戶可在原有的有/無線網(wǎng)絡上進行擴展。 </p><p>  (5)上手容易,維護等操作簡單:作為家庭控制的核心,整個系統(tǒng)將可以控制整個家里的任意各種設施,所以操作要簡單容易,出現(xiàn)問題的時候要有很好的可以解決方案,過于繁瑣復雜的操作都講導致整個智能家居系統(tǒng)的可使用性。</p><p><b> 

19、 1.3 研究工作</b></p><p>  本文研究了Android SDK開發(fā)環(huán)境以及此環(huán)境下的用戶界面組件、SQLite數(shù)據(jù)庫、json解析技術,Share Preferences、Intent Receive、Service等手機軟件開發(fā)相關技術。在本軟件中,首先運用Android的用戶界面組件構建軟件的界面,其次運用Android內(nèi)嵌的SQLite數(shù)據(jù)庫實現(xiàn)軟

20、件數(shù)據(jù)的存取,為軟件的各功能模塊提供數(shù)據(jù)源,最后運用Intent Receive和Service構成軟件的控制中心。 </p><p>  智能家居APP的還將涉及到對數(shù)據(jù)信息存儲改寫等操作,本文重點研究了兩種軟件數(shù)據(jù)的存取方式。第一種方式為Android內(nèi)置的SQLite數(shù)據(jù)庫,用于存取大容量的永久性軟件數(shù)據(jù)如一些警報記錄。 Share Preferences,是一個輕量級數(shù)據(jù)存儲

21、,用于暫存軟件的設置信息如登錄設備信息等等。</p><p>  智能家居APP是一款綜合性能強大,實用性強的Android應用軟件,用戶可以利用它操控諸多的不同種類的智能家居設備,針對著不同的設備有著不同與之相匹配的方案。功能強悍,是智能家居生活中不可或缺的一部分。這款應用軟件將許多操作都智能自動化實現(xiàn),用戶只需要請點界面所需功能便可以輕松達到自己想要的事,方便了用戶的使用。</p><p&

22、gt;<b>  1.4 論文結構</b></p><p>  論文共分八章,內(nèi)容及章節(jié)安排如下: </p><p>  第一章概述:介紹智能家居系統(tǒng)開發(fā)的研究背景、研究現(xiàn)狀、現(xiàn)存問題及解決方案,本文所研究的主要內(nèi)容和論文的組織結構。</p><p>  第二章系統(tǒng)開發(fā)關鍵技術研究:介紹Android平臺及選擇Android平臺開發(fā)的

23、優(yōu)勢,以及在開發(fā)過程中所需要使用到的開發(fā)工具,關鍵技術。</p><p>  第三章系統(tǒng)需求分析:介紹軟件開發(fā)的各種需求分析如用戶需求,功能需求等。</p><p>  第四章系統(tǒng)總體設計:介紹軟件的總體功能設計。</p><p>  第五章系統(tǒng)詳細設計:介紹軟件的各功能的設計和具體實現(xiàn)過程。</p><p>  第六章系統(tǒng)測試:對系統(tǒng)功能進

24、行測試。</p><p>  第七章結論:對本次開發(fā)及軟件進行總結。</p><p><b>  第八章參考文獻。</b></p><p>  第二章 系統(tǒng)開發(fā)關鍵技術的研究</p><p>  2.1 Android操作系統(tǒng)</p><p>  目前,主流的智能終端操作系統(tǒng)有微軟的Windows

25、 Phone,蘋果的iOS和谷歌的Andriod等等。2011年中國智能手機市場中Android操作系統(tǒng)取代了諾基亞的Symbian系統(tǒng)成為最大的智能手機操作系統(tǒng)。</p><p>  Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作

26、系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運商組建開放手機聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權方式,發(fā)布了Android的源代碼。第一部Android智能手機發(fā)布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數(shù)碼相機、游戲機等。2011年第一季度,An

27、droid在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2013年的第四季度,Android平臺手機的全球市場份額已經(jīng)達到78.1%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來了5歲生日,全世界采用這款系統(tǒng)的設備數(shù)量已經(jīng)達到10億臺。</p><p>  2014第一季度Android平臺已占所有移動廣告流量來源的42.8%,首度超越iOS。但運營收入不及iOS。</p>&l

28、t;p>  2.2 Android平臺開發(fā)的優(yōu)勢</p><p>  利用Andrioid操作系統(tǒng)平臺進行開發(fā)有以下幾個優(yōu)勢:</p><p><b>  1.開放性</b></p><p>  在優(yōu)勢方面,Android平臺首先就是其開發(fā)性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者

29、,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。</p><p>  開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。</p><p><b>  2.豐富的硬件</b></p><

30、;p>  這一點還是與Android平臺的開放性相關,由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉移。</p><p><b>  3.方便開發(fā)</b&g

31、t;</p><p>  Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。</p><p>  4.Google應用</p><p>  在互聯(lián)網(wǎng)的Google已經(jīng)走過10年度歷史,從搜索巨人到全面

32、的互聯(lián)網(wǎng)滲透,Google服務如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機將無縫結合這些優(yōu)秀的Google服務。</p><p><b>  2.3 開發(fā)工具</b></p><p>  2.3.1 Eclipse介紹</p><p>  本次的APP開發(fā)所用到開發(fā)工具為Eclipse,Eclipse最初是由

33、IBM公司開發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2001年11月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務平臺規(guī)范為運行時架構。2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號為Ganymede的3.4版;2009年6月發(fā)布代號為Galileo的3.5版;2010年6月發(fā)

34、布代號為Helios的3.6版;2011年6月發(fā)布代號為Indigo的3.7版;2012年6月發(fā)布代號為Juno的4.2版;2013年6月發(fā)布代號為Kepler的4.3版;2014年6月發(fā)布代號為Luna的4.4版;2015年6月項目發(fā)布代號為Mars的4.5版。</p><p>  Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),通過安裝不同的插件Eclipse可以支持不

35、同的計算機語言,比如C++和Python等開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。 </p><p>  Eclipse 最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform

36、、JDT 和PDE。Eclipse項目IBM發(fā)起,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開放源碼項目,它其實是Visual Age for Java的替代品,其界面跟先前的VisualAge for Java差不多,但由于其開放源碼,任何人都可以免費

37、得到,并可以在此基礎上開發(fā)各自的插件,因此越來越受人們關注。隨后還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目,Eclipse的目標是成為可進行任何語言開發(fā)的IDE集成者,使用者只需下載各種語言的插件即可。 </p><p>  開發(fā)Android平臺所使用的語言正好是Java,在Eclipse中開發(fā)Android APP只需要在其上安裝好ADT(Android Development Tool

38、s)和NDK插件,便可以進行Android項目的開發(fā)。</p><p>  2.4 關鍵技術介紹</p><p>  2.4.1json解析技術介紹</p><p>  JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript 規(guī)范的一個子集,采用完全獨

39、立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結構使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡傳輸效率。</p><p>  本次開發(fā)選擇了使用JSON作為數(shù)據(jù)交換格式,主要原因在于,JSON相比于XML,JSON文檔大小更加小,解析方法更加簡單、讀寫速度更快。</p><p>  Android解析JSON數(shù)據(jù)的方法,主

40、要有兩種:基于事件驅動和基于文檔驅動解析方式</p><p><b>  基于事件驅動</b></p><p>  主流方式:Gson解析和Jackson解析</p><p>  Gson解析介紹 - 簡介:使用谷歌的開源庫進行解析 - 解析方式:基于事件驅動,根據(jù)所需要取的數(shù)據(jù)通過建立一個對應于JSON數(shù)據(jù)的JavaB

41、ean類就可以通過簡單的操作解析出所需JSON數(shù)據(jù)</p><p>  步驟1:創(chuàng)建一個與JSON數(shù)據(jù)對應的JavaBean類(用作存儲需要解析的數(shù)據(jù))GSON解析的關鍵是重點是要根據(jù)json數(shù)據(jù)里面的結構寫出一個對應javaBean,</p><p>  步驟2:下載并導入GSON需要的庫</p><p>  步驟3:用Gson進行轉換</p>&l

42、t;p>  Jackson解析 - 解析原理:基于事件驅動,與GSON相同,先創(chuàng)建一個對應于JSON數(shù)據(jù)的JavaBean類就可以通過簡單的操作解析出所需JSON數(shù)據(jù)。但和Gson解析不同的是,GSON可按需解析,即創(chuàng)建的JavaBean類不一定完全涵蓋所要解析的JSON數(shù)據(jù),按需創(chuàng)建屬性,但Jackson解析對應的JavaBean必須把Json數(shù)據(jù)里面的所有key都有所對應,即必須把JSON內(nèi)的數(shù)據(jù)所有解析出來,無法

43、按需解析。但Jackson的解析速度和效率都要比GSON高。</p><p>  步驟1:建立對應的javaBean,建立javaBean的對應規(guī)則和GSON一樣</p><p>  步驟2:利用Jackson方法進行解析</p><p>  基于文檔驅動解析方式</p><p>  主流方式:Android Studio自帶org.json

44、解析</p><p>  解析方式:基于文檔驅動,類似于XML的DOM解析方法,先把全部文件讀入到內(nèi)存中,然后遍歷所有數(shù)據(jù),然后根據(jù)需要檢索想要的數(shù)據(jù)。</p><p>  2.4.2 SQLite數(shù)據(jù)庫介紹</p><p>  每個應用程序都要使用數(shù)據(jù),Android應用程序也不例外,Android使用開源的、與操作系統(tǒng)無關的SQL數(shù)據(jù)庫--SQLite。SQLi

45、te第一個Alpha版本誕生于2000年5月,它是一款輕量級數(shù)據(jù)庫,它的設計目標是嵌入式的,占用資源非常的低,只需要幾百K的內(nèi)存就夠了。SQLite已經(jīng)被多種軟件和產(chǎn)品使用,Mozilla FireFox就是使用SQLite來存儲配置數(shù)據(jù)的,Android和iPhone都是使用SQLite來存儲數(shù)據(jù)的。</p><p>  SQLite數(shù)據(jù)庫是D.Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫,支持的數(shù)據(jù)

46、庫大小為2TB。它具有如下特征:</p><p><b>  1、輕量級</b></p><p>  SQLite和C\S模式的數(shù)據(jù)庫軟件不同,它是進程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務器。使用SQLite一般只需要帶上它的一個動態(tài)庫,就可以享受它的全部功能。而且那個動態(tài)庫的尺寸也相當小。</p><p><b>  2、

47、獨立性</b></p><p>  SQLite數(shù)據(jù)庫的核心引擎本身不依賴第三方軟件,使用它也不需要“安裝”,所以在使用的時候能夠省去不少麻煩。</p><p><b>  3、隔離性</b></p><p>  SQLite數(shù)據(jù)庫中的所有信息(比如表、視圖、觸發(fā)器)都包含在一個文件內(nèi),方便管理和維護。</p><

48、;p><b>  4、跨平臺</b></p><p>  SQLite數(shù)據(jù)庫支持大部分操作系統(tǒng),除了我們在電腦上使用的操作系統(tǒng)之外,很多手機操作系統(tǒng)同樣可以運行,比如Android、Windows Mobile、Symbian、Palm等。</p><p><b>  5、多語言接口</b></p><p>  SQ

49、Lite數(shù)據(jù)庫支持很多語言編程接口,比如C\C++、Java、Python、dotNet、Ruby、Perl等,得到更多開發(fā)者的喜愛。</p><p><b>  6、安全性</b></p><p>  SQLite數(shù)據(jù)庫通過數(shù)據(jù)庫級上的獨占性和共享鎖來實現(xiàn)獨立事務處理。這意味著多個進程可以在同一時間從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個可以寫入數(shù)據(jù)。在某個進程或線程向數(shù)據(jù)

50、庫執(zhí)行寫操作之前,必須獲得獨占鎖定。在發(fā)出獨占鎖定后,其他的讀或寫操作將不會再發(fā)生。</p><p>  第三章 系統(tǒng)需求分析</p><p><b>  3.1 可行性分析</b></p><p>  如今社會科技不斷的發(fā)展,智能手機用戶已經(jīng)不再是少部分人的特權,越來越多人都在使用智能手機,Android智能手機更是大眾的普遍選擇,而且如今網(wǎng)

51、絡也是飛速發(fā)展從2G到3G再到如今4G網(wǎng)絡的普及,就連偏遠的農(nóng)村也實現(xiàn)了移動網(wǎng)絡的覆蓋。網(wǎng)絡速度的增長,智能手機的普及這使得智能家居得以實現(xiàn)實時控制,移動控制的功能設想。在網(wǎng)絡和設備普及度上它是可行的。</p><p>  Android所使用到的開發(fā)語言為Java,Java作為一個高級語言本身在別的應用領域就很優(yōu)秀,學習Java的人也十分多,很Java開發(fā)人員都可以輕松上手開發(fā),且Android作為一個開放性平

52、臺,提供了許多的軟硬件資源,且很多功能都封裝打包,開發(fā)人員可以只需要按照功能和業(yè)務邏輯進行調(diào)用編寫,這樣極大的加速了開發(fā)進度,這樣使得開發(fā)工作變得簡單而快速。另外Android在數(shù)據(jù)存儲上提供了簡單的Share Preferences儲存器,讀寫操作十分方便,還引用了SQLite這種輕便級數(shù)據(jù)庫,為SQLite數(shù)據(jù)庫提供了DatabaseHelper類,使得開發(fā)人員可以非常方便的使用SQLite數(shù)據(jù)庫,對數(shù)據(jù)管理來說提供了很大

53、的編輯。所以說在開發(fā)技術上它是可行的。</p><p>  智能家居話題作為“物聯(lián)網(wǎng)+”的代名詞,在最近幾年廣受關注,各類智能家居產(chǎn)品也層出不窮,人們對智能家居也充滿了好奇,對智能家居的需求也日益高漲,因此在市場需求上開發(fā)智能家居APP是可行的。</p><p>  綜合以上幾點,我認為開發(fā)智能家居APP這個課題是可行的。</p><p>  3.2 智能家居系統(tǒng)組

54、成</p><p>  目前設想為以STM32開發(fā)板作為智能網(wǎng)關,對各個智能家居終端進行交互,移動終端(即安卓手機)將作為一個控制和顯示信息的一個平臺工具。整個系統(tǒng)可以劃分為智能家居控制終端(即STM32開發(fā)而成的智能網(wǎng)關),智能家居服務中心,智能家居客戶端三個部分組成。系統(tǒng)設想如下圖所示:</p><p>  圖3-1:智能家居系統(tǒng)設想圖</p><p>  方案

55、設想為:用戶通過安卓手機安裝APP,通過使用APP發(fā)送相關功能指令至服務器,由服務器轉發(fā)信息至智能網(wǎng)關處理,智能網(wǎng)關的信息也經(jīng)由服務器轉發(fā)至APP中,這樣以服務器為媒介進行同步信息,實現(xiàn)信息的收發(fā)以及同步。</p><p>  本課題的主要內(nèi)容是設計實現(xiàn)移動終端的智能家居APP開發(fā),因此,其他組件將不做敘述,僅在描述與APP相關聯(lián)的部分時進行相關性說明。</p><p><b>

56、  3.3功能需求分析</b></p><p>  智能家居APP的核心業(yè)務是隨時隨地可以遠程操控家居設備。很顯然普通的PC滿足不了這一個需求。為了達到這個效果,在過去很難實現(xiàn),如今隨著網(wǎng)絡的發(fā)展,3G/4G網(wǎng)絡的普及,以及WIFI的廣泛使用,移動終端成為了提供這個核心業(yè)務能力的最佳選擇。目前設想實現(xiàn)功能有:</p><p><b>  核心業(yè)務需求</b>

57、;</p><p> ?。?)遠程操控多種智能家居設備,如:燈光,開關,空調(diào)等。</p><p> ?。?)可以接收并處理安防警報信息,如:門磁,煙霧,燃氣等安防設備。</p><p> ?。?)管理安防警報信息,對信息進行記錄保存,可以對信息進行刪除等操作。</p><p>  (4)實現(xiàn)可視對講,能實時監(jiān)聽家庭情況。</p>

58、<p><b>  輔助業(yè)務需求</b></p><p> ?。?)提供APP各項功能及數(shù)據(jù)信息的接口,方便管理</p><p> ?。?)提供APP設置及版本查詢功能。</p><p>  智能家居APP提供這些服務將會使得智能生活變得更加的便捷方便,為用戶帶來諸多便利之處,如:</p><p> ?。?)

59、利用移動設備及移動網(wǎng)絡的靈活和便捷,使得用戶可以隨時隨地遠程控制家居設備。</p><p>  (2)一鍵式傻瓜式的操作,大量的減少用戶的工作量,用戶只需在APP上選擇自己想要的功能更便可以輕松實現(xiàn)。</p><p>  (1)可視對講,安防警報大大的增加了住宅的安全,不僅可以防范安全災害,還可以隨時掌握家庭信息。</p><p> ?。?)通過APP全方位的智能服

60、務,極大的增加了家居生活的舒適度。</p><p>  本文中介紹的APP是智能家居系統(tǒng)的重要組成部分。它是所有智能設備的指揮工具,一切命令消息都將匯總聚集于此。</p><p>  3.4 性能需求分析</p><p>  在滿足了以上功能后,還需要考慮到其軟件運行的性能如何,如是否能夠穩(wěn)定的運行,每個任務功能響應時間是否過長,數(shù)據(jù)保存是否安全正確等。這些都將影響

61、著一款軟件的用戶體驗,對于本次智能家居APP將要達到以下幾個性能指標:</p><p>  (1)軟件將穩(wěn)定運行,給足充足的差錯控制,盡可能防止閃退現(xiàn)象的出現(xiàn)。</p><p> ?。?)軟件在平時運行情況下CPU使用率控制在25%以下。</p><p> ?。?)軟件在點擊功能后,在2秒內(nèi)對用戶做出響應。</p><p> ?。?)在跳轉頁

62、面,退出APP時都及時釋放不必要的內(nèi)存,防止內(nèi)存溢出,給系統(tǒng)造成負擔,提高運行效率。</p><p> ?。?)保證后臺服務在退出APP后仍然能夠正常執(zhí)行。</p><p> ?。?)合理處理數(shù)據(jù)的存儲,用不同的存儲數(shù)據(jù)方式去存儲不同的數(shù)據(jù)。</p><p>  3.5 硬件需求分析</p><p>  本文中智能家居APP是基于Androi

63、d API版本19開發(fā)而成,軟件運行在Android手機上,因此對于Android手機硬件有部分需求:</p><p>  Android手機操作系統(tǒng)版本需要在4.1以上</p><p>  (1)手機主頻1.5GHz以上,運行內(nèi)存(RAM)在2G以上</p><p> ?。?)支持WIFI,3G/4G等通信網(wǎng)絡</p><p> ?。?)手

64、機ROM容量1G以上</p><p><b>  (4)帶有攝像頭</b></p><p>  以上為本次智能家居APP的基本硬件需求,在這個基礎上軟件能夠通暢運行。以上配置在目前市場上大部分安卓手機都滿足這個配置,因此本智能家居APP可以應用在大部分機型上。同時能夠在不同分辨率下使用。</p><p>  第四章 系統(tǒng)總體設計</p&g

65、t;<p>  4.1 系統(tǒng)架構分析</p><p>  參考設計的需求,本文所設計的智能家居APP所采用的是客戶端/服務器(Client/Server 簡稱C/S)架構,服務器通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如ORACLE、SYBASE、InfORMix或 SQL Server。客戶端需要安裝專用的客戶端軟件。</p><p>  本次開發(fā)所用到

66、的服務器為機智云公司所提供服務器,其公司有著較為完善的智能家居管理方案,采用云服務方式方便管理,同時減少了相應的服務器維護成本??蛻舳思礊楸疚乃_發(fā)的智能家居APP,上文說過了智能家居系統(tǒng)的組成,可以看出這是一個很經(jīng)典的C/S架構。選擇這種架構主要原因有:</p><p>  1.應用服務器運行數(shù)據(jù)負荷較輕</p><p>  2.數(shù)據(jù)的儲存管理功能較為透明</p><

67、p>  從以上兩點,綜合比較別的架構來看,C/S架構較為適合本次開發(fā)的需求,所以決定使用C/S架構作為智能家居系統(tǒng)APP部分的架構。</p><p>  4.2 功能模塊設計</p><p>  本節(jié)主要介紹該APP的總體功能以及部分執(zhí)行流程,具體如下圖所示:</p><p>  圖4-1:總體設計圖</p><p>  4.2.1選擇

68、設備模塊</p><p>  該模塊提供網(wǎng)關設備的選擇,主要將已經(jīng)綁定的網(wǎng)關顯示出來,并可以選擇網(wǎng)關設備啟動后臺服務及進入主界面,同時可以選擇離線登入方式進入主界面。以及相關界面</p><p>  4.2.2添加網(wǎng)關/掃碼模塊</p><p>  這兩模塊都是用于添加網(wǎng)關設備,一種通過手動配置方式,還有一種是用于二維碼掃碼方式進行設備的添加。</p>

69、<p>  4.2.3 后臺服務模塊</p><p>  該模塊將提供智能家居中網(wǎng)關設備連接操作,網(wǎng)關設備數(shù)據(jù)的收發(fā)操作,網(wǎng)關設備數(shù)據(jù)處理操作,以及將數(shù)據(jù)發(fā)送到相應的功能模塊,從而實現(xiàn)UI更新。</p><p>  4.2.4攝像頭模塊</p><p>  該模塊將提供智能家居中安防監(jiān)控設備的各項功能,如實時預覽,截屏,可視對講等等,用戶可以利用它隨時

70、掌握家里的情況。以及攝像頭設備的添加,刪除等操作</p><p><b>  4.2.5網(wǎng)關模塊</b></p><p>  該模塊是選擇設備模塊的一個復用,主要用于網(wǎng)關的切換,當有多個網(wǎng)關時候可以進行切換進入到相關網(wǎng)關,對相關網(wǎng)關所關聯(lián)設備進行操作。</p><p>  4.2.6燈光/插座/開關模塊</p><p>

71、  該模塊是用來實現(xiàn)對相關網(wǎng)關關聯(lián)的各種智能燈光/插座/開關的操作,以及相關設備的添加,修改,刪除等系列操作。</p><p>  4.2.7智能空調(diào)模塊</p><p>  該模塊是用來實現(xiàn)對相關網(wǎng)關關聯(lián)的智能空調(diào)的操作,如設置溫度,設置空調(diào)模式等等,以及完成相關空調(diào)設備添加,修改,刪除等操作。</p><p>  4.2.8 警報記錄模塊</p>

72、<p>  該模塊是用來顯示煙霧\燃氣\門磁\人體移動等警報設備所接收到的警報記錄,記錄由系統(tǒng)自動生成,記錄了警報器類別,警報時間等等,以及對記錄的刪除操作。</p><p>  4.2.9 設置模塊</p><p>  用戶可以自己對APP部分內(nèi)容進行修改自定義,以及查看APP相關版本等功能。</p><p>  第五章 系統(tǒng)詳細設計</p>

73、<p>  5.1數(shù)據(jù)庫設計以及實現(xiàn)</p><p>  Android系統(tǒng)自帶有SQLite這一輕量級數(shù)據(jù)庫作為本地數(shù)據(jù)庫,為開發(fā)帶來了很大的方便,本次開發(fā)所涉及到數(shù)據(jù)如:警報記錄,燈光/插座/開關信息設備記錄,空調(diào)設備信息記錄等等將會以SQLite數(shù)據(jù)庫進行存儲。</p><p>  5.1.1 警報記錄表</p><p>  該表用以存儲煙霧/燃

74、氣/門磁/人體移動相關的警報記錄。表名為:alert該表主要字段有:</p><p>  alert表的創(chuàng)建相關代碼:</p><p>  privatestaticfinal String CREATE_TABLE_ALERT ="create table alert(_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,time TE

75、XT,bindgiz TEXT,userid TEXT,flag INTEGER)"; //alert表創(chuàng)建語句字符串</p><p>  db.execSQL(CREATE_TABLE_ALERT); //調(diào)用SQLiteDatabase中execSQL方法生成alert表</p><p>  5.1.2 燈光/開關/插座信息記錄表</p>

76、<p>  該表用以存儲燈光/開關/插座等設備的相關信息。表名為:giz該表主要字段有:</p><p>  giz表的創(chuàng)建相關代碼:</p><p>  private static final String CREATE_TABLE_GIZ ="create table giz(id INTEGER PRIMARY KEY AUTOINCREMENT,name

77、TEXT,address TEXT,bindgiz TEXT,userid TEXT,flag INTEGER)"; //giz表創(chuàng)建語句字符串</p><p>  db.execSQL(CREATE_TABLE_ALERT);//調(diào)用SQLiteDatabase中execSQL方法生成giz表</p><p>  5.1.3 空調(diào)設備信息記錄表</p>&

78、lt;p>  該表主要用以存儲空調(diào)設備的相關信息。表名為:airmes該表主要字段有:</p><p>  airmes表的創(chuàng)建相關代碼:</p><p>  private static final String CREATE_TABLE_AIRMES="create table airmes(_id INTEGER PRIMARY KEY AUTOINCREMENT,n

79、ame TEXT,brand INTEGER,temperature INTEGER,mode INTEGER,speed INTEGER,direction INTEGER,bindgiz TEXT,userid TEXT,flag INTEGER)";//airmes表創(chuàng)建語句字符串</p><p>  db.execSQL(CREATE_TABLE_AIRMES);//調(diào)用SQLiteDatab

80、ase中execSQL方法生成airmes表</p><p>  5.1.4數(shù)據(jù)庫相關操作實現(xiàn)</p><p>  本次設計所涉及的數(shù)據(jù)庫操作都以集合至DatabaseAdapter類中,涉及操作只需要輕松調(diào)用就可以,以下是對表涉及的操作的說明以及實現(xiàn)代碼:</p><p>  1.giz表的增刪改查</p><p>  giz表是用以存儲燈

81、光/開關/插座等設備的相關信息,需要對這些信息進行增加,刪除,修改,單條記錄查詢,所有記錄查詢等等處理操作。以下為各個操作主要實現(xiàn)代碼</p><p><b>  1.1增加記錄</b></p><p><b>  1.2 刪除記錄</b></p><p><b>  1.3修改記錄</b></

82、p><p><b>  1.4查詢記錄:</b></p><p>  1.4.1查詢單條記錄</p><p>  查詢所有綁定在線網(wǎng)關設備記錄</p><p>  2.alert表的增刪查</p><p>  alert表用以存儲煙霧/燃氣/門磁/人體移動相關的警報記錄,需要對記錄進行增加,刪除,查詢

83、所有記錄等操作,以下為各操作的主要實現(xiàn)代碼:</p><p><b>  2.1增加記錄</b></p><p><b>  2.2刪除記錄</b></p><p><b>  2.3查詢記錄</b></p><p>  3.airmes表的增刪改查</p>&l

84、t;p>  airmes表是用以存儲空調(diào)設備的相關信息,需要對這些信息進行增加,刪除,修改,記錄查詢等等處理操作。以下為各個操作的主要實現(xiàn)代碼</p><p><b>  3.1增加記錄</b></p><p><b>  3.2刪除記錄</b></p><p><b>  3.3修改記錄</b>

85、;</p><p><b>  3.4查詢記錄</b></p><p>  5.2選擇設備模塊設計以及實現(xiàn)</p><p>  選擇設備模塊是對網(wǎng)關的選擇,智能家居圍繞智能網(wǎng)關來進行對家居操作指令的收發(fā),因此每個智能家居都應對應綁定一臺網(wǎng)關設備,一臺網(wǎng)關設備也應該可以控制多臺網(wǎng)關設備。選擇設備模塊具體功能劃分有:設備選擇,設備解綁,設備名稱修改

86、。以下是各個功能和UI設計等詳細說明。</p><p>  5.2.1 UI界面布局設計</p><p>  圖5-1選擇設備界面圖5-2 解綁和改名</p><p>  5.2.2 選擇設備的實現(xiàn)</p><p>  當用戶點擊在線的網(wǎng)關或者離線登入,就進行界面的跳轉。具體實現(xiàn)過程及關鍵代碼如下:</p><

87、p>  通過Android所帶的Intent來進行數(shù)據(jù)的傳遞以及界面的跳轉。此處所攜帶的數(shù)據(jù)有網(wǎng)關設備的實體信息,是否離線登入模式,若用戶選擇離線登入則傳遞的網(wǎng)關信息為空。</p><p>  5.2.3設備改名的實現(xiàn)</p><p>  用戶可以對在線設備進行改名操作,通過自定義名稱可以讓用戶方便的去管理網(wǎng)關設備,具體實現(xiàn)過程和關鍵代碼如下:</p><p>

88、;<b>  改名操作:</b></p><p><b>  操作后的回調(diào):</b></p><p>  通過自定義類型的Dialog實現(xiàn)該功能,當點擊改名操作時候將會跳出一個Dialog,若設備是已經(jīng)在后臺連接則不需要額外注冊監(jiān)聽器,否則需要注冊個監(jiān)聽器用以實現(xiàn)修改名字的回調(diào),Dialog彈出來后可在里面可對名字進行修改,修改后點擊保存即可調(diào)用

89、llSure按鈕事件對信息進行修改并保存,若取消則調(diào)用llNo按鈕事件對信息不進行保存,該功能結束后若該設備不是已選擇登入的設備則需要注銷設備的監(jiān)聽,防止沖突。</p><p>  5.2.4設備解綁的實現(xiàn)</p><p>  用戶可以對設備進行解綁操作,解綁之后設備將不在界面上顯示。具體實現(xiàn)過程和關鍵代碼如下:</p><p><b>  解綁操作:&l

90、t;/b></p><p><b>  操作后的回調(diào):</b></p><p>  通過GizWifiSDK所提供的unbindDevice接口進行對設備的解綁操作。操作后將會對結果進行回調(diào)。</p><p>  5.3添加網(wǎng)關/掃碼模塊設計以及實現(xiàn)</p><p>  該模塊主要實現(xiàn)功能是對網(wǎng)關進行添加,添加分為

91、手動配置添加和掃碼添加兩種方式,該模塊通過選擇設備模塊界面中的Menu選項中進行選擇功能,以下是各個功能和UI設計等詳細說明.</p><p>  5.3.1 UI界面布局設計</p><p>  圖5-3添加設備界面圖5-4確認設備是否處于帶連接狀態(tài)界面</p><p>  圖5-5 設備配置界面圖5-6 掃碼添加界面</p>

92、<p>  5.3.2 手動添加網(wǎng)關的實現(xiàn)</p><p>  用戶可以對網(wǎng)關進行手動添加,手動添加又可以分兩個部分,一個是對網(wǎng)關進行wifi模塊配置,使得網(wǎng)關可以借助wifi連接上服務器,另一部分則是手機接收到配置好的信息,將網(wǎng)關信息保存起來。具體實現(xiàn)過程和關鍵代碼如下:</p><p>  選擇“僅添加智能網(wǎng)關”功能后,跳轉界面:</p><p>

93、  配置wifi信息并添加網(wǎng)關:</p><p>  配置添加完成后的回調(diào):</p><p>  手動添加不僅僅是在手機上添加網(wǎng)關設備信息,更是為網(wǎng)關的wifi模塊進行配置,使其能夠通過wifi連接服務器。所以說手動配置適用于在網(wǎng)關初次使用或者更換wifi時。</p><p>  5.3.3 掃碼添加網(wǎng)關的實現(xiàn)</p><p>  掃碼添加設

94、備的方式是一種快捷添加的方式,通過掃描二維碼的方式來添加網(wǎng)關設備的相關信息。具體實現(xiàn)過程和關鍵代碼如下:</p><p>  掃碼結束后,對信息進行處理:</p><p>  若數(shù)據(jù)符合要求則調(diào)用綁定方法:</p><p><b>  綁定后的回調(diào):</b></p><p>  綁定的數(shù)據(jù)格式有兩種,因此這里有一個重載函

95、數(shù)startBind;可見里面調(diào)用的綁定設備方法都是由GizWifiSDK提供,當調(diào)用完后會有個回調(diào)函數(shù),用以通知用戶網(wǎng)關信息是否添加完成。</p><p>  5.4后臺服務模塊設計以及實現(xiàn)</p><p>  該模塊主要是以后臺服務(Server)的方式進行對網(wǎng)關設備的連接,同時還將負責各種信息數(shù)據(jù)的傳遞,是大部分UI信息的來源,同時還負責了部分數(shù)據(jù)的存儲,如各種報警信息等。服務是后臺

96、運行的,沒有UI部分,它通過MainActivity來負責對其的啟動。以下是該模塊各個功能詳細說明.</p><p>  5.4.1 連接設備的實現(xiàn)</p><p>  當用戶選擇設備后,進入至主界面,同時將會啟動該服務進行對設備的連接,通過廣播(BroadcastReceiver)的方式進行數(shù)據(jù)的傳遞,后臺可以將數(shù)據(jù)分享至任意地方。具體實現(xiàn)過程和關鍵代碼如下:</p>&l

97、t;p><b>  啟動服務:</b></p><p>  連接設備,并且注冊相關廣播接收者:</p><p><b>  連接設備后的回調(diào):</b></p><p>  通過服務的形式對網(wǎng)關設備進行連接,使得其不會受到各個Activity的限制,可以在后臺穩(wěn)定的對設備進行連接,并且穩(wěn)定的處理數(shù)據(jù),這樣才符合當初的設

98、計思路,設備可以長時間且就算退出APP也能在后臺保持對網(wǎng)關設備的監(jiān)聽。</p><p>  5.4.2 傳遞數(shù)據(jù)的實現(xiàn)</p><p>  前文說道以服務的形式連接設備,同時對設備實施監(jiān)聽,對設備數(shù)據(jù)進行處理,而有很多數(shù)據(jù)還需要傳遞給各個Activity讓其作出各種反應,如UI界面的更新等等,這里采用了安卓所提供的BroadcastReceiver組件來實現(xiàn)數(shù)據(jù)在服務與各Activity的

99、傳遞。具體實現(xiàn)過程和關鍵代碼如下:</p><p>  各個數(shù)據(jù)點的數(shù)據(jù)傳遞:</p><p><b>  網(wǎng)關設備信息傳遞:</b></p><p><b>  硬件版本信息傳遞:</b></p><p>  設備連接中斷信息傳遞:</p><p>  以上為主要的幾個信息

100、的傳遞實現(xiàn)代碼。這些信息通過注冊不同的receiver,從而被接收,同時接收后的處理也不一樣,在此不一一敘述。</p><p>  5.4.3 數(shù)據(jù)存儲的實現(xiàn)</p><p>  前文有提到警報信息將會存儲起來,方便以后會信息的檢查,且數(shù)據(jù)庫也封裝了相應的方法,因此只需要在此調(diào)用便可以實現(xiàn)數(shù)據(jù)的存取,這里舉燃氣警報信息來說明:</p><p><b>  

101、獲取數(shù)據(jù)時間:</b></p><p><b>  對數(shù)據(jù)進行存儲:</b></p><p>  其余警報信息存儲與其類似。這些數(shù)據(jù)都將存儲至數(shù)據(jù)庫中,為后面接收的警報記錄模塊功能實現(xiàn)提供了數(shù)據(jù)源。</p><p>  5.5攝像頭模塊設計以及實現(xiàn)</p><p>  攝像頭模塊通過主界面進入,主界面UI如下

102、圖所示:</p><p>  圖5-7主界面UI布局</p><p>  點擊“攝像頭”將會跳轉至攝像頭模塊相關UI界面,攝像頭模塊功能主要有攝像頭設備的添加綁定,可視對講,實時播放,截圖,錄像等等,以下是各個功能和UI設計等詳細說明。</p><p>  5.5.1 UI界面布局設計</p><p>  圖5-8攝像頭主界面圖5

103、-9設備列表界面</p><p>  圖5-10設備功能界面1 圖5-11設備功能界面2</p><p>  圖5-12添加設備界面1圖5-13添加設備界面2</p><p>  圖5-14添加設備界面3圖5-15添加設備界面4</p><p>  5.5.2 添加設

104、備的實現(xiàn)</p><p>  不僅僅是網(wǎng)關設備需要添加,攝像頭設備同樣需要添加綁定,設備綁定原理同網(wǎng)關設備,在此不做具體重復的敘述,下面是部分實現(xiàn)過程及代碼:</p><p>  前面輸入wifi信息進行配置步驟如網(wǎng)關設備因此不再敘述,此處只將添加設備時調(diào)用SDK代碼進行說明:</p><p>  調(diào)用完成后的部分回調(diào)函數(shù):</p><p>

105、  因為功能于網(wǎng)關設備類似,所以該部分功能在添加網(wǎng)關相關界面也進行過整合,這也是前文添加網(wǎng)關設備中為何UI界面上設計有“僅添加攝像頭設備”和“同時添加兩者”的功能按鈕。</p><p>  5.5.3 設備功能的實現(xiàn)</p><p>  此處將綜合說明一個攝像頭設備所擁有的一些功能,如:實時播放,錄像,截圖,實時對講等功能,因為這些功能都是對SDK相關接口的調(diào)用,所以不細分目錄,這些功能的

106、具體實現(xiàn)過程和關鍵代碼如下:</p><p><b>  1.實時播放功能:</b></p><p><b>  2.停止播放功能:</b></p><p><b>  3.開啟錄像功能:</b></p><p><b>  4.停止錄像功能:</b>&l

107、t;/p><p><b>  5.截圖功能:</b></p><p><b>  6.開啟對講功能:</b></p><p><b>  7.關閉對講功能:</b></p><p><b>  8.刪除設備功能:</b></p><p>

108、;  以上是攝像頭模塊中單一設備所設計的的功能,這些功能都是對xmcamera這個SDK中各個接口的調(diào)用,根據(jù)不同接口的來實現(xiàn)不同的功能,同時每個接口都提供了回調(diào),能夠得到調(diào)用反饋。</p><p>  5.6網(wǎng)關模塊設計以及實現(xiàn)</p><p>  網(wǎng)關模塊其實是對選擇設備模塊的一個功能復用,不同的是選擇設備模塊是在啟動界面作為第一UI出現(xiàn),而網(wǎng)關模塊則主要功能目的是用以切換網(wǎng)關設備的,

109、一次是從主界面進入,主界面UI在前文有展示,此處不再展示。網(wǎng)關模塊和選擇設備模塊是個復用的結合體,所用的UI一致,所實現(xiàn)功能也一致,因此有關該部分請參考“選擇設備模塊設計以及實現(xiàn)”部分,主要代碼區(qū)別為:</p><p>  此處通過ismain這個boolean型變量來判斷它所實現(xiàn)的應該是網(wǎng)關模塊還是選擇設備模塊的跳轉。ismain變量是用以斷定其是否來自于MainActivity的跳轉,若為真則代表來自Main

110、Activity,此時是網(wǎng)關模塊的跳轉功能,否則代表選擇設備模塊的跳轉。</p><p>  5.7燈光/插座/開關模塊設計以及實現(xiàn)</p><p>  智能家居自然離不開各種開關,插座以及電燈的控制,該模塊就是為了實現(xiàn)對這些設備的控制,以及對這些設備的管理,如:添加設備,修改設備信息,刪除設備等等功能,以下是各個功能和UI設計等詳細說明.</p><p>  5.

111、7.1 UI界面布局設計</p><p>  圖5-16燈光/插座/開關設備界面圖5-17添加設備選擇界面</p><p>  圖5-18刪除/修改選擇界面圖5-19添加開關設備界面</p><p>  5.7.2 添加設備的實現(xiàn)</p><p>  燈光/插座/開關等設備需要用戶對其進行添加方才能出現(xiàn)在設備列表中,才能對其

112、進行相關操作,添加設備功能采取了兩種方式一種是手動添加,一種是掃碼添加,兩者數(shù)據(jù)都將會保存至數(shù)據(jù)庫,具體實現(xiàn)過程和關鍵代碼如下:</p><p><b>  1.手動添加</b></p><p>  在輸入框中輸入設備名字以及控制指令代碼點擊確定后數(shù)據(jù)將會保存至數(shù)據(jù)庫,代碼如下:</p><p><b>  2.掃碼添加</b&

113、gt;</p><p>  掃碼添加功能復用了添加網(wǎng)關中的掃碼組件,在掃描完二維碼后將對信息進行處理,符合格式的將會被保存至數(shù)據(jù)庫,代碼如下:</p><p>  5.7.3 發(fā)送指令的實現(xiàn)</p><p>  燈光/插座/開關等設備所涉及到的指令就是開和關,根據(jù)指令碼的不同可以實現(xiàn)開關功能,在設計時候我們只需要添加開的控制指令,然后根據(jù)算法得出相應關的指令,具體實

溫馨提示

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

評論

0/150

提交評論