版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章概述1.1課題背景中國是全世界工業(yè)產(chǎn)業(yè)鏈條配置最齊全的一個國家,各個領(lǐng)域的應用都有很多國內(nèi)的企業(yè)在競爭,而物聯(lián)網(wǎng)企業(yè)亦是激烈,物聯(lián)網(wǎng)企業(yè)或者各種民間物聯(lián)網(wǎng)系統(tǒng)開發(fā)者相互之間的追逐從未停止,例如近年在市場上基于zigbee的各式各樣不同功能集成的開發(fā)板經(jīng)過相關(guān)人員不斷研發(fā)優(yōu)化擴展,已經(jīng)是性能優(yōu)秀,就算是在智能家居這個小分類中,我們也可以根據(jù)用戶不同的需求使用方式來購買不同的開發(fā)板使用。中國的物聯(lián)網(wǎng)企業(yè)都在全力獲取普通平民住所的需求應用,這也使得相關(guān)的行業(yè)不斷蓬勃發(fā)展。而中國這個大體量的相關(guān)市場還沒有全部挖掘,我國截至到2019年物聯(lián)網(wǎng)行業(yè)的市場規(guī)模到了近1.5萬億元[],2019年物聯(lián)網(wǎng)頭部企業(yè)阿里云、小米IOT等營收以百億計,行業(yè)老大華為在2019年8月9日正式發(fā)布全場景面向用戶的物聯(lián)網(wǎng)操作系統(tǒng)——鴻蒙,亦將物聯(lián)網(wǎng)行業(yè)推上一個新的發(fā)展浪潮。不同企業(yè)對于不同的物聯(lián)網(wǎng)應用領(lǐng)域也有不同的長短處,例如在物流方面順豐、京東的自動分揀系統(tǒng)精確迅速讓其快遞速度突飛猛進;工業(yè)方面工業(yè)富聯(lián)、智能云科等深耕需求發(fā)展創(chuàng)新了多種物聯(lián)網(wǎng)系統(tǒng)增加了工業(yè)制造的便利性;占領(lǐng)歐美市場的大疆在無人機方面實現(xiàn)彎道超車,優(yōu)秀的紅外傳感器、角動量傳感器等給無人機帶來超高的性能。在國內(nèi)物聯(lián)網(wǎng)份額排名上,華為、阿里、海爾智家、新華三等公司已是雄霸中國市場,2019中國物聯(lián)網(wǎng)銷售額中,排名前五的企業(yè)占據(jù)了24.23%的份額,在TOP5后是大量的企業(yè)分據(jù),排名6~10名的企業(yè)僅占領(lǐng)了3.46%份額[],這說明物聯(lián)網(wǎng)是一個百舸爭流的富有活力的行業(yè),只要擁有夠硬的技術(shù)積累和創(chuàng)新精神就能得到一定的市場份額。在中國產(chǎn)業(yè)信息網(wǎng)站上,智能家居在物聯(lián)網(wǎng)行業(yè)勢頭正猛,未來消費級IOT(物聯(lián)網(wǎng))主流產(chǎn)品便是智能家居,而位列第二的才是已經(jīng)平民化進入百萬網(wǎng)民生活的智能穿戴設備,智能家居產(chǎn)業(yè)在全球相應占比達到了近6成,但是這個行業(yè)亦是有多種制約牽制,其涉及的產(chǎn)業(yè)鏈條復雜相交;物聯(lián)網(wǎng)廣大的領(lǐng)域也帶來了一些企業(yè)研發(fā)的重復性,浪費了一部分的研發(fā)投入,物聯(lián)網(wǎng)復雜的產(chǎn)業(yè)鏈也使得不同企業(yè)在一條生產(chǎn)鏈條上對產(chǎn)品的生產(chǎn)標準參差不齊,所面臨的必要難題之一便是融合這些產(chǎn)業(yè)鏈。因為物聯(lián)網(wǎng)的特性,其安全性也是一個不小的挑戰(zhàn),不論是智能家居中用戶所設置的監(jiān)測模式和獲取的環(huán)境數(shù)據(jù),屬于個人隱私數(shù)據(jù),還是存儲在云端的使用記錄,都容易被竊取,這就需要軟硬件開發(fā)者擁有安全意識和長久的技術(shù)經(jīng)驗積累,對于底層開發(fā)人員和代碼編寫人員是需要不斷學習進取的。物聯(lián)網(wǎng)是一個機遇與挑戰(zhàn)并存的行當,其難題隨著發(fā)展不斷解決又不斷產(chǎn)生,總是不斷運動著,隨著時代進步的帶動,未來總是要進入千家萬戶的,以操作簡單、反應靈敏、使用可靠、價格便宜的智能家居系統(tǒng)能夠給用戶的生活帶來極大的便利與優(yōu)異的使用體驗。本課題的理念就是讓用戶體驗更加完善,用戶在移動手機端上面打開控制軟件,即可以直觀的查看家庭環(huán)境參數(shù),通過家庭終端系統(tǒng)內(nèi)安裝的各種環(huán)境控制部實現(xiàn)控制如光照、溫度等現(xiàn)實環(huán)境參數(shù),讓用戶體感、觀感更加的舒適,同時監(jiān)測危險事件的發(fā)生,達到一個及時安全預警的功能效果,讓用戶起居更加的放心。又因為目標是制作一個系統(tǒng)小型化、購買低價化的智慧家居系統(tǒng),可使其真正走入千家萬戶普通居民的家庭生活,改變使用者的生活方式。1.2現(xiàn)狀分析1.2.1物聯(lián)網(wǎng)國內(nèi)現(xiàn)狀分析中國的物聯(lián)網(wǎng)市場體量龐大且子類繁多,相關(guān)產(chǎn)業(yè)復雜交錯,就算物聯(lián)網(wǎng)的巨頭企業(yè)也無法霸占大部分的大小產(chǎn)業(yè),物聯(lián)網(wǎng)巨頭華為小米等在普通民眾能夠使用的智能家居萬物互聯(lián)方面頗有建樹,在網(wǎng)購平臺普通人民可以購買到智能臺燈、智能空氣凈化器、智能掃地機等物聯(lián)網(wǎng)產(chǎn)品使用,并且因為該市場的發(fā)展壯大其大部分產(chǎn)品價格也較為實惠,加上中國這方面生態(tài)建設已經(jīng)成熟,用戶可以在手機手表等終端控制使用這些產(chǎn)品,非常人性化。在物聯(lián)網(wǎng)服務器方面阿里云、華為、OneNet云等彼此追趕充分開發(fā)了個人、企業(yè)、大中小型制造業(yè)、教育業(yè)等行業(yè)對于物聯(lián)網(wǎng)服務器的需求,即便是個體開發(fā)者也能以廉價的價格租用這些服務,極大的推動了物聯(lián)網(wǎng)向大眾化發(fā)展。國家軍工方面如中國企業(yè)航天科工等大企業(yè)積累了海量的物聯(lián)網(wǎng)珍貴資料與研發(fā)經(jīng)驗,例如汽車自動巡航感應到障礙物自動剎車、軍艦艦炮自動感應攻擊體進行物理摧毀和太空站的環(huán)境參數(shù)感應繼而維持環(huán)境以供人生活等。從互聯(lián)網(wǎng)到現(xiàn)在物聯(lián)網(wǎng)的概念,不知不覺世界在潛移默化的改變。中國抓住了這個時代所需要的東西,我國在2009年提出“感知中國”的理念目標[3],國家大力支持開辦了大學的相關(guān)學科藉此為中國未來培養(yǎng)了大量的物聯(lián)網(wǎng)行業(yè)人才,國內(nèi)物聯(lián)網(wǎng)表現(xiàn)出欣欣向榮的姿態(tài),但是在物聯(lián)網(wǎng)的軟件開發(fā)平臺方面,我國仍然是受市場限制發(fā)展難上加難,目前常用的物聯(lián)網(wǎng)可視化編程工具,其都來源于國外。我國在軟件方面的研究是短板,只有軟硬件實現(xiàn)全部國產(chǎn)化才是物聯(lián)網(wǎng)真正活躍的開始。1.2.2物聯(lián)網(wǎng)國外現(xiàn)狀分析物聯(lián)網(wǎng)市場的波動對全球市場都有影響,如今已經(jīng)占據(jù)了世界0.2%的GDP[4],對全球的實體產(chǎn)業(yè)有不可忽視的作用,而且未來的比重將迅速增長。中國人總是高瞻遠矚,世界其他現(xiàn)代發(fā)達國家亦是明白物聯(lián)網(wǎng)產(chǎn)業(yè)是承受類似08年金融危機的必不可少的行業(yè),我國在新世紀大力扶持物聯(lián)網(wǎng)產(chǎn)業(yè),世界上的其他發(fā)達國家與組織美國、日本、歐盟也早已開始大力研發(fā)物聯(lián)網(wǎng)相關(guān)產(chǎn)品,例如亞馬遜公司開發(fā)的云計算服務平臺落戶千萬公司,給他們帶來迅捷的服務;Bosch公司深耕布局的傳感器方面性能良好遠銷世界各地,性能高超的傳感器提升了大眾的體驗;思科提供的模擬網(wǎng)絡平臺是當今世界最常用的網(wǎng)絡模擬搭建平臺。俄羅斯、美國空間站建設比中國早幾十年,空間中里的環(huán)境維持系統(tǒng)使用的傳感器已經(jīng)經(jīng)受住了太空的考驗。美國富豪比爾蓋茨的家在2000年就已經(jīng)安裝了成熟的物聯(lián)網(wǎng)設備,如自動光照控制窗簾、人體感應燈、一鍵防盜這些如今都好玩實用的技術(shù)美國早已運用。如今歐美的高端住房的標配就是物聯(lián)網(wǎng)設備,能夠提升住房的舒適性。中國在物聯(lián)網(wǎng)方面起步晚但發(fā)展迅速,這些在如今的中國也已經(jīng)有可替代的選擇,甚至我國的一些大公司多年耕耘某方面的產(chǎn)業(yè),實現(xiàn)了彎道超車,產(chǎn)品性能已經(jīng)是業(yè)內(nèi)頂級成為了全球同類產(chǎn)品的標桿并制定標準,但不可否認一些高精尖的產(chǎn)品如物聯(lián)網(wǎng)必須的處理芯片美日歐依然有其巨大的研發(fā)優(yōu)勢與市場優(yōu)勢,這些都需要中國人奮力超越。1.3課題意義中國物聯(lián)網(wǎng)市場是一個富有生機活力的市場,更是對新入隊者友好,只要是迎合用戶的產(chǎn)品就能夠有市場。所以開發(fā)一個家庭環(huán)境監(jiān)測調(diào)控系統(tǒng)是針對普通群眾滿足其需求的一款產(chǎn)品。我們普通人看似和物聯(lián)網(wǎng)很遙遠,其實生活中已經(jīng)有使用相關(guān)產(chǎn)品,去超市時有全自動結(jié)賬機,利用紅外傳感器、重量傳感器、動作傳感器,實現(xiàn)超市購買的商品全自動結(jié)算;在日常生活中,人體紅外傳感器配合光照傳感器組成人體感測燈,在晚上上下樓梯不需要開啟手電筒和手動尋找燈泡開關(guān),非常方便,而本系統(tǒng)分析需求后實現(xiàn)相應的功能,例如洗完的衣服掛好之后將晾衣架推出陽臺,充分利用陽光消毒風干,檢測到雨水便能夠自動收回,實現(xiàn)了需要的便利性和智能性。一年四季天亮天黑的時間不一樣,用戶自身視覺對亮光、暗光的感覺不一樣,可以自己設置人體感應燈開關(guān)的時間,實現(xiàn)一個節(jié)能的需求。用戶可以切換模式,不同的模式實現(xiàn)不同的宏操作,例如出門模式人體紅外傳感器變成了防盜檢測器,配合語言模塊報警,在家切換監(jiān)測模式后紅外傳感器就變成了人體感應燈的開關(guān);睡眠模式窗簾自動全關(guān),監(jiān)測模式會開到用戶提前設置的位置,實現(xiàn)了一個生動的環(huán)境互動性,提高了用戶的使用體驗,亦為生活提供了便利。
系統(tǒng)開發(fā)工具和關(guān)鍵技術(shù)2.1系統(tǒng)開發(fā)工具2.1.1AndroidStudio安卓應用開發(fā)軟件AndroidStudio是美國Google公司推出的Android開發(fā)工坊,底層基于InteliJIDEA。界面功能齊全,開發(fā)界面ui和輔助子功能可以根據(jù)安卓軟件開發(fā)者的個人偏好自由設置,帶來極優(yōu)秀的開發(fā)體驗。而其軟件內(nèi)置了各種強大的模塊和測試功能,配合Android開發(fā)者網(wǎng)站——Developers,在開發(fā)本課題家庭環(huán)境監(jiān)測調(diào)控系統(tǒng)時可以帶來極高的順暢性、便利性、學習性,并且可以實時下載進安卓手機進行測試,其自帶的數(shù)據(jù)庫管理模塊不僅可以實時刷新查看開發(fā)應用存儲在手機的各項設置數(shù)據(jù),也可以通過輸入數(shù)據(jù)庫語句進行增刪改操作,對于數(shù)據(jù)庫達到一個操縱如心的效果,如此在系統(tǒng)不同階段測試時可以精細檢查程序關(guān)于數(shù)據(jù)庫操作的準確性。軟件的模塊化補丁功能也非常強大,可以從互聯(lián)網(wǎng)上下載海量的程序功能補丁,甚至只需要在程序頭文件寫入相應名字的包,在運行程序時會自動下載對應名字的補丁,不需要手動在圖形化界面進行搜索下載,加上軟件優(yōu)秀的開放性,可以實現(xiàn)各種需要的程序功能。2.1.2IAREmbeddedWorkbench單片機開發(fā)與燒寫軟件IAREmbeddedWorkbench是IARSystems公司開發(fā)的一款軟件,致力為為輕小型單片機開發(fā)板市場提供軟件編寫與及時燒錄功能,在開發(fā)智能家居系統(tǒng)時,使用zigbee開發(fā)板可以在燒入時候進行自動程序漏洞檢測,保證的程序代碼的正確性,開發(fā)者在燒錄之后,會自動跳轉(zhuǎn)到debug模式,進行一個測試。而軟件所使用的模塊化文件也與物聯(lián)網(wǎng)開發(fā)的不同節(jié)點契合,達到一個節(jié)點使用燒寫一個C文件,避免燒寫入其他無用的程序,保證了燒寫的速度和穩(wěn)定;我們在開發(fā)時不僅方便區(qū)別不同節(jié)點使用的不同文件也保證了燒寫程序的輕存儲性,廠商在配置開發(fā)板性能時也可以達到一個省成本的目標。而開發(fā)軟件本體亦是不需要占據(jù)電腦太多空間,對于一些C盤用度緊張的PC端很友好。2.2系統(tǒng)開發(fā)語言2.2.1單片機開發(fā)語言——C語言c語言是全球使用最廣泛的語言之一,加上其占用空間小,對于微型電腦——單片機來說是最合適的,是單片機使用的黃金語言,zigbee開發(fā)板就是使用該語言進行開發(fā)。單片機的寄存器和內(nèi)存空間及其有限,程序需要最大限度的輕量與簡明,這樣就保證的單片機的制造成本和燒寫速度,而c語言精確的時序控制能夠極大契合單片機的io口,避免了大部分情況下的程序崩潰。而入門門檻也很低,作為一個面向過程的語言,所遵循的邏輯簡單易讀,且語法優(yōu)勢巨大,擁有眾多的自帶函數(shù),而且在單片機的開發(fā)中,我們可以自定義各種執(zhí)行功能,通過命名來增加程序的可讀性,可以直觀的看到程序所代表的動作。另外該語言的編譯速度、輕量性、可移植性非常優(yōu)秀。2.2.2安卓用戶端軟件開發(fā)語言——java語言安卓開發(fā)最多使用的就是java語言,其多線程的特性恰好是移動端所需要的,當今不管是中國還是外國對java的使用和相關(guān)開發(fā)者論壇都非?;钴S,其語言功能強大,雖然相對于單片機開發(fā)所用的c語言其體積龐大,但是這樣也提供了海量的函數(shù),在安卓開發(fā)中有需要的功能都可以在java找到相應的函數(shù)進行一個實現(xiàn),其面向?qū)ο蟮奶刭|(zhì)能夠在維護、修改時有很大的便利性,符合正常人的思維,所以可以用來開發(fā)大型超大型程序且能保證其維修、穩(wěn)定等方面都較為優(yōu)異;且因為其父子類的規(guī)則,更好的達到一個精簡的效果,在日后程序升級方面也較方便;其語言在多平臺均被深度應用,實現(xiàn)開發(fā)鏈的一個連貫性。整體安全且執(zhí)行性能高超,在安卓開發(fā)中即便是復雜的程序代碼也能迅速執(zhí)行,對于一些繁雜的操作能夠分步執(zhí)行同時穩(wěn)定執(zhí)行其他的線程,如此在安卓應用使用中便能迅捷穩(wěn)步。2.3開發(fā)關(guān)鍵技術(shù)2.3.1Zigbee技術(shù)Zigbee這個詞有蜂鳴的意思,加上節(jié)點的概念,組成一個多節(jié)點的協(xié)議組,其可類比與蜜蜂群,蟻后是協(xié)調(diào)器,一個工蜂是一個節(jié)點,節(jié)點各司其職的同時與協(xié)調(diào)器保持通信,形成了一個小面積的信息網(wǎng)絡,作為一個專門為物聯(lián)網(wǎng)研發(fā)的協(xié)議,在智能家居方面應用亦非常契合。其功耗經(jīng)過技術(shù)的不斷迭代已經(jīng)非常微小,并且用戶使用方便,只需要通電就可以自動開啟程序開始組網(wǎng)、連接云服務,是非常適合普通小家庭使用的。2.3.2網(wǎng)絡通信站——ONENET云平臺OneNet云是中國三大運營商之一中國移動研發(fā)的物聯(lián)網(wǎng)云平臺,其設備類型多樣,適配各種網(wǎng)絡,對接多種協(xié)議,并且其自帶開發(fā)工坊可以直接在云端與硬件互通信息和控制,當然因其豐富的協(xié)議開放性,在使用安卓應用端作為上位機與云端通信時也沒有太大的技術(shù)難點的,使用協(xié)議獲取云端信息,或者直接向云端發(fā)送命令,云會自動轉(zhuǎn)發(fā)到硬件端,可以說該產(chǎn)品就是為物聯(lián)網(wǎng)行業(yè)誕生的。2.3.3SQLite數(shù)據(jù)庫SQLite數(shù)據(jù)庫是一個輕型的專為移動設備設計的數(shù)據(jù)庫,其所占空間小,性能高效,在安卓運行環(huán)境中是不可或缺的一個組件。.2.4系統(tǒng)開發(fā)環(huán)境操作系統(tǒng):Windows10家專業(yè)版開發(fā)工具:AndroidStudio,IAREmbeddedWorkbench.運行環(huán)境:用戶端安卓5.0以上手機系統(tǒng),硬件端CC2530開發(fā)板v1.0以上.
第3章需求分析家庭環(huán)境監(jiān)測調(diào)控系統(tǒng)是針對一個使用角色——用戶而打造的系統(tǒng),其需求是節(jié)能、實用、操縱簡單的,需要符合物聯(lián)網(wǎng)的特質(zhì)才能夠是該系統(tǒng)需要的需求,本章從使用者的需要例求出發(fā),聯(lián)合硬件部分和軟件部分進行需求分析,軟件部分是用戶需求分析的實現(xiàn),而硬件部分是依附軟件部分的操縱需求與使用邏輯從而編寫搭建一個實體的具現(xiàn)系統(tǒng)。3.1用戶需求該系統(tǒng)的面對家庭內(nèi)的使用成員而打造,所以該系統(tǒng)的用戶就是有且使用成員就一位的唯一用戶。該用戶對該系統(tǒng)有全部的使用權(quán)限與調(diào)制權(quán)限,可以查看實體硬件檢測到的數(shù)值并且對環(huán)境調(diào)節(jié)設備進行下發(fā)命令調(diào)節(jié)。下面對用戶的需求進行分析:系統(tǒng)安全性用戶需要輸入相應的ip地址和口令等參數(shù)即可連接相應的云端設備。而硬件設備亦有對應的ID和Key,保證一個家庭對應一套Zigbee硬件,并且APIKey配合設備ID是一個近乎無限組合的字符串,保證了家庭環(huán)境系統(tǒng)不會被其他人登錄監(jiān)控。上位機下位機通訊延遲上位機設置每2秒發(fā)送一次命令,之后接收一次云端數(shù)據(jù);下位機協(xié)調(diào)器每2秒接收各個節(jié)點的傳感器數(shù)值,然后向?qū)?jié)點發(fā)送設置的命令,一秒后將數(shù)據(jù)上傳到云端,所以理論上硬件軟件的通訊延遲最多是5秒,如果連接時機對應的話延遲可以縮減到2秒,在實際使用中2~5秒的延遲是可以接受的。節(jié)能低功耗CC2530本身就是低功耗的開發(fā)板,在正常供電電壓3.3~5V時,啟動組網(wǎng),其電流大約為27.29mA;就算是負責接受發(fā)送與聯(lián)網(wǎng)的協(xié)調(diào)器也不會超過30mA[5],其開發(fā)板集成的esp8266芯片亦是一塊2.4Ghz的無線發(fā)送與接收芯片,實際使用中只需要一條usb線連接3.3v電源配合usb擴展器就可以連接4塊節(jié)點并正常使用,當然在節(jié)點上加入電機其供電需要更穩(wěn)定才行。手機端通信低流量現(xiàn)在一些用戶的手機卡套餐流量并不多,所以軟件和云端的互聯(lián)流量需要精簡,實際使用中每2秒只需要耗費2kb/s的流量就可以與云端保持連接并通訊,就算從云端下載300條歷史數(shù)據(jù)也只需要20kb/s的流量,這樣用戶即使使用蜂窩數(shù)據(jù)網(wǎng)絡也不會浪費太多流量。軟硬件使用穩(wěn)定流暢確保硬件能穩(wěn)步運行,其節(jié)點組網(wǎng)不會突然斷連,協(xié)調(diào)器不會因程序漏洞而和云端斷開,這些情況需要斷電重啟才行;安卓端數(shù)據(jù)庫的數(shù)據(jù)創(chuàng)建和修改要完美運行,軟件界面切換和按鈕設置需要流暢運行。3.2系統(tǒng)概述3.2.1上位機客戶端系統(tǒng)概述上位機系統(tǒng)遵從功能豐富界面簡潔的指向,讓用戶在使用該軟件時能夠直觀的看到環(huán)境信息,并且隨時調(diào)節(jié)溫度、模式等,且上下位機通信延遲低,保證信息的及時。本物聯(lián)網(wǎng)系統(tǒng)上位機部分采用以java為開發(fā)語言的安卓架構(gòu),數(shù)據(jù)庫使用安卓自帶的SQLite數(shù)據(jù)庫,onenet云為硬件和軟件的通訊橋梁,承接信息與命令的轉(zhuǎn)發(fā),充當網(wǎng)絡服務器的效果。在安卓用戶端,使用者需要輸入云端設備對應的設備id、apikey、onenet云的信息集ip地址和端口號以此連接上云端,進入主界面可以查看客廳的濕度和溫度;臥室的溫度和晾衣臺雨水情況;廚房的煙霧濃度和天然氣體泄露情況還有陽臺的光照。在客廳子界面可以設置溫度調(diào)節(jié)值,設置人體感應燈開關(guān)時間。在陽臺子界面可以設置窗簾開關(guān)的級數(shù),并且可以切換監(jiān)測模式、出門模式、睡眠模式。歷史數(shù)據(jù)查詢頁面可以選擇不同的環(huán)境參數(shù)、時間和查詢條數(shù)查詢歷史數(shù)據(jù)。3.2.2下位機ZigBee硬件系統(tǒng)概述該系統(tǒng)的硬件功能是根據(jù)軟件所能達到的功能而對應開發(fā)的,除此之外也有一部分的硬件功能是獨立的。下位機硬件以c語言作為開發(fā)語言,以zigbee協(xié)議為硬件組網(wǎng)協(xié)議。硬件端一共使用了7個傳感器:客廳的溫濕度傳感器和人體紅外傳感器,陽臺的光照傳感器,廚房的煙霧傳感器可可燃氣體傳感器,臥室的溫度傳感器和雨水傳感器。并且安裝了散熱風扇、晾衣杠伸縮裝置、電動窗簾、時間計數(shù)模塊、語言播報模塊、感應燈模塊這些實體的可以改變環(huán)境或者與用戶互動的硬件。3.3用例分析3.3.1用戶用例圖圖3-1用戶用例圖如圖3-1所示,用戶輸入口令進入主界面之后,即可查看、調(diào)控環(huán)境參數(shù),并且退出只需要清除后臺即可。
系統(tǒng)設計從需求分析出發(fā),進行一個設計,系統(tǒng)整體分為2個部分:安卓軟件端和實體硬件部分,onenet云是一個橋梁不需要進行開發(fā)設計。軟件是給用戶查看、控制硬件的上位機,硬件采集數(shù)據(jù)發(fā)送給軟件的下位機,并且接收軟件發(fā)送的命令做出相應動作。4.1系統(tǒng)功能設計4.1.1系統(tǒng)功能模塊系統(tǒng)功能分為軟件和硬件2個模塊,軟件和硬件一些功能是對應聯(lián)系的,其中硬件軟件也有一些功能是獨立的。圖4-4系統(tǒng)功能圖如圖4-4所示為系統(tǒng)的全部功能圖,由圖可知分為下位機、云端和軟件三個部分。其三者聯(lián)系緊密,失去一個系統(tǒng)就不能運作。下面對3個模塊進行介紹。Onenet云模塊:該模塊是軟硬件通信的橋梁,該模塊不需要開發(fā)者進行開發(fā),只需要用戶端向其發(fā)送密鑰口令驗證登錄后請求數(shù)據(jù)即可自動下發(fā),或者向其發(fā)送命令,云端會自動轉(zhuǎn)發(fā)到硬件板上。軟件上位機模塊:主界面:用戶可以查看傳感器信息,切換監(jiān)測模塊,設置中央空調(diào)出風口??蛷d界面:用戶感覺環(huán)境溫度高可以調(diào)節(jié)溫度控制,當用戶設置的數(shù)值小于環(huán)境溫度降溫模塊開始運行??稍O置感應燈功能開關(guān)時間。陽臺界面:用戶可以設置窗簾開關(guān)來調(diào)控光照。查詢界面:用戶可以查詢各個傳感器獲取的歷史數(shù)據(jù)。硬件下位機模塊:與軟件有聯(lián)系的硬件:這些硬件是軟件命令的具象化,可以控制實體環(huán)境變化。廚房氣體報警:廚房檢測到煙霧或者可燃氣,語言模塊會發(fā)出相應的報警聲音。雨水檢測:檢測到雨水就會語言播報,并且收起晾衣杠到陽臺內(nèi),防止衣服被雨水淋濕。4.4.2活動圖介紹登錄模塊圖4-5登錄模塊活動圖如圖4-5所示,用戶在登錄界面要輸入相應口令進行驗證,驗證正確才能正常獲取云端信息,否則失敗。主界面環(huán)境設置模塊圖4-6主界面環(huán)境設置模塊活動圖如圖4-6所示,用戶在主界面可以查看光照、溫度等環(huán)境數(shù)值,并且可以切換監(jiān)測模式:自動監(jiān)測模式、出門模式、睡眠模式,不同的監(jiān)測模式有不同的宏操作。同時可以設置中央空調(diào)出風口實現(xiàn)靈活的降溫策略,更加節(jié)能減排,避免無人房間多余的降溫工作。子界面設置模塊圖4-7子界面環(huán)境設置模塊活動圖如圖4-7所示為子界面的一些設置,設置窗簾級數(shù)達到調(diào)控光照的目的,設置溫度調(diào)節(jié)來控制室內(nèi)溫度,設置感應燈的開關(guān)時間,這樣就不會使得白天感應燈感應到人亮燈,實現(xiàn)了節(jié)能的目的,同時四季的天黑時間不一樣,靈活設計來讓日常生活更方便。歷史數(shù)據(jù)查詢模塊圖4-8子界面環(huán)境設置模塊活動圖歷史數(shù)據(jù)界面的查詢條件有時間和具體的環(huán)境數(shù)值類型,當不修改時間即是查詢現(xiàn)在一分鐘的傳感器數(shù)值,或者可以輸入時間查詢具體的歷史數(shù)據(jù),選擇的查詢條數(shù)最少查10條最多查詢300條。
4.2實體設計系統(tǒng)環(huán)境設置實體圖4-1系統(tǒng)環(huán)境設置實體如圖4-1所示的實體圖,代表了用戶設置的環(huán)境調(diào)控參數(shù)。傳感器數(shù)據(jù)實體圖圖4-2傳感器數(shù)據(jù)實體圖如圖4-2所示,傳感器數(shù)據(jù)上傳到云端時,由云端自動存儲,下載查看時可以查看具體數(shù)據(jù)的參數(shù)數(shù)值和具體時間??傮wE-R圖結(jié)合以上實體圖,展現(xiàn)給出該系統(tǒng)總體E-R圖圖4-3系統(tǒng)總體的E-R圖如圖4-3所示的E-R圖,一個用戶與2個實體的關(guān)系均是一對一的,保證了系統(tǒng)的安全性。4.3數(shù)據(jù)庫設計數(shù)據(jù)庫設計開發(fā)是系統(tǒng)開發(fā)不可缺少的一個環(huán)節(jié),本系統(tǒng)的數(shù)據(jù)庫盡量排祛了繁雜的邏輯,保證了數(shù)據(jù)庫的穩(wěn)定性。根據(jù)需求建立了一張系統(tǒng)環(huán)境設置數(shù)據(jù)庫,其存儲在用戶的手機中,還有當用戶查詢歷史數(shù)據(jù)時,其數(shù)據(jù)來源是存儲在Onenet云端的數(shù)據(jù)記錄,要查看時只需要下載即可,所以此也是一個數(shù)據(jù)表。系統(tǒng)環(huán)境設置表表4-1系統(tǒng)環(huán)境設置表名稱數(shù)據(jù)類型是否允許為空注解是否主鍵是否外鍵vkeyVarchar(20)Notnull系統(tǒng)設置值的類型否否valueVarchar(20)Notnull具體數(shù)值否否如表4-1所示,其表保存的是用戶系統(tǒng)環(huán)境設置的一些數(shù)值,例如用戶將vkey為窗簾級數(shù)的value設置為“15”,接下來發(fā)送功能讀取到數(shù)據(jù)庫的值將其發(fā)送即可,并且用戶在關(guān)閉應用程序之后再進入程序,其數(shù)值也會正常讀取顯示。傳感器數(shù)據(jù)表表4-2傳感器數(shù)據(jù)表名稱數(shù)據(jù)類型是否允許為空注解是否主鍵是否外鍵數(shù)據(jù)名Varchar(50)Notnull數(shù)據(jù)名字否否時間Varchar(50)Notnull數(shù)據(jù)產(chǎn)生的時間否否數(shù)值Varchar(50)Notnull數(shù)據(jù)值否否如表4-2所示,傳感器數(shù)據(jù)表,其并不是存儲再用戶手機上的,是硬件將數(shù)據(jù)上傳服務器時云端自動存儲的,保證了數(shù)據(jù)的安全穩(wěn)定,用戶只需要篩選數(shù)據(jù)便可以下載查看。
系統(tǒng)實現(xiàn)該系統(tǒng)的軟件界面是自己設計的,從剛開始的毛坯到增加背景、美化文字框等,界面豐富但目視簡潔,雖然安卓ui設計入門比較簡單,但真學就會發(fā)現(xiàn)其可以設計的完美無缺。從功能方面講,整體代碼的可讀性和學習性也很強,一個功能有很多的方案可以選擇,保證能夠啃住需求。從軟件硬件最終的用戶使用體驗看,用戶不需要教程就可以輕易組裝硬件環(huán)境并且物盡其用軟件的全部功能,提高了最終上手體驗。5.1客戶端基本功能模塊實現(xiàn)客戶端基本功能是不需要下位機能單獨運行的功能。5.1.1連接Onenet云使用者進入用戶端第一步就是輸入口令連接到云端,如此才能進行其他的功能操作。圖5-1連接onenet云如圖5-1所示,這是軟件上位機的登錄界面,驗證如圖所示的4個口令,才能從對應的云端設備獲取對應的數(shù)據(jù)。5.1.2傳感器采集數(shù)據(jù)查看用戶連接云端后進入主界面,可以查看從云端獲取的傳感器數(shù)據(jù),如圖5-2所示,用戶登錄后查看傳感器的數(shù)據(jù)。不同的數(shù)據(jù)單位不同。若下位機沒有開啟則顯示的是上次關(guān)閉時最后顯示的數(shù)據(jù)。圖5-2傳感器采集數(shù)據(jù)查看傳感器采集數(shù)據(jù)查看的核心代碼如下:JSONArrayAjson=newJSONArray(returnStr);//一簇數(shù)據(jù)轉(zhuǎn)換為json對象方便解析
for(inti=0;i<Ajson.length();i++){
JSONObjectjxjs=json.getJSONObject(i);
id[i]=jxjs.getString("id").toString();//獲取各個數(shù)據(jù)的key
str=jxjs.getString("datapoints").toString();//再篩選出這個鍵的字符串
value[i]=str.substring(str.indexOf("value\":")+7,str.indexOf("}]"));//將各個傳感器的數(shù)據(jù)存入數(shù)組固定的位置。5.1.3歷史數(shù)據(jù)查詢用戶可以查詢環(huán)境在某一時刻的參數(shù),主界面點擊歷史數(shù)據(jù)查詢進入查詢頁面,如圖5-3所示,用戶可以選擇數(shù)據(jù)名字、時間和條數(shù)查看對應數(shù)據(jù)在某一時間采集的數(shù)值。并且單位會隨之變化方便用戶對照。默認是客廳溫度,時間默認選擇當前時間,如果進入頁面不選擇時間則查看當前所在一分鐘內(nèi)獲取的數(shù)值,若選擇時間則查詢最接近該時間之后的數(shù)據(jù)。圖5-3歷史數(shù)據(jù)查詢歷史數(shù)據(jù)查詢的核心代碼如下:Stringaddress="/devices/"+id+"/datapoints?Datastream_id="+text+"&start="+btn_sday.getText()+""+btn_stime.getText()+"&limit="+returncount+"";URLurl=newURL(address);//根據(jù)用戶輸入的對應的id和時間打包
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("api-key",apikey);
conn.setRequestProperty("Host","");
conn.setReadTimeout(5000);InputStreamin=conn.getInputStream();//獲取數(shù)據(jù),之后解析即可
5.2客戶端與下位機聯(lián)動部分功能實現(xiàn)聯(lián)動部分指上位機設置之后,下位機需要開啟才能收到命令,之后會處理命令作出反應,下位機沒有開啟則看不到效果,下位機符合預設邏輯才能有所動作。5.2.1溫度調(diào)節(jié)用戶可以設置自己喜歡的環(huán)境溫度調(diào)節(jié)目標,感覺環(huán)境悶熱可以將溫度調(diào)小,系統(tǒng)則會自動開啟風扇,若溫度降下則自動關(guān)閉風扇。如圖5-3所示當溫度調(diào)節(jié)數(shù)值小于當前環(huán)境溫度時,風扇開始轉(zhuǎn)動,反之不會轉(zhuǎn)動。圖5-3溫度調(diào)節(jié)拖動條5.2.2感應燈功能開關(guān)時間調(diào)節(jié)當用戶在夜晚回家時,需要找燈開關(guān)就非常麻煩,用戶可以設置感應燈的開關(guān)時間,在天黑時段開啟感應燈功能,當時間處于設置的時間段內(nèi)時,人體紅外傳感器檢測到人感應燈就會亮。圖5-4定時開關(guān)感應燈感應燈自動開關(guān)核心代碼如下:if(!(now<begTime&&now>endTime))//如果在開啟時間內(nèi)則執(zhí)行判斷{if(RT==1) {Delay1MS(300); //延遲一段時間消抖if(RT==1) //如果傳感器檢測到人體則亮燈 LED01=1;}else //傳感器沒檢測到人則燈熄滅LED01=0;}elseLED01=0;//不在時間段就關(guān)燈泡5.2.3窗簾級數(shù)調(diào)節(jié)用戶可以設置窗簾的全開全關(guān)與具體開關(guān)量,本系統(tǒng)設計了18級的窗簾動作,例如晴天將窗簾開到9級半開讓光照更柔和,午睡將窗簾開到18級別全部關(guān)閉遮蔽陽光。白天將窗簾開到0級全開通風,如此讓用戶生活更加舒適。圖5-5窗簾級數(shù)調(diào)節(jié)窗簾級數(shù)調(diào)節(jié)核心代碼: //如果用戶設置的窗簾開關(guān)量小于窗簾當前位置,則窗簾打開1級,如此循環(huán)直到窗簾位置等于當前窗簾的開關(guān)量if(setLx<map){map=map-1;cl_up(0.1); P0=0x00; //電機停轉(zhuǎn)}if(setLx>map)//反之,則關(guān)閉一級{map=map+1;cl_down(0.1); P0=0x00; //電機停轉(zhuǎn)}
5.2.4模式切換用戶切換3種模式,達到對下位機的一個宏操作,不同模式下位機有不同的程序。切換模式命令發(fā)送到下位機,語言模塊會播報。監(jiān)測模式窗簾開在正常的用戶設置的位置,風扇根據(jù)客廳溫度進行降溫,人體傳感器正常檢測,在時間內(nèi)檢測到人就亮燈。出門模式窗簾全關(guān),風扇全關(guān),人體傳感器檢測到人即會報警。睡眠模式窗簾全關(guān),風扇根據(jù)臥室溫度進行降溫,人體傳感器檢測到人會報警。圖5-6模式切換按鈕模式切換核心代碼:SqlInsert.put("value","3");
dbwrit.update("zigSet",SqlInsert,"vkey=?",newString[]{"swoe"});
SqlInsert.clear();//將模式碼存入數(shù)據(jù)庫,sendthread.send("POST/cmds?device_id="+id+"HTTP/1.1\n"+
"api-key:"+apikey+"\n"+
"Host:\n"+
"Content-Length:18\n"+
"\n"+
FSML);
Aflag01=false;
btn_time.setText("當前命令:"+FSML);//將模式碼和其他命令設置碼打包發(fā)送至云端,云端會自動轉(zhuǎn)發(fā)到下位機,下位機收到后作相應處理
5.2.5中央空調(diào)出風口設置用戶設置中央空調(diào)出風口,達到精準降溫,避免人在客廳中央空調(diào)還向臥室降溫的浪費。圖5-7中央空調(diào)出風口設置如圖5-7所示,監(jiān)測模式下設置中央空調(diào)出風口。
5.3硬件獨立功能部分實現(xiàn)硬件獨立功能是指不需要軟件控制即可自動運行的部分。5.3.1語音播報模塊該模塊增加了硬件的互動性,硬件通電連接網(wǎng)絡會有聯(lián)網(wǎng)提醒,氣體異常會報警,還有很多操作報警提示,增加系統(tǒng)的生動性,達到立即提醒用戶即時交互的目的。圖5-8語音播報模塊5.3.2時間模組該模塊主要為定時開關(guān)人體感應燈功能提供正確的時間,起到一個輔助作用。圖5-9時間模塊5.3.3氣體報警一個煙霧傳感器和一個可燃氣傳感器,檢測到異常會傳輸?shù)絽f(xié)調(diào)器上面的語音模塊,播報相應的語音提醒。圖5-10氣體檢測傳感器5.3.4晾衣架伸縮該模組的雨水傳感器檢測到雨水,電機會轉(zhuǎn)動讓晾衣架收回,可以用濕紙巾進行測試。圖5-11晾衣架伸縮模塊
第6章系統(tǒng)測試如果說系統(tǒng)開發(fā)是系統(tǒng)的基礎(chǔ),那系統(tǒng)測試就是系統(tǒng)的最終質(zhì)檢,并且其測試的工作需要很多的精力進行,在各種環(huán)境下測試穩(wěn)定性尋找漏洞。表6-1功能模塊測試結(jié)果表模塊名稱測試功能預期結(jié)果實際結(jié)果用戶登錄登錄云端軟件輸入口令后進入主界面并且正常獲取傳感器的即時數(shù)據(jù)。符合要求主頁面數(shù)據(jù)查看查看傳感器數(shù)據(jù)主界面和子界面正常顯示傳感器的數(shù)據(jù),并且硬件獲取到軟件顯示的延遲小于4秒。符合要求三種監(jiān)測模式切換系統(tǒng)監(jiān)測模式不同模式下硬件有不同的宏操作,切換之后硬件能夠在7秒內(nèi)完成所有的模式定義操作。符合要求溫度調(diào)節(jié)控制環(huán)境溫度當用戶選擇的溫度小于環(huán)境溫度時,風扇轉(zhuǎn)動開始降溫。符合要求窗簾調(diào)節(jié)軟件調(diào)節(jié)窗簾級數(shù)軟件調(diào)節(jié)后向硬件發(fā)送命令,硬件接收到之后窗簾模塊進行一個調(diào)節(jié),達到控制光照的目的。符合要求歷史數(shù)據(jù)查詢查詢傳感器的歷史數(shù)據(jù)輸入時間段和數(shù)據(jù)類型,下載查看歷史數(shù)據(jù)。符合要求語音報警檢測到氣體異常則報警檢測到煙霧則播報煙霧警報,檢測到可燃氣則報警可燃氣泄露。出門模式和睡眠模式檢測到人則報警有人闖入。檢測到雨水則報警雨水警告。符合要求中央空調(diào)出風口設置設置不同房間的空調(diào)出風口設置正常監(jiān)測模式下臥室是否開關(guān)出風口,同時不同的設置語音播報也會變化。符合要求雨水檢測檢測外部雨水檢測到雨水則伸縮晾衣架收回。符合要求定時開關(guān)感應燈人體傳感器感應燈設置開啟時間段,在這個時間段內(nèi)檢測到人即亮燈,不在開啟時間段檢測到人不亮燈符合要求
總結(jié)本系統(tǒng)軟件程序采用安卓系統(tǒng)架構(gòu),硬件程序是基于zigbee協(xié)議而開發(fā)的,整體分成了2大部分加一個云端橋梁,安卓主要是UI界面的設計和后端程序的實現(xiàn),使用java語音進行開發(fā),硬件主要是實體模擬環(huán)境的搭建和運行代碼的編寫,開發(fā)代碼是c語言,燒寫進硬件即可運行,在這段時間里,項目從立項到最終的完成,先是解決關(guān)鍵性的技術(shù)問題,再進行細致的開發(fā)步驟,如此不僅不浪費時間,還能先布置好步驟和關(guān)鍵技術(shù)接續(xù),避免開發(fā)到一半面臨一個難以解決的方案而另尋他路。剛開始準備階段有點手忙腳亂,雖然在之前學期有經(jīng)歷相關(guān)的學習與小項目開發(fā),但首次面臨相對龐大的開發(fā),不知道從何處下手,但還是靠時間啃了下拉,雖然中后期沒那么有熱度和沖勁了,但還是完成了預設的功能和新增了一些小功能,系統(tǒng)整體比較簡單,一些基本功能模塊重復率高,但還是找到了適合自己的路程,在這過程里也加強了自己各項能力,并且以此為階梯循序漸進,以
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣州市正骨醫(yī)院合同制人員招聘備考題庫及一套完整答案詳解
- 手機非保協(xié)議書
- 舍務教師協(xié)議書
- 榮譽出品協(xié)議書
- 蜜蜂養(yǎng)殖協(xié)議書
- 視頻開發(fā)協(xié)議書
- 認證授權(quán)協(xié)議書
- 論文服務合同范本
- 設備配件協(xié)議書
- 設計平臺協(xié)議書
- 冬季電纜敷設施工專項方案
- 紅色展覽館介紹
- GB/T 46237-2025信息技術(shù)數(shù)字孿生能力成熟度模型
- 印刷外包協(xié)議合同范本
- GB 6537-20253號噴氣燃料
- 新能源項目-電氣試驗作業(yè)指導書
- 人血白蛋白臨床應用管理中國專家共識解讀
- 中煤集團技術(shù)筆試題目及答案
- 光伏電站班組安全培訓課件
- 科研財務助理工作總結(jié)
- 爆破安全規(guī)程解讀課件
評論
0/150
提交評論