【一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)11000字(論文)】_第1頁
【一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)11000字(論文)】_第2頁
【一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)11000字(論文)】_第3頁
【一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)11000字(論文)】_第4頁
【一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)11000字(論文)】_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

PAGE17一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要良好的學(xué)習(xí)環(huán)境是保持學(xué)生的學(xué)習(xí)狀態(tài)的前提條件,讓學(xué)生享受愉快的氣氛。國家每年加大公共教育投入,大大改善學(xué)校環(huán)境?,F(xiàn)在學(xué)校教室大都安裝了空調(diào),分體空調(diào)在學(xué)校中的普及和應(yīng)用在一定程度上提供了良好的室內(nèi)熱舒適環(huán)境,保護(hù)了教職人員及學(xué)生的身體健康。與此同時(shí)對分體空調(diào)的集中管理,減少二氧化碳排放,提高學(xué)校的節(jié)能管理水平,也提出了相應(yīng)要求。但缺乏科學(xué)有效管理,致使能耗居高不下,因此教室空調(diào)節(jié)能降耗勢在必行。因?yàn)橐话憬虒W(xué)樓的空調(diào)沒有溫度傳感器,在空調(diào)使用的時(shí)候不知道當(dāng)時(shí)的溫度,有時(shí)候長時(shí)間處于高溫或低溫工作狀態(tài),給學(xué)生帶來了不舒服的學(xué)習(xí)環(huán)境的同時(shí)又浪費(fèi)電。然而教學(xué)樓空調(diào)還沒有集中控制系統(tǒng),缺乏合理的管理,空調(diào)只能由工作人員挨個(gè)對每個(gè)樓層的空調(diào)進(jìn)行開關(guān)調(diào)節(jié),就是出現(xiàn)有時(shí)候樓層空調(diào)沒關(guān)的結(jié)果,讓空調(diào)高耗能,因此必須節(jié)能降耗。針對上述的情況,本文設(shè)計(jì)出了一種基于LoRa的教學(xué)樓空調(diào)智能控制系統(tǒng)。本系統(tǒng)由下位機(jī)和上位機(jī)組成,通過本系統(tǒng)可以實(shí)現(xiàn)對空調(diào)實(shí)現(xiàn)智能控制,包括分教室控制,分時(shí)段控制,可遠(yuǎn)程調(diào)節(jié)空調(diào)輸出溫度和開關(guān)空調(diào)等智能化,對于教學(xué)樓空調(diào)的使用管控和節(jié)能等都得到了很好的提高。本文的設(shè)計(jì)主要由用戶注冊模塊、用戶登錄模塊、TCP通信模塊、溫度顯示模塊、空調(diào)控制模塊和多界面切換模塊。手機(jī)端通過TCP通信來連接到服務(wù)器,再經(jīng)過服務(wù)器實(shí)現(xiàn)和下位機(jī)之間的雙向通信功能。通過TCP接收可以接收到下位機(jī)上報(bào)的各個(gè)教室的當(dāng)前環(huán)境溫度和空調(diào)狀態(tài),通過TCP發(fā)送可以實(shí)現(xiàn)手機(jī)端APP對各個(gè)教室空調(diào)的控制。通過對整體系統(tǒng)進(jìn)行測試,手機(jī)APP擁有用戶登錄功能、注冊功能、溫度顯示功能、空調(diào)狀態(tài)顯示功能、空調(diào)控制功能和與云端服務(wù)器之間的數(shù)據(jù)收發(fā)功能。可以利用手機(jī)APP監(jiān)控教室內(nèi)每個(gè)教室的氣候狀況,模擬測試設(shè)置教室的溫度和開關(guān),實(shí)時(shí)檢測相對應(yīng)教室的環(huán)境溫度和氣候狀態(tài)。基本實(shí)現(xiàn)了預(yù)期的設(shè)計(jì)目標(biāo)。關(guān)鍵詞:上位機(jī)TCP通信JavaAndroidStudio

目錄67121緒論 34491.1課題的背景及其研究意義 3325511.2國內(nèi)外研究現(xiàn)狀及其發(fā)展 3313971.3本文的主要內(nèi)容與結(jié)構(gòu)安排 4158842需求分析 5244182.1功能需求 5207832.2系統(tǒng)主要工具分析 7289403系統(tǒng)概要設(shè)計(jì) 934753.1系統(tǒng)總體設(shè)計(jì) 9286313.2教學(xué)樓空調(diào)智能控制系統(tǒng)前端UI界面 9237933.3Sqlite數(shù)據(jù)庫 12265253.4Java后臺代碼 12267834軟件程序設(shè)計(jì) 13321854.1登錄界面總體程序設(shè)計(jì) 13175304.2注冊界面總體程序設(shè)計(jì) 14129904.3主界面總體程序設(shè)計(jì) 15251624.4TCP接收程序設(shè)計(jì) 17242685系統(tǒng)調(diào)試分析 1864705.1測試簡介 1896105.2手機(jī)APP功能測試 1810901結(jié)論 2318204參考文獻(xiàn) 24PAGE171緒論1.1課題的背景及其研究意義空調(diào)風(fēng)機(jī)又稱制冷空氣溫度調(diào)節(jié)器(RoomAirConditioner),通常用在給開或封閉制冷空間中的區(qū)域提供通風(fēng)處理制冷空氣的機(jī)組的空調(diào)機(jī)組[1]。它的主要功能控制作用主要目的是通過控制調(diào)節(jié)該系列產(chǎn)品所用房間(或其他各種封閉式的公共空間、區(qū)域)內(nèi)所用氣體空氣的產(chǎn)品總體質(zhì)量溫度、濕度、潔凈度和空氣流速等參數(shù),來明確保證其能產(chǎn)品是使用者對人體在舒適性或影響產(chǎn)品制造工藝性和生產(chǎn)流程性等各個(gè)方面的整體性能質(zhì)量要求[2]。不斷發(fā)展的互聯(lián)網(wǎng)技術(shù)對大部分人的生活和消費(fèi)習(xí)慣、娛樂方式帶來了很大的影響,以至于現(xiàn)代智能家居在當(dāng)今人們?nèi)粘I钪懈前缪葜絹碓街匾囊粋€(gè)角色??照{(diào)遙控是日常生活中重要的家用電器,由于智能遙控空調(diào)是一定有一個(gè)感應(yīng)范圍,每一次都可能需要遙控有一點(diǎn)點(diǎn)的反應(yīng)時(shí)間才用來進(jìn)行冷卻或重新加熱,所以遙控會讓人浪費(fèi)一定的空調(diào)時(shí)間;所以截止目前,智能控制空調(diào)模式與傳統(tǒng)遙控模式相對不同,智能遙控空調(diào)的一些相關(guān)遙控技術(shù)不夠成熟,與空調(diào)品牌方之間沒有相關(guān)協(xié)議進(jìn)行匹配,相互不完全兼容,無法完全改變傳統(tǒng)智能空調(diào)的遙控模式。智能空調(diào)控制系統(tǒng)技術(shù)和智能信息處理技術(shù)的不斷飛速發(fā)展逐漸成熟,為中國空調(diào)行業(yè)自動(dòng)化和空調(diào)智能化打下了堅(jiān)實(shí)的理論基礎(chǔ),不斷創(chuàng)新出現(xiàn)的先進(jìn)高科技產(chǎn)品改變?nèi)藗兊纳罟ぷ鳁l件,使人類的日常生活更加舒適。然而目前的智能空調(diào)只能實(shí)現(xiàn)在環(huán)保、節(jié)能、價(jià)格等方面,因?yàn)榭照{(diào)無線網(wǎng)絡(luò)的便捷性得到快速進(jìn)步發(fā)展,智能空調(diào)也在無線網(wǎng)絡(luò)準(zhǔn)則控制方面已經(jīng)得到重大突破讓空調(diào)可以真正基本實(shí)現(xiàn)智能遠(yuǎn)程控制。就試想會不會有一種方法在成本不增加的情況下,又能在節(jié)能、健康、環(huán)保的基礎(chǔ)上真正實(shí)現(xiàn)空調(diào)的智能化遠(yuǎn)程控制呢?本文設(shè)計(jì)出了一種基于Lora的教學(xué)樓空調(diào)智能控制系統(tǒng);本系統(tǒng)由下位機(jī)和上位機(jī)組成,通過本系統(tǒng)可以實(shí)現(xiàn)對空調(diào)實(shí)現(xiàn)智能控制,包括分教室控制,分時(shí)段控制,可遠(yuǎn)程調(diào)節(jié)空調(diào)輸出溫度和開關(guān)空調(diào)等智能化,對于教學(xué)樓空調(diào)的使用管控和節(jié)能等都得到了很好的提高。1.2國內(nèi)外研究現(xiàn)狀及其發(fā)展由于干旱和荒漠化,美國在二十世紀(jì)六,七十年代干旱和半干旱地區(qū)的空氣質(zhì)量開始下降,美國已逐漸開始在缺水地區(qū)開始研究發(fā)展空氣冷卻塔的系統(tǒng),將冷卻塔更換為“空氣冷卻器”,其英文名稱是:AircoolChiller,簡稱為Chiller[4]。在空調(diào)發(fā)展史上,美國開發(fā)并完善了模塊化中央通風(fēng)系統(tǒng)的功能,投資者大力支持安裝和維修帶有風(fēng)管機(jī)組空調(diào)系統(tǒng)的空調(diào)設(shè)備。自20世紀(jì)70年代以來,WRAC屬于最簡單、最便宜的水泵系統(tǒng),通常這種情況下可以從零售店直接購買,即使室內(nèi)溫度異常持續(xù),也都可以免費(fèi)安裝,無需通風(fēng)管的水泵SRAC和SPAC自70年中期起在一種有別于美國消費(fèi)市場的經(jīng)濟(jì)動(dòng)力下在日本市場得到快速發(fā)展和不斷改進(jìn)[5]。然后,在20世紀(jì)90年代,設(shè)備設(shè)計(jì)和制造工程技術(shù)通過與當(dāng)?shù)貦C(jī)械制造商、壓縮機(jī)、熱交換器、發(fā)動(dòng)機(jī)、薄閥、電子控制和其他關(guān)鍵部件的合資企業(yè)轉(zhuǎn)移到中國。上世紀(jì)90年代,中國還從其他發(fā)達(dá)國家引進(jìn)了大型空調(diào)系統(tǒng)的先進(jìn)技術(shù),主要與美國大部分大公司建立合資企業(yè)大型國有企業(yè)和中外合資企業(yè)在國外推出了大量中小企業(yè)資源規(guī)劃系統(tǒng)和中小企業(yè)資源規(guī)劃系統(tǒng)。近年來各個(gè)國家領(lǐng)導(dǎo)重視低碳減排,實(shí)施促進(jìn)環(huán)境資源保護(hù)和經(jīng)濟(jì)可持續(xù)發(fā)展的重大戰(zhàn)略。2004年正式建立中國燃?xì)饽苄Щ鶞?zhǔn)標(biāo)識管理制度,我國自2005年3月1日起開始正式實(shí)施。能效比的標(biāo)準(zhǔn)計(jì)算是由空調(diào)能效值對比得來的,首先空調(diào)能效比的標(biāo)準(zhǔn)計(jì)算方法:空調(diào)能效比=空調(diào)制冷量/空調(diào)制冷時(shí)間功率[6]。國家近日發(fā)布了今年生產(chǎn)節(jié)能高新技術(shù)產(chǎn)業(yè)發(fā)展扶持政策,中國專業(yè)生產(chǎn)節(jié)能空調(diào)的多家企業(yè)已經(jīng)開始對節(jié)能空調(diào)系統(tǒng)產(chǎn)品進(jìn)行了面向市場節(jié)能升級。在2009年美的國際變頻空調(diào)公司制定的總產(chǎn)量增長目標(biāo)是250萬臺,結(jié)果,國內(nèi)市場的總銷量達(dá)到了150萬臺,其市場份額占據(jù)國內(nèi)品牌變頻空調(diào)60%以上。海信科龍總裁王士雷對空調(diào)整體市場以及明年的未來發(fā)展趨勢一直持樂觀態(tài)度。他補(bǔ)充說說,所有專門生產(chǎn)中央變頻器的國際品牌明年都有可能成功使中央空調(diào)產(chǎn)品銷量實(shí)現(xiàn)翻番,市場份額可能超過10%。由于變頻空調(diào)的發(fā)展前景可觀,國內(nèi)的各大變頻空調(diào)廠家聞風(fēng)而動(dòng),開始對變頻空調(diào)“投懷送抱”[7]。隨著空調(diào)和空氣轉(zhuǎn)換器的發(fā)展,新型制冷劑的擴(kuò)散(電過濾技術(shù))和負(fù)離子技術(shù)的應(yīng)用市場大也表明中國空調(diào)技術(shù)在提高效率、節(jié)能環(huán)保方面取得了進(jìn)步。1.3論文的主要內(nèi)容與安排論文的各個(gè)章節(jié)具體安排如下:第一章節(jié),簡要內(nèi)容介紹了本課程研究課題的主要科學(xué)研究技術(shù)發(fā)展歷史背景和重要技術(shù)意義,以及國內(nèi)外的相關(guān)課題科學(xué)研究技術(shù)發(fā)展趨勢現(xiàn)狀和未來研究發(fā)展。第二章節(jié),對功能需求分析和相對于開發(fā)工具進(jìn)行了分析。第三章節(jié),主要對本課題的各個(gè)功能結(jié)果進(jìn)行詳細(xì)的講解。第四章節(jié),主要對作品的各個(gè)功能界面和相對應(yīng)的實(shí)現(xiàn)邏輯流程進(jìn)行介紹。第五章節(jié),主要對作品的功能調(diào)試和測試結(jié)果進(jìn)行敘述。結(jié)論部分,主要是對本作品所實(shí)現(xiàn)的功能進(jìn)行歸納和本作品所呈現(xiàn)的缺點(diǎn)進(jìn)行總結(jié)。2需求分析2.1功能需求根據(jù)任務(wù)需求可知,教學(xué)樓空調(diào)智能控制系統(tǒng)是由上位機(jī)軟件和下位機(jī)硬件組成,本課題需要設(shè)計(jì)的是上位機(jī)軟件。上位機(jī)軟件需求是要設(shè)計(jì)一款能夠與下位機(jī)硬件遠(yuǎn)程通信,實(shí)現(xiàn)實(shí)時(shí)監(jiān)控功能的一款安卓APP軟件。根據(jù)任務(wù)書上的要求,確定了解到的明確的研究內(nèi)容和預(yù)期目標(biāo),所以將整個(gè)安卓APP管理系統(tǒng)細(xì)分成多個(gè)功能模塊,主要包括了用戶登錄管理功能模塊、注冊功能模塊、溫濕度顯示功能模塊、TCP通信功能模塊、數(shù)據(jù)庫功能模塊、空調(diào)狀態(tài)顯示功能模塊、教室選擇功能模塊和空調(diào)控制功能模塊,其具體的系統(tǒng)功能模塊框圖如圖2-1所示。登錄功能模塊和注冊功能模塊是一個(gè)結(jié)合的功能模塊,登錄功能模塊需要靠注冊功能模塊來注冊賬號密碼,這樣才能在登錄功能模塊上進(jìn)行登錄。本課題的安卓APP注冊功能模塊,在注冊的時(shí)候需要選擇用戶和管理員權(quán)限的注冊,這樣在登錄功能模塊登錄的時(shí)候,從數(shù)據(jù)庫中獲取出來的賬戶信息中,會攜帶者賬戶權(quán)限,并傳送到后面的功能使用,因?yàn)樵诒菊n題的安卓APP是有區(qū)分用戶和管理員對于些許功能的使用權(quán)。溫濕度顯示功能,就是通過TCP接收下位機(jī)硬件上傳的環(huán)境溫濕度值,然后解析出來后在其對應(yīng)溫濕度顯示文本控件上顯示。TCP通信功能,TCP通信是本款軟件對外通信的網(wǎng)絡(luò)通信協(xié)議,與下位機(jī)硬件的數(shù)據(jù)傳輸交互,就是依托著整個(gè)TCP通信來實(shí)現(xiàn)。數(shù)據(jù)庫功能,主要用于登錄功能和注冊功能使用。在用戶名中輸入的每個(gè)登錄賬號密碼參數(shù)去自動(dòng)的來查詢數(shù)據(jù)庫中每個(gè)賬戶信息是否已經(jīng)被儲存在此前的每個(gè)賬戶和下次登錄時(shí)所對應(yīng)的每個(gè)賬號密碼以及每個(gè)賬號使用者的登錄權(quán)限。在每次用戶注冊的過程開始階段時(shí)候,會將用戶需要直接輸入的所有用戶注冊賬號和所有注冊者的密碼以及所有注冊使用者的注冊權(quán)限直接插入記錄到您的用戶數(shù)據(jù)庫中。空調(diào)狀態(tài)顯示功能,包括了它的運(yùn)行狀態(tài)顯示和設(shè)定的溫度顯示,這兩個(gè)顯示并沒有與實(shí)際空調(diào)取得同步,而只是根據(jù)安卓APP的設(shè)置而顯示對應(yīng)狀態(tài),然后APP只是將設(shè)置的命令下發(fā),讓硬件自身去操控空調(diào)。教室選擇功能,因?yàn)橄挛粰C(jī)硬件是有兩個(gè)節(jié)點(diǎn)端,也就是說控制兩個(gè)教室,所以需要有可以選擇教室的功能存在,這樣才能知道控制命令是要下發(fā)給誰??照{(diào)控制功能,包括了按鈕控制的溫度加減、狀態(tài)選擇功能和下拉框選擇的空調(diào)學(xué)碼選項(xiàng)功能。通過空調(diào)控制功能可以學(xué)習(xí)到實(shí)際控制空調(diào)的紅外碼和可以實(shí)際控制空調(diào)各種功能。圖2-1安卓APP功能系統(tǒng)結(jié)構(gòu)框圖根據(jù)2-1安卓APP功能系統(tǒng)結(jié)構(gòu)框圖看出,將這些子功能模塊整合就可以得出三個(gè)大類的功能模塊,主要為登錄功能模塊、注冊功能模塊和主要功能模塊,并且這三大功能模塊,每個(gè)功能模塊都有它自己對應(yīng)的前端UI界面,具體的描述如下所示:(1)登錄界面:登錄界面顧名思義,就是用來給使用者登錄,前提是使用者所輸入的賬號和密碼是經(jīng)過注冊得來。登錄界面由兩個(gè)顯示賬號和密碼的標(biāo)簽組成的文本顯示框、兩個(gè)用于手動(dòng)輸入賬號和密碼的可編輯標(biāo)簽文本格式輸入框、兩個(gè)用于登錄和進(jìn)入注冊界面的按鈕組成。整個(gè)賬號登錄管理界面以及功能性觸發(fā)都是基于兩個(gè)按鈕控件,當(dāng)按下賬號登錄兩個(gè)按鈕中的控件,就可能會自動(dòng)進(jìn)入一個(gè)界面,這時(shí)候使用綁定好的賬號登錄并將按鈕控件回調(diào)觸發(fā)函數(shù)中,然后先后來判別兩個(gè)賬號和登錄密碼的安全可靠和編輯性在輸入框當(dāng)中是否都成功輸入了,若其中有一個(gè)沒有成功輸入,則將來會自動(dòng)彈出賬號提示框進(jìn)行告知,否則直接通過新的賬號密碼去登錄數(shù)據(jù)庫中自動(dòng)獲取一個(gè)對應(yīng)賬號密碼中的數(shù)據(jù),若未成功獲取登錄到,則直接說明次登錄賬號不一定存在,否則將來就會自動(dòng)顯示賬號登錄成功并自動(dòng)跳轉(zhuǎn)進(jìn)入到整個(gè)主登錄界面。點(diǎn)擊立即注冊按鈕,就會進(jìn)入設(shè)計(jì)界面時(shí)候綁定好的注冊按鈕回調(diào)函數(shù)中,然后就會調(diào)用跳轉(zhuǎn)函數(shù)跳轉(zhuǎn)到注冊界面。注冊界面:注冊界面顧名思義,就是用來給使用者注冊。注冊界面由兩個(gè)用于顯示賬號和密碼的標(biāo)簽文本格式顯示框、兩個(gè)用于手動(dòng)輸入賬號和密碼的可編輯文本格式輸入框、兩個(gè)按鈕來選擇用戶或管理員權(quán)限、兩個(gè)用于登錄和進(jìn)入注冊界面的按鈕組成。整個(gè)的返回注冊賬號界面回調(diào)觸發(fā)都主要是基于返回注冊賬號按鈕和按下返回注冊登錄賬號按鈕,當(dāng)按下返回注冊賬號按鈕,系統(tǒng)會自動(dòng)進(jìn)入注冊界面,這時(shí)候已經(jīng)綁定好的返回注冊賬號按鈕中的回調(diào)觸發(fā)函數(shù),然后用來判別注冊賬號密碼欄的輸入框設(shè)置是否正確有誤或?yàn)榭眨粲袨榭談t會彈框提示,否則直接將賬號、密碼和使用權(quán)限插入到數(shù)據(jù)庫中,并顯示注冊成功。當(dāng)按下返回登錄按鈕,就會進(jìn)入界面設(shè)計(jì)時(shí)候綁定好的登錄按鈕回調(diào)函數(shù),然后調(diào)用切換界面函數(shù)切換到登錄界面。主界面:主界面顧名思義,就是主要功能的界面。這個(gè)界面主要由網(wǎng)絡(luò)連接模塊,環(huán)境溫濕度顯示模塊,教學(xué)樓空調(diào)狀態(tài)顯示模塊,教學(xué)樓空調(diào)控制模塊模塊和空調(diào)學(xué)碼模塊組成。1)網(wǎng)絡(luò)連接模塊:手機(jī)安卓APP連接到云端服務(wù)器用連接云端模塊,然后同樣連接云端服務(wù)器的下位機(jī)硬件進(jìn)行綁定,最后就實(shí)現(xiàn)了下位機(jī)硬件與安卓APP經(jīng)過云端服務(wù)器的一個(gè)遠(yuǎn)程數(shù)據(jù)通信交互功能。連接云端模塊主要是通過連接服務(wù)器按鈕和注冊安卓組成,當(dāng)按下連接服務(wù)器按鈕后,對應(yīng)的回調(diào)函數(shù)就會利用在后臺代碼中提前設(shè)置好的IP地址和端口號利用TCP協(xié)議向云端發(fā)起連接,若與云端成功連接網(wǎng)絡(luò)狀態(tài)顯示會由斷開網(wǎng)絡(luò)變?yōu)檫B接成功,失敗就是連接不成功。倘若連接云端服務(wù)器成功,接下來就是需要點(diǎn)擊注冊按鈕,在對應(yīng)回調(diào)函數(shù)中將利用TCP發(fā)送函數(shù)發(fā)送一組注冊碼,來實(shí)現(xiàn)與下位機(jī)硬件的綁定。2)溫濕度顯示模塊:溫度顯示模塊,是用來顯示節(jié)點(diǎn)端對應(yīng)教室的環(huán)境溫濕度值,它主要是通過四個(gè)文本顯示框,來顯示下位機(jī)硬件上報(bào)的兩個(gè)節(jié)點(diǎn)端的溫濕度信息。3)空調(diào)狀態(tài)顯示模塊:本模塊主要和空調(diào)控制模塊相結(jié)合,當(dāng)空調(diào)控制模塊按鈕觸發(fā)了溫度的加減或者是運(yùn)行狀態(tài)的切換,那么用于顯示設(shè)置溫度和當(dāng)前空調(diào)運(yùn)行狀態(tài)的兩個(gè)文本顯示框內(nèi)容將會隨之改變。4)空調(diào)控制模塊:空調(diào)控制模塊主要是通過按鈕控件去下發(fā)命令到節(jié)點(diǎn)端,讓其實(shí)際去控制空調(diào)的狀態(tài)與安卓APP上一致。5)空調(diào)學(xué)碼模塊:空調(diào)學(xué)碼模塊主要是通過安卓APP上的下拉框來進(jìn)行選擇當(dāng)前要學(xué)碼的功能,操作的前提是你以管理員身份登錄,否則你是操作不了下拉框和學(xué)碼模式。2.2系統(tǒng)主要工具分析開發(fā)本課題的安卓APP主要用到的開發(fā)語言為Java開發(fā)語言,開發(fā)的環(huán)境為Andoridstudio。因?yàn)橛玫氖荍ava開發(fā)語言,所以需要安裝JRE虛擬機(jī)。還需要用到Sqlite數(shù)據(jù)庫來對用戶信息進(jìn)行存儲。Andoridstudio:AndroidStudio是Google2005年推出基于JavadeIntelliJIDEA的不同應(yīng)用程序集成系統(tǒng)開發(fā)應(yīng)用環(huán)境(IDE),并且提供了許多可以提高Android不同應(yīng)用的系統(tǒng)構(gòu)建開發(fā)效率的應(yīng)用功能。[]

AndroidStudio功能如下所示:

1)基于Gradle的靈活構(gòu)建系統(tǒng);2)InstantRun這也可以由正在網(wǎng)上運(yùn)行的一個(gè)應(yīng)用程序變更信息推送顯示出來,不用重新構(gòu)建Apk;3)快速和功能豐富的模擬器;4)CPU性能測試工具豐富,詳細(xì)記載了內(nèi)存信息和完備的網(wǎng)絡(luò)監(jiān)控工具;5)有C++和NDK的支持,LLDB可以調(diào)試原生代碼;6)用Room持久化數(shù)據(jù)的數(shù)據(jù)庫(Sqlite);7)利用apkanalyzer對預(yù)構(gòu)建APK進(jìn)行分析和調(diào)試;8)擁有強(qiáng)大的布局編輯器;9)支持Koltin編碼和Lua編碼(通過NDK開發(fā))。Java通用語言可以開發(fā)兩種通用編程語言:Java通用語言開發(fā)介于一種基為編譯型語言開發(fā)通用語言和一種基于解釋型語言開發(fā)通用語言之間。編譯型復(fù)雜語言(如C和C+)直接將代碼編譯成機(jī)器代碼執(zhí)行,但不同的平臺(x86、arm等)有不同的cpuno用例命令組,因此應(yīng)該為每個(gè)不同平臺編譯機(jī)器代碼??梢允褂肞ython、Ruby和其他解釋語言這些解釋型語言。如果這個(gè)技術(shù)問題但可以用數(shù)據(jù)分析服務(wù)器器直接讀取源代碼,價(jià)格低,效率也低。Java以一行字節(jié)化代碼的程序形式開始編譯每行代碼,類似于抽象的CPU命令,然后,為不同運(yùn)行平臺創(chuàng)建虛擬機(jī),并為不同平臺的虛擬機(jī)進(jìn)行加載和啟動(dòng)執(zhí)行字節(jié)碼,這樣我們就可以輕松得到“一次,虛擬機(jī)”的效果。當(dāng)然,這只是針對Java開發(fā)者而言。對于每臺虛擬機(jī),需要為每個(gè)平臺分別進(jìn)行開發(fā)。為了正確管理運(yùn)行不同軟件就平臺、不同公司自主開發(fā)的虛擬機(jī),SUN公司制定了一系列的Java虛擬機(jī)運(yùn)行標(biāo)準(zhǔn)。從實(shí)際使用的版本角度來看,JVM的版本兼容性非常好,Java多字節(jié)源代碼的比較低版本還是可以在JVM的高版本中正常運(yùn)行。Sqlite存儲數(shù)據(jù)庫:Sqlite是安卓APP內(nèi)置的輕量級文件嵌入式數(shù)據(jù)庫,它的原始數(shù)據(jù)庫只是一個(gè)文件存儲形式,雖然體積小但實(shí)現(xiàn)了基于SQL數(shù)據(jù)庫引擎的自給自足、無需服務(wù)器、零部件配置的、事務(wù)性等多種功能[]。零設(shè)置數(shù)據(jù)庫反映了Sqlite與其他數(shù)據(jù)庫的最大區(qū)別:Sqlite不用配置系統(tǒng),可以直接使用。且Sqlite不是獨(dú)立的靜態(tài)進(jìn)程,可以根據(jù)實(shí)際需要進(jìn)行單獨(dú)靜態(tài)或其他動(dòng)態(tài)進(jìn)程的連接。sqlite系統(tǒng)附件用戶可以直接下載訪問自己的系統(tǒng)文件,對數(shù)據(jù)庫的訪問性能很高。3系統(tǒng)概要設(shè)計(jì)3.1系統(tǒng)總體設(shè)計(jì)智能空調(diào)遙控系統(tǒng)的手機(jī)APP功能結(jié)構(gòu)的系統(tǒng)框架如圖3-1所示,從圖中可以看出它主要通過安卓前端的UI界面部分、Sqlite數(shù)據(jù)庫部分、Java語言變成的后臺程序部分和TCP通信部分相結(jié)合,來最終實(shí)現(xiàn)主題App部分的功能。安卓APP的前端UI界面可以在AndoridStudio上利用可視化拖拽控件的方式進(jìn)行UI界面開發(fā),也可以直接利用XML語言進(jìn)行編寫設(shè)計(jì)。安卓APP前端UI編寫完成后,就可以編寫對應(yīng)的后臺業(yè)務(wù)邏輯代碼和對應(yīng)的觸發(fā)回調(diào)函數(shù),主要的觸發(fā)類型回調(diào)函數(shù)就是按鈕。TCP通信部分分為連接部分和數(shù)據(jù)收發(fā)部分,連接部分需要觸發(fā)連接服務(wù)器按鈕,然后對應(yīng)的回調(diào)函數(shù)中就會去調(diào)用連接函數(shù)。數(shù)據(jù)收發(fā)部分,是只要下位機(jī)硬件數(shù)據(jù)上報(bào),都會發(fā)送到TCP數(shù)據(jù)接收處,然后通過解析數(shù)據(jù)包就可以提取處相應(yīng)需要的數(shù)據(jù)。數(shù)據(jù)庫部分就是配合注冊和登錄使用,當(dāng)注冊的時(shí)候就會把注冊信息插入到數(shù)據(jù)庫,用于在登錄的時(shí)候根據(jù)輸入賬號去提取對應(yīng)的用戶信息,具體的系統(tǒng)框圖如圖3-1所示:圖3-1手機(jī)APP系統(tǒng)框架結(jié)構(gòu)圖3.2教學(xué)樓空調(diào)智能控制系統(tǒng)前端UI界面教學(xué)樓空調(diào)智能控制系統(tǒng)前端UI界面主要有登錄界面、注冊界面和主界面這三個(gè)界面。登錄界面設(shè)有一個(gè)標(biāo)簽文本信息顯示框、兩個(gè)可自動(dòng)編輯文本輸入框和兩個(gè)登錄按鈕,如圖3-2所示。標(biāo)簽文本顯示就是用于標(biāo)注兩個(gè)可編輯文本輸入框的具體含義,登錄功能和跳轉(zhuǎn)到注冊界面用兩個(gè)按鈕來實(shí)現(xiàn)。若按下系統(tǒng)登錄成功按鈕,則會在判別賬號密碼不為空的情況下,去查詢數(shù)據(jù)庫比對,若成功則顯示系統(tǒng)登錄成功并自動(dòng)跳轉(zhuǎn)到系統(tǒng)主界面,否則系統(tǒng)會顯示自動(dòng)登錄失敗然后停留在登錄界面不能進(jìn)去。如果按下注冊按鈕,則會切換到注冊界面。圖3-2用戶登錄界面注冊界面也是由兩個(gè)標(biāo)簽文本顯示框來標(biāo)注兩個(gè)可編輯輸入框,然后有注冊按鈕、返回登錄按鈕和使用者權(quán)限選擇。具體的注冊界面如圖3-3所示,當(dāng)點(diǎn)擊注冊按鈕時(shí),后臺代碼將會將賬號、密碼和權(quán)限都插入到數(shù)據(jù)庫中去,當(dāng)點(diǎn)擊返回登錄按鈕則直接切換到登錄界面。圖3-3用戶注冊界面主界面如圖3-4所示,主要由TCP連接部分的三個(gè)按鈕和一個(gè)文本顯示控、溫濕度顯示部分六個(gè)文本顯示控件、空調(diào)控制部分的五個(gè)按鈕控件、學(xué)碼部分的一個(gè)下拉框控件和教室選擇部分的兩個(gè)選擇控件組成。通過這些控件的組合,主界面可以實(shí)現(xiàn)TCP通信連接、節(jié)點(diǎn)端環(huán)境溫濕度的實(shí)時(shí)顯示、遠(yuǎn)程控制節(jié)點(diǎn)端空調(diào)溫度和運(yùn)行模式、遠(yuǎn)程控制節(jié)點(diǎn)端進(jìn)行空調(diào)控制學(xué)碼和返回到登錄界面。圖3-4用戶主界面3.3Sqlite數(shù)據(jù)庫Sqlite移動(dòng)數(shù)據(jù)庫是一種輕型并且是智能手機(jī)用戶自帶的移動(dòng)數(shù)據(jù)庫,獨(dú)立,使用方便,語法通用,支持Java編程語言綁定增刪改查功能。在本課題APP比對軟件中,Sqlite比對數(shù)據(jù)庫主要是用來和獲取用戶登錄網(wǎng)站時(shí)候的比對和將來用戶輸入注冊賬號密碼時(shí)的比對時(shí)信息存儲。Sqlite數(shù)據(jù)庫如表3-1所示,為數(shù)據(jù)庫表中的具體值。表3-1登入信息表字段名類型長度說明idvarchar36主鍵usernameint11登錄賬號usersecretint11登入密碼3.4Java后臺代碼安卓APP軟件除去前端UI界面,剩下的就全是用Java編寫的后臺代碼。Java后臺代碼集成了通信部分代碼、業(yè)務(wù)邏輯部分代碼和事件觸發(fā)代碼。通過后臺代碼的統(tǒng)籌編寫,把前端UI界面和后臺的TCP通信部分功能相結(jié)合,最后實(shí)現(xiàn)了本課題的預(yù)期功能目標(biāo)。4軟件程序設(shè)計(jì)4.1登錄界面總體程序設(shè)計(jì)登錄界面用于用戶登錄,其具體的程序流程圖如4-1圖所示。登錄界面的流程主要由系統(tǒng)初始化部分、按鈕觸發(fā)部分和按鈕執(zhí)行部分組成。對于前端UI,都是基于事件觸發(fā)式的一個(gè)執(zhí)行過程,下面將對這幾個(gè)部分進(jìn)行一個(gè)說明。系統(tǒng)初始化部分:登錄界面的系統(tǒng)初始化部分是用來定義申明各個(gè)控件所對應(yīng)的授權(quán)使用變量,這些變量在定義申明后就回去獲取控件的使用權(quán),這樣后面直接操作這些變量,就是操作對應(yīng)的控件。還有一個(gè)系統(tǒng)初始化需要配置的是按鈕的回調(diào)函數(shù),如登錄按鈕需要配置回調(diào)函數(shù)且在函數(shù)里面執(zhí)行者相應(yīng)的業(yè)務(wù)邏輯判斷和執(zhí)行;注冊按鈕配置的回調(diào)函數(shù)主要就是用于切換登錄到注冊界面。按鈕觸發(fā)部分:按鈕觸發(fā)部分,在設(shè)計(jì)界面時(shí)需要在XML編程語言中,通過”onclick”屬性中,添加一個(gè)回調(diào)函數(shù),然后在系統(tǒng)初始化的時(shí)候再給其配置下,那么當(dāng)按下按鈕后,就會進(jìn)入到對應(yīng)的回調(diào)函數(shù)中,最后就在該函數(shù)中加入需要執(zhí)行的功能代碼。按鈕執(zhí)行部分:按鈕執(zhí)行部分,就是銜接著按鈕觸發(fā)部分。按鈕觸發(fā)后就會調(diào)到對應(yīng)的回調(diào)函數(shù)中,而在回調(diào)函數(shù)中的內(nèi)部就是按鈕執(zhí)行部分。當(dāng)按下登錄按鈕后,就會調(diào)到登錄回調(diào)控制函數(shù)中,這時(shí)候彈框會先判別上次輸入的賬號和密碼值都沒有判別為空,若有則彈框提示賬號密碼不能為空,否則就通過輸入賬號去數(shù)據(jù)庫中查找是否存在對應(yīng)賬戶,若存在則提取出對應(yīng)的密碼并與輸入密碼進(jìn)行比對,若一樣彈框則顯示登錄成功提示后并自動(dòng)跳轉(zhuǎn)到用戶登錄主界面,否則彈框顯示登錄顯示并停留在用戶登錄信息頁面。當(dāng)按下注冊按鈕后,會進(jìn)入注冊按鈕回調(diào)函數(shù)中,并執(zhí)行切換界面的函數(shù)。圖4-1登錄界面主程序流程圖4.2注冊界面總體程序設(shè)計(jì)注冊界面的總體程序流程圖設(shè)計(jì)如圖4-2所示,系統(tǒng)初始化主要是定義各個(gè)控件的對應(yīng)變量和對應(yīng)的按鈕回調(diào)函數(shù)??丶淖兞?,是用于在初始化的時(shí)候去獲取到各個(gè)控件的使用權(quán),那么后面實(shí)際操作控件就是直接去操控這些變量,而不是去直接操控控件?;卣{(diào)函數(shù),是用于觸發(fā)型事件的調(diào)用,例如按鈕這樣的觸發(fā)型控件。流程圖中有寫細(xì)節(jié)部分并沒有繪制進(jìn)去,例如在進(jìn)行輸入用戶注冊賬號和密碼時(shí)候,還要注意選擇使用權(quán)限,是用戶權(quán)限還是管理員權(quán)限。當(dāng)全部輸入完成后,那么點(diǎn)擊注冊按鈕,后臺就會觸發(fā)注冊按鈕綁定的回調(diào)函數(shù),在函數(shù)里面編寫將賬號、密碼和權(quán)限值獲取到后,全部插入到數(shù)據(jù)庫中,并顯示注冊完成。若點(diǎn)擊返回登錄按鈕,則會在對應(yīng)回調(diào)函數(shù)中執(zhí)行切換回登錄界面功能。圖4-2注冊界面主程序流程圖4.3主界面總體程序設(shè)計(jì)主界面程序流程設(shè)計(jì),主要包括系統(tǒng)初始化部分、TCP網(wǎng)絡(luò)連接部分、TCP接收部分、控制按鈕觸發(fā)和學(xué)碼下拉框觸發(fā)部分,具體的流程圖設(shè)計(jì)如4-3圖所示。系統(tǒng)初始化部分:系統(tǒng)初始化部分規(guī)定了文本顯示控控件變量、按鈕控件變量和回調(diào)函數(shù)的綁定、TCPClient類變量和下拉框變量。通過規(guī)定這些變量和對應(yīng)控件對其賦值后,直接操作這些變量就可以。網(wǎng)絡(luò)連接部分:網(wǎng)絡(luò)連接部分是用于將APP軟件與云端建立一個(gè)連接通信,用TCP來通信。它主要包含了連接網(wǎng)絡(luò)服務(wù)器時(shí)的按鈕、斷開網(wǎng)絡(luò)服務(wù)器的按鈕、注冊按鈕和云端網(wǎng)絡(luò)連接狀態(tài)顯示器等文本,如果當(dāng)按下連接網(wǎng)絡(luò)服務(wù)器的按鈕,就會調(diào)用對應(yīng)的回調(diào)函數(shù),在開始回調(diào)函數(shù)中已經(jīng)自動(dòng)寫好了整個(gè)云端的IP地址和網(wǎng)絡(luò)端口號,直接通過TCP發(fā)起連接,若成功則網(wǎng)絡(luò)狀態(tài)由斷開狀態(tài)改為連接成功,否則改為連接失敗。若連接成功,還需要點(diǎn)擊下注冊按鈕,那么APP就會通過TCP發(fā)送函數(shù)向云端服務(wù)器發(fā)送一串注冊碼,這樣就可以和下位機(jī)硬件綁定一起,實(shí)現(xiàn)信息的路徑流通。TCP數(shù)據(jù)接收部分:TCP接收部分?jǐn)?shù)據(jù),與服務(wù)器連接成功且已經(jīng)注冊與下位機(jī)硬件的綁定后,來接收下位機(jī)硬件上報(bào)溫濕度傳感器數(shù)據(jù)。因?yàn)樯蠄?bào)的數(shù)據(jù)是由兩個(gè)節(jié)點(diǎn)端,且分別為溫度和濕度,所以需要在內(nèi)部進(jìn)行一個(gè)簡要解析,來提取出對應(yīng)節(jié)點(diǎn)的溫度和濕度的數(shù)據(jù),最后顯示在對應(yīng)的文本控件上。控制按鈕觸發(fā)部分:控制按鈕觸發(fā)部分,是用于控制空調(diào)下發(fā)的命令所對應(yīng)的按鈕觸發(fā)。所有的按鈕在前端UI設(shè)計(jì)的時(shí)候都已經(jīng)給其綁定了對應(yīng)的回調(diào)函數(shù),所以當(dāng)按下對應(yīng)按鈕后就會直接調(diào)用對應(yīng)回調(diào)函數(shù),在這些回調(diào)函數(shù)編寫對應(yīng)的代碼即可。學(xué)碼下拉框觸發(fā)部分:這個(gè)部分是用于控制節(jié)點(diǎn)端紅外空調(diào)模塊能進(jìn)行學(xué)習(xí)空調(diào)對應(yīng)功能下發(fā)的命令,下拉框注冊了一個(gè)總的回調(diào)函數(shù),當(dāng)點(diǎn)擊下拉框并選中對應(yīng)選項(xiàng),那么就會發(fā)生觸發(fā)事件,并調(diào)用回調(diào)函數(shù),然后在里面判別是選擇哪一項(xiàng),最后發(fā)送這項(xiàng)學(xué)碼命令給節(jié)點(diǎn)端。圖4-3主界面主程序流程圖4.4TCP接收程序設(shè)計(jì)TCP接收程序部分,是用來接收節(jié)點(diǎn)端的溫度和濕度,,它主要實(shí)現(xiàn)對下位機(jī)上傳的環(huán)境溫濕度進(jìn)行解析,然后在對應(yīng)的文本顯示框上進(jìn)行顯示。TCP接收在系統(tǒng)初始化后,會開辟一個(gè)線程專門用來堵塞等待下位機(jī)硬件數(shù)據(jù)的到來,并且數(shù)據(jù)到來后是以一個(gè)回車換行來作為一包數(shù)據(jù)的結(jié)束。下位機(jī)上傳的包數(shù)據(jù)格式為:"temp1=20,humi1=50,temp2=21,humi2=51,\r\n",當(dāng)TCP接收線程接收到這包數(shù)據(jù)后,直接傳入給對應(yīng)的對調(diào)處理函數(shù)進(jìn)行數(shù)據(jù)解析。溫濕度包主要是通過先查詢每個(gè)溫度和濕度的對應(yīng)關(guān)鍵字例如”temp1”,然后再截取’=’和’,’之間的數(shù)值,最后調(diào)用對應(yīng)的文本控件進(jìn)行顯示,其具體的程序流程圖如圖4-4所示。圖4-4TCP接收程序流程圖5系統(tǒng)調(diào)試分析5.1測試簡介對于安卓APP這樣的軟件產(chǎn)品來說,在上市前的各種不同力度和維度的老化測試,對于上市后的穩(wěn)定性好壞,啟到?jīng)Q定性作用。測試的功能和角度覆蓋層面越廣,那么它上市后所遇到的BUG幾率就越低,所以在5-2小節(jié)就對本作品APP進(jìn)行一個(gè)系統(tǒng)功能性測試。5.2手機(jī)APP功能測試手機(jī)APP功能測試包括登錄功能測試、注冊功能測試和網(wǎng)絡(luò)數(shù)據(jù)通信測試。登錄功能測試:登錄功能測試有登錄測試成功,也有登錄測試失敗,分別如圖5-1和5-2所示。圖5-1用戶登錄成功圖圖5-2用戶登錄失敗圖(2)注冊功能測試:注冊功能測試如圖5-3所示。圖5-3注冊成功圖主界面功能測試:主界面測試包括了連接服務(wù)器和注冊測試如圖5-4和圖5-5所示;TCP接收測試如圖5-6和TCP發(fā)送測試如圖5-7,因?yàn)橄挛粰C(jī)硬件和安卓APP之間的通信是通過云端進(jìn)行轉(zhuǎn)發(fā),所以只要安卓APP與云端服務(wù)器通信沒問題,那么與下位機(jī)硬件就不會有問題。5-4服務(wù)器網(wǎng)絡(luò)連接成功圖5-5安卓APP網(wǎng)絡(luò)連接成功圖5-6TCP接收測試圖5-7TCP發(fā)送測試圖結(jié)論本款安卓APP作品,通過前期的功能需求分析和市場應(yīng)用調(diào)研,以及在網(wǎng)絡(luò)上各大論壇的往年類似案例資料搜索,最后通過總分總的方式,先把各個(gè)確定的功能模塊進(jìn)行一一設(shè)計(jì)好,然后再按照預(yù)期功能目標(biāo)將它們整合,最后實(shí)現(xiàn)了一款具有登入功能和注冊功能的安卓APP軟件,它還可以遠(yuǎn)程實(shí)時(shí)監(jiān)測到教學(xué)樓空調(diào)智能控制系統(tǒng)節(jié)點(diǎn)端的環(huán)境溫濕度值和實(shí)時(shí)控制教室的空調(diào)。在制作本作品中,運(yùn)用到了AndroidStudio編譯環(huán)境,TCP通信協(xié)議,XML語言和Java語言,通過對它們的運(yùn)行,最終設(shè)計(jì)出了教學(xué)樓空調(diào)智能控制系統(tǒng)的上位機(jī)部分。通過上位機(jī)部分結(jié)合下位機(jī)硬件,很好的解決了空調(diào)忘關(guān)、空調(diào)可提前遠(yuǎn)程開好和對于教學(xué)樓空調(diào)的遠(yuǎn)程監(jiān)控問題。通過引入物聯(lián)網(wǎng)技術(shù)和思想,對學(xué)校的教學(xué)樓空調(diào)智能控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論