智能門窗APP系統(tǒng)的設計與實現(xiàn)分析研究 自動化專業(yè)
《智能門窗APP系統(tǒng)的設計與實現(xiàn)分析研究 自動化專業(yè)》由會員分享,可在線閱讀,更多相關(guān)《智能門窗APP系統(tǒng)的設計與實現(xiàn)分析研究 自動化專業(yè)(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 目錄 摘要 1 Abstract 2 前言 3 第一章、緒論 4 1.1 課題背景 4 1.2 課題意義 5 1.3 課題主要內(nèi)容 5 1.4 文章組織結(jié)構(gòu) 6 第二章、相關(guān)理論與技術(shù)介紹 7 2.1 Android系統(tǒng) 7 2.2 通訊協(xié)議 8 2.2.1 HTTP協(xié)議 8 2.2.2 MQTT協(xié)議 9 2.2.3 RTMP協(xié)議 10 2.3 Spring Boot 11 2.4 MYSQL數(shù)據(jù)庫 12 2.5 本章小結(jié) 12 第三章、需求分析 13 3.1 可行性分析 13 3.2 系統(tǒng)完成目標 14 3.3業(yè)務需求 14 3.4 用戶需求
2、 15 3.5 功能需求 18 3.6本章小結(jié) 19 第四章、數(shù)據(jù)庫設計 20 4.1 數(shù)據(jù)庫設計原則 20 4.2 數(shù)據(jù)庫實體 20 4.3 數(shù)據(jù)庫表設計 22 4.4 E-R關(guān)聯(lián)圖 24 4.5 本章小結(jié) 24 第五章、系統(tǒng)實現(xiàn) 25 5.1 客戶端功能實現(xiàn) 25 5.1.1 用戶登錄注冊模塊 25 5.1.2 用戶主界面模塊 26 5.1.3 門窗控制模塊 27 5.2 服務器端功能實現(xiàn) 29 5.2.1 服務器端主模塊 29 5.2.2 消息流推送模塊 29 5.2.3 視頻流推送模塊 30 5.2.4 家居環(huán)境算法設計 31 5.3 系統(tǒng)測試 3
3、2 5.3.1 測試方法 32 5.3.2 模塊單元測試 32 5.3.3 系統(tǒng)整體測試 37 5.4 本章小結(jié) 40 第六章、總結(jié) 41 6.1 系統(tǒng)優(yōu)勢 41 6.2 結(jié)論 41 6.3 展望 42 參考文獻 43 致 謝 44 摘要 目前,隨著我國經(jīng)濟的發(fā)展,物質(zhì)環(huán)境及科學技術(shù)也隨之不斷提高,人們對生活環(huán)境的舒適性和便捷性有了更高的要求。為滿足需求,市場上開始出現(xiàn)智能家居系統(tǒng)的身影,但其面向多種家居,智能門窗系統(tǒng)只是其中占比很小的子系統(tǒng),很少有專門針對門窗來設計和實現(xiàn)智能控制系統(tǒng)。因此本文主要將門窗作為具體對象,研究設計實現(xiàn)一個基于Android平臺的智
4、能門窗APP系統(tǒng)。 此系統(tǒng)具有前端Android應用程序和后端服務器,基于Android開發(fā)平臺,Java為主要編程語言,采用MYSQL數(shù)據(jù)庫進行數(shù)據(jù)庫設計和數(shù)據(jù)管理,使用MQTT協(xié)議、RTMP協(xié)議來分別實現(xiàn)信息流推送和視頻流推送。 主要實現(xiàn)的工作設計有:(1)、客戶端遠程控制門窗開關(guān);(2)、獲取環(huán)境參數(shù)計算得到門窗適宜開/關(guān)程度,并主動推送消息給客戶端,實現(xiàn)智能操作;(3)、客戶端獲取門窗安裝攝像頭拍攝到的內(nèi)容,實現(xiàn)實時監(jiān)控;(4)、客戶端記錄環(huán)境日志與開/關(guān)門窗日志。 該系統(tǒng)融合了設備操控技術(shù)和計算機技術(shù),具有簡易的操作界面、實用的應用價值,使用戶擁有了更好的門窗操作體驗、更優(yōu)質(zhì)的
5、家居生活,提升了用戶生活品質(zhì)。 關(guān)鍵詞:智能門窗、Android、MQTT協(xié)議、RTMP協(xié)議。 Abstract At present, with the development of China's economy, the physical environment and science and technology continue to increase, people have higher requirements for the comfort and convenience of the living environment. In order to meet t
6、he requirements, smart doors and windows systems have begun to appear in the market, but they are oriented towards various household products. Smart door and window systems are only subsystems where the proportion is small, and there are very few dedicated intelligent control systems for doors and w
7、indows. Therefore, this article mainly regards doors and windows as concrete objects, researches and designs and realizes a smart door and window APP system based on Android platform. This system has a front-end Android application and back-end server. Based on the Android development platform, Jav
8、a is the main programming language. It uses a MYSQL database for database design and data management, and uses the MQTT protocol and RTMP protocol to implement information flow push and video stream push respectively. The main work designs are as follows: (1) The client remotely controls the door a
9、nd window switches; (2) Obtains the environment parameters to calculate the appropriate opening/closing degree of the doors and windows, and pushes the message to the client to realize the smart operation; (3) The client acquires the content captured by the door and window installation camera and re
10、alizes real-time monitoring. (4) The client records the environment log and opens/closes the door and window logs. The system integrates device control technology and computer technology, has a simple operation interface, practical application value, so that users have a better door and window oper
11、ation experience, a better home life, and improve the quality of life of users. Keywords: smart doors and windows, Android, MQTT Protocol, RTMP Protocol. 前言 智能門窗系統(tǒng)作為一種新的開發(fā)方向,旨在現(xiàn)代快節(jié)奏的生活方式下,為用戶提供更加便捷的生活體驗。在滿足傳統(tǒng)門窗系統(tǒng)實現(xiàn)的基本控制功能外,智能門窗系統(tǒng)應該更能滿足用戶隨時隨地進行控制和監(jiān)控的需求,與現(xiàn)有的相關(guān)產(chǎn)品相比較,系統(tǒng)更具有時效性,針對的對象更加具體,實現(xiàn)智能化,自主
12、推送消息。 設計致力于實現(xiàn)一個操作簡易、界面友好的智能門窗系統(tǒng)。為實現(xiàn)此系統(tǒng),查閱了門窗產(chǎn)品的發(fā)展現(xiàn)狀,分析研究相關(guān)系統(tǒng)產(chǎn)品并做相互比較,學習其優(yōu)點與先進技術(shù),同時發(fā)現(xiàn)系統(tǒng)產(chǎn)品的不足之處,避免在此次設計中出現(xiàn)相同問題。 文章需要完成的任務有: (1)分析智能門窗系統(tǒng)的背景和發(fā)展現(xiàn)狀,確定課題主要研究設計內(nèi)容,說明系統(tǒng)實現(xiàn)中運用到相關(guān)理論與技術(shù)。 (2)其次從可行性分析、業(yè)務需求、用戶需求和功能需求對系統(tǒng)進行需求分析,闡述了數(shù)據(jù)庫設計內(nèi)容以及系統(tǒng)客戶端與服務器端的具體實現(xiàn)過程。 (3)客觀的對實現(xiàn)的系統(tǒng)進行評價分析作出總結(jié),同時對此系統(tǒng)的發(fā)展寄予展望。 第一章、緒論 1.1 課
13、題背景 科技產(chǎn)品在生活中的出現(xiàn),使之成為了生活中不可缺少的一部分,人們已經(jīng)不知不覺接受并習慣了科技產(chǎn)品的存在,人們的依賴感和對科技的信任感正在不斷地加強。 二十世紀九十年代末,新加坡通過家電電子展覽會向人們展現(xiàn)了未來家居生活的場景,之后的近兩年時間內(nèi),新加坡以極快的速度普及了智能家庭系統(tǒng)[1]。除了新加坡,美國的智能化家居發(fā)展也一直處于世界前沿。智能家居市場具有極大的發(fā)展前景,吸引了大批商人進行投資,雖然每家公司的策略不盡相同,但都推動了智能家居的發(fā)展[1]。 雖然美國是世界上目前為止智能家居的最大市場,但中國的科技實力也不容小覷,中國智能家居發(fā)展速度也是十分兇猛的。經(jīng)過相關(guān)研究顯示,中
14、國智能家居市場的規(guī)模有望每年平均增長48%,2018年中國智能家居市場規(guī)模擴大至1396億元人民幣,預計2022年中國擁有智能家居潛在需求的家庭數(shù)量可達4億[2]。 通過調(diào)查相關(guān)資料發(fā)現(xiàn),智能家居系統(tǒng)發(fā)展的如火如荼,單獨研究智能門窗管理系統(tǒng)的并不多,沒有針對門窗對象的APP系統(tǒng),絕大多數(shù)都是研究智能家居系統(tǒng),智能門窗則是智能家居的一個重要子系統(tǒng)。 傳統(tǒng)門窗只是一個門窗家居的概念,它是單個實物,用戶手動操作,而智能門窗不再是單個概念,而是一個組合概念,它主要由服務器、傳感器、遙控裝置等設備組成[3]。而這些設備正式實現(xiàn)門窗遠程控制的關(guān)鍵。目前,電動開啟或者關(guān)閉門窗已經(jīng)是很成熟的技術(shù),電動化以
15、后的門窗,與互聯(lián)網(wǎng)實現(xiàn)對接,通過App相連,就能實現(xiàn)遠程操作。 在上世紀70年代,智能門窗產(chǎn)品在美國被人們創(chuàng)造,因受到大眾的歡迎,歐美等發(fā)達國家也逐漸采用,并開始推廣。隨后,不止是歐美發(fā)達國家,亞洲一些國家也開始使用智能門窗產(chǎn)品,例如韓國、新加坡、中國等。從紅外線遙控到遠程遙控,智能門窗在不斷更新,不斷適應科技生活的要求[1] ,智能門窗產(chǎn)業(yè)完全呈現(xiàn)積極地發(fā)展趨勢,擁有廣闊的發(fā)展前景。 1.2 課題意義 本課題實現(xiàn)了基于Android的智能門窗APP系統(tǒng),主要實現(xiàn)了門窗控制、視頻監(jiān)控、紀錄查詢、信息服務等功能,大致滿足了用戶對更先進化居住環(huán)境的要求。智能門窗的出現(xiàn),很好的解決了人
16、們對智能生活的需求,優(yōu)化了人們的生活方式,不用再為開關(guān)門窗這種瑣事煩擾;增加了生活的舒適度,人們在一天的工作后,希望能在家中好好休息,此時若需關(guān)窗或有人拜訪,就可以通過App解決需求,不用親自起身操作,從而提高休息質(zhì)量,提高了人們對時間的利用率;多數(shù)情況下,由于天氣的突然變化,或忘記關(guān)閉門窗,由于人們無法及時返回家中進行關(guān)閉門窗的操作,門窗可能會在惡劣天氣下被損壞,同時也可能會破壞室內(nèi)的家庭用具和環(huán)境,智能門窗APP就能和好的解決這類問題,使得用戶不用為關(guān)窗而浪費時間專門跑回家;同時,現(xiàn)代社會,人們更加注重健康問題,優(yōu)良的室內(nèi)空 適宜的開/關(guān)程度,主動發(fā)送信息通知用戶,從而讓用戶居住在更加健康
17、的空氣環(huán)境中。 1.3 課題主要內(nèi)容 系統(tǒng)基于Android平臺,用戶只需要使用Android手機,就可以實時遠程智能控制家中的門窗,若門窗配備攝像頭,也可以實時獲取攝像頭拍攝畫面,從而進行監(jiān)控。與此同時,系統(tǒng)會根據(jù)收集到的環(huán)境參數(shù)進行計算從而來控制門窗的開和關(guān)程度,并進行開/關(guān)消息的推送。系統(tǒng)主要實現(xiàn)以下幾點功能: (1)用戶登錄注冊。 (2)門窗信息管理,添加或刪除門窗信息。 (3)環(huán)境日志、門窗開/關(guān)紀錄查看。 (4)用戶遠程控制門窗開關(guān)。 (5)用戶獲得消息推送,此消息為系統(tǒng)由環(huán)境參數(shù)經(jīng)過計算后的門窗開/關(guān)信息。 (6)用戶獲得門窗攝像頭實時監(jiān)控。 1.4 文
18、章組織結(jié)構(gòu) 本課題主要分析智能門窗的發(fā)展狀況,結(jié)合相關(guān)技術(shù),設計實現(xiàn)了“基于Android的智能門窗APP系統(tǒng)的設計與實現(xiàn)”,論文分為以下六個部分: 第一章為緒論,主要分析了智能門窗的研究背景與國內(nèi)外發(fā)展狀況。講述了本課題實現(xiàn)的意義,最后明確了課題的主要內(nèi)容。 第二章主要介紹了Android系統(tǒng)和其特點,同時也介紹了智能門窗系統(tǒng)中幾個比較關(guān)鍵的技術(shù),如RTMP協(xié)議和MQTT協(xié)議,最后介紹了服務器端使用的框架Spring Boot。 第三章對智能門窗APP系統(tǒng)進行了需求分析,分析可行性后明確了課題目標,再進行闡述了系統(tǒng)的業(yè)務需求、用戶需求和功能需求。 第四章主要對系統(tǒng)中的數(shù)據(jù)庫進行了詳
19、細的說明,首先闡述了數(shù)據(jù)庫設計的原則,然后描述了系統(tǒng)中的實體屬性與數(shù)據(jù)庫中創(chuàng)建的表并繪制了E-R關(guān)聯(lián)圖。 第五章為實際實現(xiàn)討論章節(jié),詳細說明了客戶端功能的具體實現(xiàn)、服務器端功能的具體實現(xiàn),并對系統(tǒng)進行了測試,包括單元模塊測試和系統(tǒng)整體測試。 第六章是對本課題論文的總結(jié),闡述了系統(tǒng)優(yōu)勢并對本次實現(xiàn)的智能門窗系統(tǒng)提出了改進的地方,同時對它的發(fā)展寄予了展望。 第二章、相關(guān)理論與技術(shù)介紹 2.1 Android系統(tǒng) Android作為一種半開源的操作系統(tǒng),最早是由Google和開放手持設備聯(lián)盟開發(fā),它基于Linux,支持多種應用環(huán)境包括智能手機、平板電腦等其他移動設備[4]。Androi
20、d系統(tǒng)框架有五個部分組成:應用程序、應用程序框架、Android運行環(huán)境、系統(tǒng)庫和Linux內(nèi)核【4】,如下圖2.1所示。 圖2.1 Android系統(tǒng)架構(gòu)圖 (1)應用程序(APPLICATIONS) 應用程序是由開發(fā)人員開發(fā),使用java語言編寫的程序,其開發(fā)成功后可以將Android中原來的App替換掉,這一屬性也是安卓平臺與其他平臺相比的最大優(yōu)勢。 (2)應用程序框架(APPLICATION FRAMEWORK) 開發(fā)者在開發(fā)應用程序的時候會需要相應的應用程序編程接口,應用程序框架就是專門為開發(fā)者提供接口的,有了相應的API,開發(fā)者在編寫應用程序時會更加通暢,以便開
21、發(fā)出高質(zhì)量的程序。 (3)Android運行環(huán)境(RUNTIME) Dalvik虛擬機技術(shù),也就是所謂的Android運行環(huán)境,android包含了一組核心庫,其中Java編程語言庫數(shù)據(jù)庫內(nèi)核提供了大多數(shù)功能。對于Android系統(tǒng)而言,每個應用程序都是Dalvik虛擬機的一個例子,Dalvik技術(shù)使一臺設備可以同時運行多個虛擬機。 (4)系統(tǒng)庫(LIBRARIES) 作為Linux和APPLICATION FRAMEWORK的連接,APPLICATION FRAMEWORK受到LIBRARIES的支持。因為有系統(tǒng)庫的存在,Android系統(tǒng)上的類和組件能夠直接利用C/C++庫,C/C
22、++庫使得Android系統(tǒng)有了更加豐厚的功能和服務。 (5)Linux內(nèi)核(LINUX KERNEL) 隨著智能手機和平板電腦以及外圍設備的功能越來越復雜,需要一種外圍設備支持操作系統(tǒng),用于管理這些軟件和硬件,以防止濫用和不可預測的后果的設備。首先,內(nèi)核層能夠給予核心的系統(tǒng)服務,如安全性,內(nèi)存管理,管理方法,網(wǎng)絡協(xié)議棧和驅(qū)動器模型[4],此外,Linux內(nèi)核層也可對硬件和更高層軟件提供虛擬中間層。 該平臺的開發(fā)使移動終端制造商能夠自由的加入到Android系統(tǒng)中,開放性的特點使其擁有更多的追隨者和擁護者,用戶可便捷的將其開發(fā)的應用植入到Android平臺上[5]。 在Android應
23、用程序的開發(fā)中,開放性的特征有利于人氣的堆聚,這里的受歡迎程度不僅包括消費者,同樣也包含生產(chǎn)者,對于消費者來說,它是從豐富的軟件資源中獲益。開放平臺同樣帶來了更大的競爭, 因此,消費者可以以更低的價格購買想要的手機。 2.2 通訊協(xié)議 2.2.1 HTTP協(xié)議 超文本傳輸協(xié)議HTTP(Uniform Resource Locators)提供服務器和網(wǎng)頁瀏覽器之間的網(wǎng)絡協(xié)議,傳輸規(guī)范信息。1990年,HTTP協(xié)議就已經(jīng)提供支持,如網(wǎng)絡傳輸協(xié)議網(wǎng)絡。七層參考模型是由IOS/OSIHTTP定義的,而超媒體信息系統(tǒng)協(xié)議HTTP則在這模型傳輸層的上一層[6]。HTTP的工作流程是客戶/服務器模式,
24、詳細來說,客戶就是瀏覽器,而服務器就是WWW服務器。在HTTP的工作過程中,使用的方式是握手方式,即請求/應答方式:客戶端連接的過程中,雙方建立一個TCP連接,客戶端向請求處理服務器發(fā)送一個請求,服務器收到請求后進行處理,并將處理發(fā)揮到客戶端,完成應答,在此之后,服務器關(guān)閉連接。 2.2.2 MQTT協(xié)議 對于此次設計的智能門窗系統(tǒng)來說,消息推送是一個必不可少的地方,智能門窗是實時獲得環(huán)境參數(shù),將對外界環(huán)境感知處理后的結(jié)果推送到App上,若沒有推送消息,會使此App失去時限性。相比較推送方式,拉取方式是比較繁瑣的,如果用戶需要知道新更新的信息,就需要被動的檢查信息是否更新,然后用戶或者
25、應用程序才向服務器發(fā)出請求來得到想要的新信息,這樣耗時耗力,對于智能門窗APP的用戶來說是不便捷的,也不是智能的,環(huán)境隨時都在變化,若需要用戶實時拉取數(shù)據(jù),這與智能門窗APP便捷優(yōu)質(zhì)生活的核心是相違背的。服務器主動的、直接的向用戶發(fā)送更新信息,減少數(shù)量和交互負載,縮短反應時間,提高效率,最重要的是它不需要用戶的參與,這樣用戶可以在最初的一段時間內(nèi)實時獲取他們需要的信息和內(nèi)容。 在1999年,IBM和Eurotech開發(fā)創(chuàng)造了MQTT協(xié)議,MQTT協(xié)議是消息傳輸協(xié)議,其基于發(fā)布/訂閱[7]。有些設備具有一定的缺陷,如低寬帶,網(wǎng)絡不穩(wěn)定、計算處理能力受限等,而MQTT就是為這些設備設計的,MQT
26、T協(xié)議具有很強的優(yōu)勢,低功耗的傳輸協(xié)議可以減少網(wǎng)絡流量,最大限度地減少數(shù)據(jù)包并有效分配和傳輸,這些特點對于移動系統(tǒng)的應用程序來說是十分得當?shù)摹? 固定頭、可變頭、有效載荷是MQTT消息體的主要組成部分[7]。無論是那種類型的消息體,固定頭是一定包含在內(nèi)的。MQTT的消息可以按功能分類,分別為連接類、消息訂閱/發(fā)布類、保活類,主要的消息類型及其對應數(shù)值如下表2.1所示。 表2.1 MQTT主要消息類型和對應數(shù)值 Mnemonic Value Mnemonics Value CONNECT 1 UNSUBSCRIBE 10 PUBLISH 3 PINGREQ 12 SU
27、BSCRIBE 8 DISCONNECT 14 服務器分為三個層次。第一層是MQTT中間消息推送,這是一種發(fā)送和接收網(wǎng)絡通信機制的機制,負責實現(xiàn)下層協(xié)議和不同類型的消息;第二層通過認證模塊,控制模塊,自動ACL訂閱模塊,主題統(tǒng)計模塊和狀態(tài)監(jiān)控模塊組成,基于改進的各種功能的通信機制是整個系統(tǒng)的必要應用; 第三層是數(shù)據(jù)存儲層,并為第二層的每個模塊提供支持數(shù)據(jù)以與統(tǒng)計數(shù)據(jù)交互。系統(tǒng)框架如下圖2.2所示。 圖2.2系統(tǒng)框架 MQTT擁有以下幾個特點,首先,MQTT協(xié)議框架簡單,有利于開發(fā)者實現(xiàn)想要的功能,第二,它的通訊花費開銷很小,第三,在非正常的網(wǎng)絡客戶端連接狀態(tài)下,并在斷開
28、連接后,可以根據(jù)客戶端的意愿設置機制,以發(fā)布通知的形式通知其他客戶端用戶,而這些用戶是對該用戶狀態(tài)感興趣的用戶。 2.2.3 RTMP協(xié)議 Adobe公司首先提出RTMP協(xié)議。RTMP是實時傳輸消息協(xié)議,在客戶端和服務器端之間傳遞信息,可用于執(zhí)行實時數(shù)據(jù)通信,這是專為視頻數(shù)據(jù),音頻,數(shù)據(jù)傳輸協(xié)議而設計的,是Flash/AIR平臺和支持協(xié)議的服務器之間通信的橋梁[8],與TCP / UDP RTPM傳統(tǒng)的多媒體傳輸協(xié)議相比,它支持多種語音、圖像、腳本從服務器數(shù)據(jù)到客戶端和客戶端到服務器等多條線路動態(tài)傳輸,RTMP協(xié)議支持分開處理視頻中的視頻、音頻,視頻數(shù)據(jù)與聲音不是同樣處理方式,會被分開緩存
29、到服務器中。 系統(tǒng)中利用此協(xié)議,從服務器端傳送視頻流到客戶端,從而實現(xiàn)用戶可以在客戶端實時監(jiān)控門窗配置的攝像頭功能。在RTMP視頻系統(tǒng)的基礎(chǔ)上,該系統(tǒng)主要由客戶端,應用服務器,RTMP服務器,基于數(shù)據(jù)庫應用和其他服務構(gòu)成,其基本結(jié)構(gòu)如下圖2.3所示。 圖2.4 基于RTMP協(xié)議的視頻體統(tǒng)的基本結(jié)構(gòu) 使用RTMP協(xié)議的系統(tǒng)具有這些特點:RTMP協(xié)議可以有效保證多媒體傳輸?shù)馁|(zhì)量,讓用戶可以觀看高質(zhì)量的視頻。無需安裝客戶端程序,大大簡化了難度的操作客戶端。 2.3 Spring Boot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Sprin
30、g應用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。它默認配置了很多框架的使用方式,就像Maven整合了所有的jar包,Spring Boot整合了所有的框架。Spring Boot通常需要使用集成開發(fā)框架,例如容器(matou,Jettty,Undertow),jms,持久化框架,日志框架 流行的NOSQL數(shù)據(jù)(Cassandra,MongoDB)[9],緩存幀等。 傳統(tǒng)的開發(fā)Spring框架中,用戶需要自己編寫一個XML文件,并在Gradle 、Maven中添加相應的依賴包,添加一個函數(shù)代碼,以響應之前的代碼使用。引入多個依賴包是會出
31、現(xiàn)一個難題,就是包與包之間具有版本的區(qū)別,這些版本之間往往有沖突,因此需要對此進行集中處理。這個沖突需要花費很多的時間和精力。如果開發(fā)使用Spring Boot,只有在Gradle、Maven的配置文件中,添加少量配置,就可以運用想要使用的框架,以便簡化配置,XML配置代碼為零,并且Spring Boot對包版本的依賴問題很容易解決。Spring Boot的基礎(chǔ)結(jié)構(gòu)共三個文件:程序開發(fā)以及主程序入口、配置文件、測試程序。 2.4 MYSQL數(shù)據(jù)庫 MYSQL是一種開源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),YSQL擁有的特點對于個人或者中小企業(yè)來說是最好的選擇。它擁有多種優(yōu)勢,對硬件要求較低,因為
32、存儲著適中的數(shù)據(jù)量,運行時不會占用大量內(nèi)存;支持多種操作系統(tǒng),并為多種編程語言提供了API;支持多線路,能夠充分利用CPU資源。這些優(yōu)點使得MYSQL十分受到開發(fā)者的歡迎。 2.5 本章小結(jié) 本章是對課題系統(tǒng)運用到的基本知識和技術(shù)進行了簡單介紹。首先介紹了Android系統(tǒng),分析了其架構(gòu)、特點和優(yōu)勢,其次介紹了相關(guān)的協(xié)議與框架,包括HTTP協(xié)議、MQTT協(xié)議、RTMP協(xié)議和Spring Boot框架。最后概述了MYSQL的概念與優(yōu)勢。 第三章、需求分析 3.1可行性分析 可行性分析是判斷一個系統(tǒng)是否可以開發(fā)的基礎(chǔ),通過對多方面進行可行性分析,充分全面的進行衡量,避免一有想法就盲目
33、的進行系統(tǒng)開發(fā),而造成不必要的經(jīng)濟和人力損失。通常在系統(tǒng)開發(fā)的初期階段、從技術(shù)角度、經(jīng)濟角度、操作角度等進行分析,保證系統(tǒng)能夠高效的開發(fā)。 (1)技術(shù)可行性 從軟件角度看,本系統(tǒng)采用java語言進行編寫,運行Intellij IDEA環(huán)境進行構(gòu)建,將數(shù)據(jù)通過MYSQL數(shù)據(jù)庫進行存儲管理,整體的技術(shù)難度、代碼編寫量較為適中。從硬件角度看,系統(tǒng)基于Android平臺,如今Android系統(tǒng)已十分普及,擁有開發(fā)使用的硬件是很方便的。 (2)經(jīng)濟可行性 系統(tǒng)的經(jīng)濟可行性的分析主要估算三種費用,即開發(fā)成本、運行成本和后期維護費用。 現(xiàn)在電腦的應用已經(jīng)得到了普及,是基礎(chǔ)的信息化設施,系統(tǒng)開發(fā)過程
34、中使用的編程軟件可以免費從網(wǎng)絡途徑下載安裝,系統(tǒng)的開發(fā)使用計算機進行,開發(fā)環(huán)境和開發(fā)軟件設備可以滿足實現(xiàn)系統(tǒng)。同時,系統(tǒng)所需要的硬件設備即Android手機是當前社會普遍使用的智能手機,很容易獲得。 用標準化、智能化的方式幫助用戶解決生活問題,從而提高工作效率,從長遠來看,智能化的生活方式是人們逐漸追求的高品質(zhì)的生活方式,因此,其使用人數(shù)在未來是呈上升趨勢的。 (3)運行可行性 系統(tǒng)的客戶端采用圖形界面方式,簡單、清晰的頁面和操作步驟,使用戶可以清楚的了解每個頁面的功能,并根據(jù)相應關(guān)鍵字來進行相關(guān)操作。對于絕大多數(shù)用戶來說是可以自主操作的。 3.2系統(tǒng)完成目標 智能門窗APP以家
35、庭住宅為平臺,主要使用者是房屋住戶,以為用戶提供舒適、安全、方便和高效率的生活環(huán)境為目標,通過該APP來實現(xiàn)對門和窗戶的遠程智能控制。該系統(tǒng)由服務器端、客戶端、模擬門窗的網(wǎng)頁三部分組成。每部分需實現(xiàn)的目標如下: 服務器端:獲取客戶端開/關(guān)門窗請求,將請求傳輸給門窗即模擬門窗開/關(guān)的網(wǎng)頁,并反饋給客戶端。從門窗即模擬門窗的網(wǎng)頁獲取環(huán)境參數(shù),計算得出門窗適宜開/關(guān)程度,主動推送此信息流給客戶端。從推流軟件獲取視頻流,并可以傳輸視頻流到客戶端,是智能門窗的中心管理平臺。 客戶端:為用戶提供便捷、易懂的操作工具,有了其存在,使得門窗設備的控制行為不僅能在家中實現(xiàn),擴大了人們控制門窗的范圍,是智能門
36、窗系統(tǒng)的重要組成部分。 模擬門窗的網(wǎng)頁:網(wǎng)頁前端模擬實際生活中的門窗,顯示模擬得到的環(huán)境參數(shù)和模擬門窗開/關(guān)動作。 3.3業(yè)務需求 智能門窗APP系統(tǒng)的核心服務是推送信息給客戶端實現(xiàn)遠程操控門窗設備。智能門窗APP系統(tǒng)的業(yè)務需求有:用戶與門窗信息管理;遠程控制用戶家中的門窗;接收并處理開/關(guān)門窗通知;實時獲取門窗攝像頭拍攝畫面;獲得環(huán)境變化和門窗開關(guān)操作紀錄。 智能門窗APP系統(tǒng)通過提供不同的服務,為用戶帶來了諸多便利: (1)移動終端可以隨身攜帶,具有靈活性,用戶可以隨時隨地控制想要控制的門窗。 (2)通過開/關(guān)門窗提示消息,用戶可以及時了解門窗狀態(tài)。 (3)為用戶省去很多
37、不必要的繁雜的人為操作,大大提高了用戶的時間利用效率,增強生活的舒適性和安全性。 3.4 用戶需求 用戶需求是系統(tǒng)設計的最核心部分,系統(tǒng)開發(fā)的最終目的是完成實現(xiàn)用戶的大部分需求。智能門窗系統(tǒng)的主要用戶是戶主。建模描述了系統(tǒng)參與外部功能的理解,是用戶要求的最佳實踐,也可以作為軟件測試階段的參考標準。 首先為用戶需要建立一個用例圖模板,然后通過使用狀態(tài)方案和活動案例描述模型中的關(guān)鍵用例。 根據(jù)智能家庭用戶的應用程序,基于市場上的類似產(chǎn)品進行了廣泛的交流調(diào)查和家庭參考,設計了用例模型圖,如下圖3.1所示。 圖3.1 智能門窗APP系統(tǒng)用例模型圖 從圖中可看出,系統(tǒng)用例模型圖主
38、要包含用戶管理用例、門窗管理用例、數(shù)據(jù)查詢用例、信息服務用例、視頻監(jiān)控用例。 用戶管理用例:指用戶的登陸注冊,與相關(guān)的信息處理。根據(jù)用例繪制出用戶登錄注冊流程圖如下圖3.2所示, 圖3.2 用戶登錄注冊流程圖 已經(jīng)注冊過的用戶可選擇直接登陸,若需注冊則進入注冊頁面,注冊完成顯示“注冊成功”并返回登錄頁面,判斷用戶名是否存在,若不存在進入注冊頁面,若存在,判斷密碼是否正確,正確則登陸成功,不正確返回登錄頁面。注冊時,若輸入已注冊過的用戶名,則會提醒用戶,顯示用戶名已存在,用戶依舊在注冊頁面,可再輸入未注冊過的用戶名。 門窗管理用例:客戶端中添加或者刪除門窗設備,修改門窗信息,并通
39、過門窗管理功能,用戶可以隨時隨地查看家中門窗的開關(guān)狀態(tài),并能遠程操控這些門窗。根據(jù)門窗管理用例可繪制門窗控制流程圖,如下圖3.3所示。 圖3.3 門窗控制流程圖 用戶選擇需要控制的門窗,查看門窗開/關(guān)當前狀態(tài),若對此狀態(tài)滿意則完成操作或返回主界面再選擇其它門窗進行控制。若不滿意查看門窗的狀態(tài),則可手動修改控制。 數(shù)據(jù)查詢用例:此功能部分可以輔助用戶進行其他功能的操作,能夠查詢到門窗的基本信息、環(huán)境日志和門窗開關(guān)紀錄。 信息服務用例:是智能門窗APP用例模型中的核心部分。通過信息服務功能,用戶可以接受門窗根據(jù)環(huán)境自動開關(guān)的信息推送。它是用戶日常生活的有力保障,用戶可以及時掌握環(huán)境
40、變化、門窗開關(guān)操作。信息推送流程圖如下圖3.4所示。 圖3.4 信息推送流程 信息推送流程為,用戶會收到服務器端推送過來的信息,此信息為服務器端根據(jù)獲取的環(huán)境數(shù)據(jù)做出對門窗開/關(guān)程度適宜的判斷,服務器端直接進行判斷后的操作,并將判斷結(jié)果信息推送給客戶端,用戶若滿意此判斷,則不需要進行其他操作,若不滿意,則可進入門窗控制頁面,手動對門窗進行控制。 視頻監(jiān)控用例:主要指通過網(wǎng)絡攝像頭實時監(jiān)控門窗場景,用戶可以在客戶端選擇相應門窗的視頻進行實時監(jiān)控。 3.5 功能需求 開發(fā)功能的需求功能須在軟件中實現(xiàn),用戶通過這些功能來將任務實現(xiàn),從而滿足業(yè)務請求。根據(jù)3.4節(jié)中的用例模型,本
41、文把智能門窗 APP系統(tǒng)分為窗信息管理模塊、門窗控制模塊、數(shù)據(jù)查詢模型和信息服務模塊四大模塊,表3.4列舉了每個模塊的功能項和詳細描述。 表3.4 功能需求模塊 智能門窗APP 功能模塊 功能項 功能項描述 用戶和門窗信息管理模塊 用戶信息管理 用戶可以完成注冊和登陸功能。 門窗信息管理 添加、刪除門窗對象,修改門窗信息。 門窗控制模塊 查看設備狀態(tài) 用戶可以實時查閱家中門窗的開關(guān)狀態(tài)。 遠程操控設備 用戶可以通過UI按鈕控制門窗快關(guān)程度。 視頻監(jiān)控 用戶通過智能手機實時監(jiān)控攝像頭 數(shù)據(jù)查詢模塊 查看環(huán)境日志 用戶可以通過智能手機查看環(huán)境日志
42、,從而了解環(huán)境變化。 查看門窗開/關(guān)紀錄 用戶可以通過智能手機查看門窗的開關(guān)紀錄和環(huán)境日志。 信息服務模塊 接收開關(guān)門窗通知 服務器模擬環(huán)境參數(shù),根據(jù)參數(shù)得出開關(guān)的程度,默認執(zhí)行,用戶可以接收到通知。 3.6本章小結(jié) 本章節(jié)主要撰寫的是系統(tǒng)需求,首先從經(jīng)濟、技術(shù)和運行上進行了可行性分析,分析后制定了系統(tǒng)的完成目標。再通過業(yè)務需求、用于需求和功能需求,制定了詳細的用例模型、操作流程圖和功能模塊,為系統(tǒng)實際實現(xiàn)做準備。 第四章、數(shù)據(jù)庫設計 4.1 數(shù)據(jù)庫設計原則 在設計數(shù)據(jù)庫之前,要詳細分析數(shù)據(jù)庫涉及的多個方面,如表格的設計、表格主鍵之間的關(guān)聯(lián)等等。在指定詳細周密的計劃后才
43、能在之后的開發(fā)中防止問題的發(fā)生,導致重新進行設計。 數(shù)據(jù)庫設計需要注意以下幾點,第一,需要預留足夠的空間,因為系統(tǒng)開發(fā)之前與開發(fā)使用之后,數(shù)據(jù)庫中儲存的數(shù)據(jù)會成倍的增長,主要由于功能的完善和使用人數(shù)的增加,為了避免因儲蓄空間不做而導致系統(tǒng)出問題,需要留有總夠的空間。第二,需要合理安排每個表之間的關(guān)聯(lián)關(guān)系,在系統(tǒng)數(shù)據(jù)庫中,每個表都有可能調(diào)用另一個表的數(shù)據(jù),因此,為了避免數(shù)據(jù)錯誤、訪問受限和表格互斥等情況,需要提前分理好各個表格之間的聯(lián)系,理清互相調(diào)用的表之間的屬性設置情況。 4.2 數(shù)據(jù)庫實體 實體通常指具有一定特性的,可相互區(qū)別的一類事務的集合,使用E-R圖表示實體、屬性、關(guān)系的概念
44、,描述系統(tǒng)的概念模型。 (1)用戶信息E-R圖(如下圖4.1所示),、用戶為一個實體,他具有用戶ID、用戶名、手機號、密碼這是四個屬性。 圖4.1 用戶信息E-R圖 (2)門窗信息E-R圖(如下圖4.2所示),從門窗信息E-R圖可以看出,門窗為一個實體,門窗ID、用戶ID、名稱、類型、狀態(tài)、是否配有攝像頭這六項為門窗實體的屬性。 圖4.2 門窗信息E-R圖 (3) 環(huán)境信息E-R圖(如下圖4.3所示),以環(huán)境作為一個實體,將環(huán)境的編號、門窗ID、天氣、光照、溫度、濕度、AQI(空氣質(zhì)量指數(shù))、噪音、環(huán)境類型(門窗外或者門窗內(nèi))這九項為環(huán)境實物的屬性。 圖4.3
45、環(huán)境信息E-R圖 (4) 日志信息E-R圖(如下圖4.4所示),它以開關(guān)門窗日志作為一個實體,將編號、門窗ID、操作類型(開關(guān)門窗動作程度)這三項作為它的屬性。 圖4.4 日志信息E-R圖 4.3 數(shù)據(jù)庫表設計 (1) 用戶信息表,此表中顯示了組成用戶信息的相關(guān)屬性,分別有ID(編號)、Name(用戶名)、Phone(用戶手機號)、Password(用戶的登陸密碼)。其中ID作為主鍵,除屬性 ID外其他屬性可以為空,ID字段類型為Int,字段長度為11,其它屬性字段類型為Varchar,字段長度為45. 表4-1 t_user信息表 字段名稱 字段意義 字段類型
46、 字段長度 是否是主鍵 是否為空 ID 編號 Int 11 是 否 Name 用戶名 Varchar 45 否 是 Phone 手機號 Varchar 45 否 是 Password 登錄密碼 Varchar 45 否 是 (2) 門窗信息表,統(tǒng)一門窗信息的表格,其中各項屬性可以表現(xiàn)出門窗的性質(zhì),有ID(門窗編號)、User_ID(用戶編號)、Name(門窗名稱)、Type(門窗類型)、With_camera(是否帶有攝像頭,如果是,則可以查看攝像頭內(nèi)容,如果沒有,則不能查看),其中ID為此表格的主鍵,字段類型為Int,字段長度為11
47、,不可為空,User_ID字段類型、長度與編號相同,但可以為空,其他屬性,字段類型為Varchar,字段長度45,可以為空。 表4-2 t_Windows信息表 字段名稱 字段意義 字段類型 字段長度 是否是主鍵 是否為空 ID 編號 Int 11 是 否 User_ID 用戶編號 Int 11 否 是 Name 門窗名稱 Varchar 45 否 是 Type 門窗類型 Varchar 45 否 是 With_camera 是否帶有攝像頭 Varchar 45 否 是 (3) 環(huán)境信息表是表現(xiàn)門窗周圍環(huán)境的表
48、格,由九項屬性表現(xiàn),分別為ID(環(huán)境編號)、Windows_ID(門窗編號)、Type(環(huán)境類型,是門窗外部環(huán)境還是內(nèi)部環(huán)境)、Weather(天氣:晴天、暴雨等)、Temp(溫度)、Humidity(濕度)、Light(光照)、Sound(噪音)、AQI(空氣質(zhì)量指數(shù)),ID為此表的主鍵,字段類型為Int,字段長度為11,不可為空。Windows_ID字段類型為Int,字段長度為11,不是主鍵,可為空,其他屬性字段類型為Varchar,字段長度為45,不為主鍵可為空。 表4-3 t-environment信息表 字段名稱 字段意義 字段類型 字段長度 是否是主鍵 是否為空 I
49、D 編號 Int 11 是 否 Windows_ID 門窗編號 Int 11 否 是 Type 門窗內(nèi)外環(huán)境區(qū)分 Varchar 45 否 是 Weather 天氣 Varchar 45 否 是 Temp 溫度 Varchar 45 否 是 Humidity 濕度 Varchar 45 否 是 Light 光照 Varchar 45 否 是 Sound 噪音 Varchar 45 否 是 AQI 空氣質(zhì)量指數(shù) Varchar 45 否 是 (4) 日志信息表是紀錄開關(guān)門窗的紀錄表,有
50、三個屬性,分別是ID(紀錄編號)、Windows_ID(門窗編號)、Type(操作類型:門窗的開關(guān)程度紀錄),其中ID為此表的主鍵,字段類型為Int,字段長度為11,不可為空。Windows_ID字段類型Int,字段長度為11可為空。Type字段類型為Varchar,字段長度為45,可為空。 表4-4 t-record信息表 字段名稱 字段意義 字段類型 字段長度 是否是主鍵 是否為空 ID 編號 Int 11 是 否 Windows_ID 門窗編號 Int 11 否 是 Type 操作類型 Varchar 45 否 是 4.4 E-
51、R關(guān)聯(lián)圖 通過對E-R實體的構(gòu)建,將實體相互關(guān)聯(lián),繪制了E-R關(guān)聯(lián)圖,如下圖4.6所示: 圖4.6 E-R關(guān)聯(lián)圖 由圖可清楚的看出各實體之間的關(guān)聯(lián),用戶實體管理控制門窗實體的相關(guān)屬性,為多對多聯(lián)系;用戶實體可以查看日志實體屬性,為一對多聯(lián)系;門窗實體紀錄產(chǎn)生日志實體,為一對多聯(lián)系;環(huán)境實體決定門窗實體的開關(guān)狀態(tài),為多對多聯(lián)系。 4.5 本章小結(jié) 本章節(jié)主要對系統(tǒng)中的數(shù)據(jù)庫進行了詳細的說明,首先闡述了數(shù)據(jù)庫設計的原則,然后描述了系統(tǒng)中的實體屬性與數(shù)據(jù)庫中創(chuàng)建的表,繪制出實體間聯(lián)系的E-R圖,并對此說明。 第五章、系統(tǒng)實現(xiàn) 5.1 客戶端功能實現(xiàn) 5.1.1 用戶登錄注冊模
52、塊 用戶登錄頁面十分簡潔明了(如下圖5.1所示),首先有“智能門窗APP”的字樣表明系統(tǒng)的主旨,再者有兩個輸入欄,分別顯示“輸入手機號”、“輸入密碼”,提醒用戶將手機號作為用戶名輸入,然后輸入正確的登陸密碼。點擊登陸按鈕可登陸系統(tǒng)。如果是沒有注冊的新用戶,在頁面的右下角也有“注冊新用戶”字樣,點擊可進入注冊頁面進行用戶注冊。 圖5.1智能門窗APP登陸界面 圖5.2智能門窗APP注冊界面 用戶注冊頁面用于注冊(如上圖5.2所示),以便登陸APP,注冊頁面有“注冊”二字表明頁面主要功能,有兩個輸入欄,分別顯示
53、“輸入手機號”、“輸入密碼”,用戶進行輸入欄的填寫,并點擊“注冊”字樣的按鈕完成注冊操作。同時頁面左上角有“返回”字樣,點擊可返回登錄界面。 5.1.2 用戶主界面模塊 成功登陸后進入APP的主界面,界面有三個頁面,分別為“設備”、“日志”、“我的”,點擊不同的字樣顯示不同功能的頁面。點擊“設備”選項,顯示的是門窗列表,如下圖5.3所示,此頁面用于用戶門窗設備的管理,如增加設備和刪除設備。 此頁面顯示了用戶具有的門窗信息,可以點擊右上角的“添加”按鈕進行門窗設備的添加,若不需要控制某一個門窗,則可以直接點擊門窗名稱后的“刪除”按鈕,刪除指定的門窗。同時,點擊門窗名稱可進入門窗詳細管理控制
54、頁面。 圖5.3智能門窗APP門窗列表 圖5.4門窗添加頁面 點擊“添加”字樣可進入添加設備頁面,如上圖5.4所示,有兩個輸入選項,分別為“設備名稱”、“設備id”,在輸入欄中輸入設備的名稱和產(chǎn)品上的id綁定設備,再點擊“完成添加”從而完成門窗設備的添加。添加的設備可以在主界面的設備頁面顯示。點擊左上角的“返回”按鈕可以返回管理門窗信息的頁面。 點擊“日志”字樣后會進入環(huán)境日志即環(huán)境變化紀錄頁面,如下圖5.5所示,此頁面詳細紀錄了環(huán)境變化的情況,有時間紀錄、環(huán)境各參數(shù)紀錄、執(zhí)行動作紀錄、是否執(zhí)行成功的顯示,此頁面有助于用戶清楚的查閱環(huán)境
55、的變化情況以及門窗開關(guān)的紀錄。 圖5.5智能門窗APP環(huán)境日志 圖5.6智能門窗APP個人中心頁面 點擊“我的”可進入個人中心界面(如上圖5.6所示),個人中心界面主要是顯示用戶的相關(guān)信息,主要組成部分有頭像、用戶的ID顯示、設置、更多智能產(chǎn)品、退出登錄按鈕,點擊“設置”,可以修改自動獲取環(huán)境參數(shù)的時間間隔,點擊“更多智能產(chǎn)品”可連接至其他相關(guān)智能產(chǎn)品的推薦網(wǎng)頁。點擊“退出登錄”按鈕,可直接返回登錄界面。 5.1.3 門窗控制模塊 在門窗列表頁面點擊想要控制的門窗可進入設備詳情頁面,如下圖5.7所示,設備詳情頁面會表明所進入控
56、制的設備名稱,分別有“門窗攝像頭”、“門窗日志”、“關(guān)閉窗戶”三個按鈕,點擊“門窗攝像頭”可進入實時視頻頁面,如下圖5.8所示,觀察門窗配帶攝像頭拍攝到的畫面。點擊“關(guān)閉門窗”可直接將門窗關(guān)閉,也可以下拉頁面中的紅點,來控制門窗開關(guān)的程度,同時此頁面用門窗動畫顯示出門窗狀態(tài)。 圖5.7門窗詳細信頁面 圖5.8智能門窗APP攝像頭顯示頁面 選擇需要查看日志的門窗進入,然后點擊“門窗日志”可進入門窗開關(guān)紀錄頁面,如下圖5.9所示,在此頁面中,可以觀察到門窗開關(guān)的紀錄,紀錄有門窗的開/關(guān)動作和時間。 圖5.9智能門窗APP門窗日志界面
57、5.2 服務器端功能實現(xiàn) 5.2.1 服務器端主模塊 服務器端采用網(wǎng)頁頁面來模擬實際門窗的開關(guān)情況,如下圖5.10所示,頁面主要由一個動畫的實時控制演示,一個門窗開啟程度的進度條和“推送環(huán)境信息”按鈕組成,APP中控制門窗的動作會在網(wǎng)頁上實時顯示。點擊“推送環(huán)境消息”按鈕可以向APP實時推送環(huán)境信息。 圖5.10服務器端網(wǎng)頁頁面 5.2.2 消息流推送模塊 服務器端能夠主動推送消息到客戶端,主要由MQTT協(xié)議實現(xiàn)。 (1)使用paho庫實現(xiàn)MQTT客戶單,首先在pom文件中移入依賴,EMQServiceImpl.class實現(xiàn)了對paho庫進一步的封裝,實現(xiàn)連接connec
58、t,重連reconnect, 訂閱subscribe和發(fā)布publish等操作。
59、vent contextRefreshedEvent) { System.out.println("啟動成功"); if (emqService.connect()) initCallBack(); } (3) 等待連接完成,訂閱預定號的話題,實現(xiàn)對門窗和客戶端消息的監(jiān)聽。 emqService.subscribe("windows/+/env", (s, mqttMessage) -> { log.info(mqttMessage.toString()); }); (4) 發(fā)布消息。
60、 emqService.publish("windows/1/cmd", "cmd;" + level); 以上介紹了MQTT的連接,訂閱和發(fā)布消息等關(guān)鍵代碼,實現(xiàn)了對門窗基本的控制。 5.2.3 視頻流推送模塊 推流軟件為OBS 21.1.0,推流服務端使用百度云的音視頻直播LSS服務,推流軟件界面如下圖5.11所示,將電腦的攝像頭模擬為門窗配帶的攝像頭,點擊“開始推送”按鈕,實時向攝像頭拍攝到的內(nèi)容推送到服務器上。 圖5.11推流軟件頁面顯示 使用RTMP協(xié)議,服務器端再將視頻流傳輸?shù)娇蛻舳耍缦聢D5.12所示,完成一個門窗的實時監(jiān)控。 圖5.12
61、客戶端視頻顯示 5.2.4 家居環(huán)境算法設計 每個門窗有兩組環(huán)境數(shù)據(jù),分別是門窗內(nèi)的數(shù)據(jù)和門窗外的數(shù)據(jù),通過這兩組數(shù)據(jù),系統(tǒng)計算出最優(yōu)的門窗開啟程度,并發(fā)送到門窗控制器執(zhí)行。 環(huán)境數(shù)據(jù)包含6個參數(shù),天氣、溫度、濕度、光照、噪音、空氣質(zhì)量指數(shù)(AQI),每個參數(shù)對門窗開啟程度的決策有不同的影響,如天氣為下雨,則應該關(guān)閉門窗,如空氣質(zhì)量很差,則門窗開啟程度應盡可能小,系統(tǒng)分別對這6個參數(shù)進行了計算,得出每個參數(shù)下門窗開啟的程度(百分比表示),最后取最小值,決定門窗最優(yōu)的開啟程度。6個參數(shù)中“天氣”具有最高優(yōu)先級,若數(shù)據(jù)為“雨”,不管其他參數(shù)如何,都會得到關(guān)閉門窗的結(jié)果,如下表5_1 算法參數(shù)
62、演示表中的結(jié)果是在“天氣”為“晴”的前提下。 表5_1 算法參數(shù)演示表 參數(shù) 門窗外數(shù)據(jù) 門窗內(nèi)數(shù)據(jù) 公式 單參數(shù)門窗開啟程度 最終程度值 溫度 30 20 100-|27-20|*10 30 門窗開啟程度為12% 濕度 63 89 (63-50)*2 26 光照 66 無 100-66 34 噪音 47 3 100-(47-3)*2 12 AQI 33 56 33-56+50 27 5.3 系統(tǒng)測試 系統(tǒng)測試通過將開發(fā)的系統(tǒng)與用戶的需求進行比較,得出不相同的地方,并且根據(jù)這些差異來改善系統(tǒng)。這些行為的目的是將系統(tǒng)中存在
63、的問題盡可能的檢查出來,從而將系統(tǒng)的可靠性提高[10]。 除了開發(fā)系統(tǒng)的軟件是系統(tǒng)的測試對象,包括的硬件、外部設備、數(shù)據(jù)、甚至其他的一些支持軟件和接口也是系統(tǒng)測試的對象。因此,我們需要組合軟件資源和各種系統(tǒng),在真實環(huán)境以測試系統(tǒng)的運行。 5.3.1 測試方法 測試方法一般有兩種,一是白盒測試,二是黑盒測試[11]。白盒測試注重結(jié)構(gòu),是指測試程序內(nèi)部是否有根據(jù)需求正常運行,當然這需要建立在知道程序內(nèi)部的工作過程的前提下。黑盒測試注重功能,是指測試每個功能是否能夠正常運行,但這需要建立在知道系統(tǒng)具體具有哪些功能的前提下。 黑盒測試是站在用戶的角度看程序,檢查接受輸入數(shù)據(jù)能否輸出正確信息。黑
64、盒測試時,將程序比作為密封的不透明的黑盒,程序的內(nèi)部結(jié)構(gòu)和特征均不考慮在內(nèi),其只注重外部結(jié)構(gòu)。此系統(tǒng)測試用的是黑盒測試方法。 5.3.2 模塊單元測試 (1)登錄注冊模塊測試 輸入正確用戶名和密碼,成功登陸。輸入用戶名和任意錯誤密碼或者輸入未注冊過的賬號,頁面出現(xiàn)密碼錯誤提示,如下圖5.13所示,會出現(xiàn)“用戶不存在或密碼錯誤”字樣的提醒。點擊進入注冊頁面,如下圖5.14所示。 圖5.13 登陸報錯頁面 圖5.14 注冊頁面 輸入未注冊過的賬號,會顯示“注冊成功,請登錄!”字樣,如下圖5.
65、15所示。輸入已經(jīng)注冊過的賬號,頁面會出現(xiàn)“手機已存在!”字樣進行報錯,如下圖5.16所示。 圖5.15 注冊成功頁面 圖5.16 注冊報錯頁面 (2) 門窗管理模塊測試 進入“設備”頁面,進行門窗的增加和刪除操作測試。添加“臥室窗戶3”,頁面如下圖5.17所示,添加時會讓客戶設置所添加門窗的信息,如下圖5.18所示,是讓用戶選擇添加的設備類型。 圖5.17 門窗添加測試 圖5.18 設備類型選擇 添加完成后會直接在“設備”頁面顯示“添加成功”字樣,添加前后區(qū)別如下
66、圖5.19、下圖5.20所示,門窗列表中會多出新添加的設備名稱選項。 圖5.19 添加設備前頁面 圖5.20 添加設備成功頁面 刪除門窗設備測試,例如此次測試刪除“客廳窗戶”設備,刪除成功頁面如上圖5.20、下圖5.21所示,被刪除的設備選項會從門窗列表中去除。 圖5.21 門窗設備刪除成功頁面 (3)門窗控制模塊測試 進入門窗詳細頁面,點擊“關(guān)閉門窗”后,頁面前后區(qū)別如下圖5.22、下圖5.23所示,動態(tài)的畫面會顯示點擊“關(guān)閉門窗”前窗戶是開啟的,之后則是關(guān)起的圖片。 圖5.22 點擊關(guān)窗前頁面 圖5.23 點擊關(guān)窗后頁面 拖動門窗開關(guān)程度條等行為進行測試,拖動前后區(qū)別如上圖5.23、下圖5.24所示。 圖5.24 開/關(guān)程度條顯示 (3) 視頻監(jiān)控模塊測試 進入門窗詳細頁面,點擊“打開攝像頭”,測試是否轉(zhuǎn)入視頻監(jiān)測頁面,測試頁面如下圖5.25所示,有進入視頻實時監(jiān)測頁面,測試結(jié)果符合需求。 圖5.25 視頻監(jiān)控測
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案