掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
在家庭網(wǎng)絡(luò)中部署的信息終端越來越多,在解決他們之間的物理互聯(lián)問題之后家庭用戶還需要對各個(gè)設(shè)備進(jìn)行一些復(fù)雜配置才能使用,這對于普通家庭用戶來說是難以接受的。加入到家庭網(wǎng)絡(luò)的設(shè)備如何能自動(dòng)地相互發(fā)現(xiàn)并協(xié)同配合工作一直是數(shù)字家庭領(lǐng)域熱烈討論的問題。目前智能家居系統(tǒng)有了一定的發(fā)展并且市場上也開始出現(xiàn)相應(yīng)的產(chǎn)品。但從總體的發(fā)展來看不容樂觀,特別是統(tǒng)一標(biāo)準(zhǔn)和權(quán)威產(chǎn)品的缺乏嚴(yán)重影響了家居智能化的發(fā)展。隨著科技的進(jìn)步,經(jīng)濟(jì)的發(fā)展,人們的物質(zhì)生活水平不斷提高,對家居環(huán)境的要求也越來越高,作為家居智能化的核心部分一一智能家居控制系統(tǒng)也越發(fā)顯得重要。家居智能化控制的開發(fā)和建設(shè)是未來國家、經(jīng)濟(jì)發(fā)展的必然趨勢。智能家居控制器可以為系統(tǒng)提供智能控制方案使住戶的控制更便捷、更高效,更能為家庭的日?;顒?dòng)節(jié)約不必要的能耗。而且在現(xiàn)在這個(gè)注重綠色環(huán)保的世界里,智能地為住戶控制好空氣的濕度、溫度等檢查分析空氣成分,讓住戶安心入住同時(shí),智能家居控制器可以根據(jù)住戶的要求調(diào)整方案,加強(qiáng)緊急處理、危機(jī)救護(hù)等急救控制。伴隨著科學(xué)技術(shù)的迅速發(fā)展和3G通信網(wǎng)絡(luò)的逐步普及,通過便捷的手機(jī)終端進(jìn)行遠(yuǎn)程家居監(jiān)控,成為更多忙于工作的職業(yè)人、領(lǐng)導(dǎo)以及智能手機(jī)用戶的迫切需要。Android是由開放手機(jī)聯(lián)盟于2007年11月5日發(fā)布的基于Linux內(nèi)核的開源手機(jī)軟件設(shè)計(jì)平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android給開發(fā)人員提供了為移動(dòng)設(shè)備開發(fā)新穎的應(yīng)用程序的機(jī)會(huì),正因?yàn)锳ndroid操作系統(tǒng)具有很強(qiáng)的擴(kuò)展性和互聯(lián)性,以及不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,得到了手機(jī)廠家和運(yùn)營商的普遍歡迎,憑借其系統(tǒng)的靈活性、開放性以及開放的互聯(lián)網(wǎng)理念,在操作系統(tǒng)平臺(tái)的競爭中占據(jù)了明顯的優(yōu)勢。本文設(shè)計(jì)的是基于三星S4智能手機(jī)完成的終端智能家居系統(tǒng)。
Android軟件平臺(tái)的構(gòu)成[2]
Android平臺(tái)整體自底向上由以下4個(gè)層次組成:Linux內(nèi)核層、Android運(yùn)行時(shí)庫和其他庫層、應(yīng)用框架層、應(yīng)用程序?qū)印?
Linux內(nèi)核層
Android是基于LinuxVersion216123內(nèi)核開發(fā)的,主要是添加了一個(gè)名為Goldfish的虛擬CPU以及Android運(yùn)行所需的特定驅(qū)動(dòng)代碼。該層用來提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動(dòng)模塊。作為虛擬的中間層,該層位于硬件與其他的軟件層之間。
Android運(yùn)行時(shí)庫和其他庫層
Android運(yùn)行時(shí)庫包含一組核心庫(提供了Java語言核心庫內(nèi)的大部分功能)和Dalvik虛擬機(jī)。同時(shí)Android提供了豐富的庫類支持且大部分為開源代碼,如采用的數(shù)據(jù)庫為SQLite。Android選擇它作為移動(dòng)終端的嵌入式數(shù)據(jù)庫有以下優(yōu)點(diǎn):它無需安裝和管理配置,它是一個(gè)存儲(chǔ)在單一磁盤文件中的完整的數(shù)據(jù)庫,體積只有250KB但支持?jǐn)?shù)據(jù)庫大小至
TB,提供了對事務(wù)功能和并發(fā)處理的支持,而且比目前流行的大多數(shù)數(shù)據(jù)庫運(yùn)行速度快。
1.3應(yīng)用框架層
在應(yīng)用框架,Android開發(fā)人員可以跟那些核心應(yīng)用一樣擁有訪問框架APIs的全部權(quán)限。應(yīng)用的結(jié)構(gòu)化設(shè)計(jì)簡化了各組件之間的重用,任何應(yīng)用都可以分發(fā)自己的組件,任何應(yīng)用也可以使用這些分發(fā)的組件(應(yīng)用的使用方法需遵循框架的安全性約束)。
1.4應(yīng)用程序?qū)?
Android本身會(huì)附帶一些核心的應(yīng)用程序,包括E-mail客戶端、短信程序、日歷、地圖、瀏覽器、通信錄等,目前所有的應(yīng)用程序都是由Java語言開發(fā)的。
2面向Web服務(wù)的智能家居控制系統(tǒng)軟件設(shè)計(jì)
面向Web服務(wù)的智能家居控制系統(tǒng)以EXPLORERF-CC2530系統(tǒng)為基礎(chǔ),將對單一用戶的家居設(shè)備控制上升到對整個(gè)建筑甚至建筑群的集中控制和管理,將建筑物或建筑群的所有信息存儲(chǔ)在服務(wù)器的數(shù)據(jù)庫中,Android手機(jī)或者平板電腦通過網(wǎng)絡(luò)(3G/Internet/GPRS等)從服務(wù)器獲取實(shí)時(shí)數(shù)據(jù),服務(wù)器通過以太網(wǎng)與EXPLORERF-CC2530系統(tǒng)的網(wǎng)關(guān)進(jìn)行通信,房間控制器與室內(nèi)的家居設(shè)備相對應(yīng)的模塊通過無線的方式進(jìn)行通信,從而實(shí)現(xiàn)了遠(yuǎn)程控制家居設(shè)備的功能。系統(tǒng)省去了室內(nèi)控制器等硬件設(shè)計(jì)的復(fù)雜度,不必破壞隔墻,不必購買新的電氣設(shè)備,系統(tǒng)可以簡單安裝,減少了用戶的使用成本;系統(tǒng)可以只與照明設(shè)備或常用的電氣設(shè)備連接,將來也可以與其他設(shè)備連接,以適應(yīng)新的智能生活需要,具有良好的可擴(kuò)展性。本章首先介紹了Android遠(yuǎn)程數(shù)據(jù)庫的幾種方法并且選取了其中一種,然后實(shí)現(xiàn)了Android客戶端對遠(yuǎn)程服務(wù)器的訪問,最后對客戶端界面做了個(gè)性化設(shè)計(jì)。
2.1Android與遠(yuǎn)程數(shù)據(jù)庫通信的方法
近年來,隨著智能移動(dòng)設(shè)備的快速發(fā)展和3G網(wǎng)絡(luò)的逐漸普及,以及Android系統(tǒng)憑借其開放性、多樣性等優(yōu)勢越來越受到開發(fā)人員的推崇,如騰訊、淘寶等知名網(wǎng)站都推出了Android客戶端版本,同時(shí)很多Window桌面的數(shù)據(jù)庫應(yīng)用程序都延伸到移動(dòng)設(shè)備上。由于移動(dòng)設(shè)備的內(nèi)存及性能很難比得上PC機(jī)或筆記本電腦,所以桌面的客戶端訪問數(shù)據(jù)庫的方法也不可能在Android設(shè)備上使用。MFC/Swing等C/S模式的程序設(shè)計(jì)可以通過IP地址直接訪問遠(yuǎn)程數(shù)據(jù)庫,但是Android平臺(tái)并沒有提供直接調(diào)用遠(yuǎn)程數(shù)據(jù)庫的接口,所以Android客戶端不能直接訪問遠(yuǎn)程數(shù)據(jù)庫[7]。而是在Android客戶端與遠(yuǎn)程數(shù)據(jù)庫中加入Web服務(wù)器來實(shí)現(xiàn)Android訪問遠(yuǎn)程數(shù)據(jù)庫的功能,而且在訪問數(shù)據(jù)庫的過程中可以把頻繁仿問的數(shù)據(jù)內(nèi)容緩存在Web服務(wù)器中,不同的客戶端不需要訪問遠(yuǎn)程數(shù)據(jù)庫便可以獲取相同的數(shù)據(jù),減少了訪問遠(yuǎn)程數(shù)據(jù)的次數(shù)和數(shù)據(jù)庫的壓力,提高了訪問數(shù)據(jù)庫的效率[6]。本系統(tǒng)Android客戶端訪問遠(yuǎn)程數(shù)據(jù)庫采用基于SOAP的Web服務(wù)實(shí)現(xiàn)遠(yuǎn)程訪問數(shù)據(jù)庫Android中并沒有直接調(diào)用WebService的庫,借助ksoap2-Android這個(gè)第三方工具來實(shí)現(xiàn)
WebService的訪問,這個(gè)軟件可以封裝KSOAP2請求,以SOAP的格式調(diào)用WebService,并以將返回的SOAP格式的數(shù)據(jù)解析為SoapObject對象。
2.2WebService技術(shù)
WebService是計(jì)算機(jī)領(lǐng)域一種新興的分布式技術(shù),是基于可編程的Web的應(yīng)用程序,具有發(fā)布、定位、調(diào)用的功能,WebService在被訪問時(shí)可以不考慮相關(guān)服務(wù)如何被實(shí)現(xiàn)便可以被任何系統(tǒng)、在任何地方被動(dòng)態(tài)訪問。與傳統(tǒng)的模式相比,實(shí)現(xiàn)服務(wù)的訪問依賴于協(xié)議和數(shù)據(jù)格式,而不用像其他模式一樣依賴特定對象模型協(xié)議;而且WebService可以整合不同平臺(tái)、不同語言、不同開發(fā)技術(shù)的應(yīng)用,具有良好的封裝性、高度集成性、平臺(tái)獨(dú)立性等優(yōu)點(diǎn)。WebService的關(guān)鍵技術(shù)包括HTTP、XML、SOAP、WDSL、UDDI,這些技術(shù)通過獨(dú)立于特定編程語言、操作系統(tǒng)、硬件平臺(tái)的方式進(jìn)行通信。
3項(xiàng)目源程序開發(fā)
智能家居源程序主要功能模塊框架如圖1所示。
3.1登錄與注冊功能的界面設(shè)計(jì)
當(dāng)用戶擁有智能家居遠(yuǎn)程控制系統(tǒng)中的相關(guān)硬件,如環(huán)境模塊、房間控制器、設(shè)備模塊等,各模塊上標(biāo)示有唯一的ID,用戶可以根據(jù)ID進(jìn)行注冊,注冊成功后便可以登錄此系統(tǒng)對相關(guān)設(shè)備進(jìn)行控制。若用戶已經(jīng)注冊,則可以直接登錄認(rèn)證,登錄系統(tǒng)認(rèn)證的大致流程圖如圖2所示。
若用戶登錄成功,則系統(tǒng)直接跳轉(zhuǎn)到系統(tǒng)主界面;系統(tǒng)的主界面如圖3所示。若用戶名或密碼錯(cuò)誤,則彈出錯(cuò)誤提示框,圖 4 所示是系統(tǒng)給出的錯(cuò)誤提示框圖。
3.2代碼的運(yùn)行
完成工程的創(chuàng)建和源代碼的編譯后就開始運(yùn)行程序。在Eclipse平臺(tái)中選擇Run>OpenRunDialog選項(xiàng),打開運(yùn)行對話框。然后,在對話框左邊的typefiltertext下選擇AndroidApplication>contactnote,再點(diǎn)擊對話框中的Run按鈕,應(yīng)用程序就會(huì)被加載到仿真器上并開始運(yùn)行。
Android手機(jī)應(yīng)用程序開發(fā)需要著眼于它的整個(gè)體系構(gòu)架,是一項(xiàng)復(fù)雜的工程。本文分析了Android體系的層次架構(gòu),并在此基礎(chǔ)上介紹了Android應(yīng)用程序開發(fā)的相關(guān)技術(shù)和基本的開發(fā)流程oAndroid平臺(tái)具有極大的開放性和兼容性,相信廣大開發(fā)者可以借助AndroidSDK提供的強(qiáng)大技術(shù)支持,開發(fā)出豐富多彩、極具個(gè)性的移動(dòng)應(yīng)用。
示框,圖4所示是系統(tǒng)給出的錯(cuò)誤提示框圖。
20211119_6197c16bef5a4__基于Android的智能家居程序開發(fā)與研究
憑借其全新的功能豐富的移動(dòng)交易應(yīng)用程序,屢獲殊榮的經(jīng)紀(jì)商HFM讓客戶實(shí)現(xiàn)觸手可及的全方位交易體驗(yàn)。 毛里求斯路易港2022年10月14日 /美通社/ -- 全球多資產(chǎn)經(jīng)紀(jì)商...
關(guān)鍵字: 應(yīng)用程序 FM 移動(dòng)應(yīng)用 ADI倫敦2022年10月13日 /美通社/ -- Ubuntu Pro是擴(kuò)展式安全維護(hù)和合規(guī)訂閱服務(wù),目前針對數(shù)據(jù)中心和工作站已推出公開測試Beta版本。Canonical將按照...
關(guān)鍵字: UBUNTU CANONICAL BSP 應(yīng)用程序加拿大政府9月26日表示,從2022年10月1日起,加拿大將取消所有疫情下的旅行限制,包括對乘坐航班和火車乘客的疫苗接種和口罩要求。所有旅行者(無論國籍)從10月1日開始將不必通過ArriveCAN應(yīng)用程序提交健康信息或...
關(guān)鍵字: ECAN 應(yīng)用程序 飛機(jī) ARRI音頻創(chuàng)新品牌萊維特官宣發(fā)布新一代高性能聲卡CONNECT 6,現(xiàn)已上市 上海2022年9月23日 /美通社/ -- 奧地利知名音頻創(chuàng)新品牌萊維特剛剛發(fā)布了新一代高性能聲卡- CONNECT 6。作為創(chuàng)新型音頻...
關(guān)鍵字: NEC 聲卡 移動(dòng)設(shè)備 電腦SIXT管理委員會(huì)批準(zhǔn)整體可持續(xù)發(fā)展計(jì)劃,以進(jìn)一步加快二氧化碳減排和智能新能源出行需求 到2030年, SIXT在歐洲車隊(duì)中的新能源車將達(dá)到70%至90% 投資5000萬歐元:公司將大...
關(guān)鍵字: 可持續(xù)發(fā)展 新能源汽車 應(yīng)用程序 移動(dòng)平臺(tái)(全球TMT2022年9月22日訊)建筑項(xiàng)目管理軟件領(lǐng)域企業(yè)InEight Inc.宣布了最新的軟件創(chuàng)新,包括范圍、設(shè)計(jì)和資源管理方面的新流程標(biāo)準(zhǔn)化,以及新的進(jìn)展跟蹤功能和創(chuàng)建基準(zhǔn)驗(yàn)證型進(jìn)程預(yù)估和時(shí)間表的能力。該更新還...
關(guān)鍵字: 軟件 進(jìn)程 應(yīng)用程序 模板InEight專注于軟件創(chuàng)新的標(biāo)準(zhǔn)化和基準(zhǔn)更新,從而提高了效率,增加了項(xiàng)目信心 InEight建筑項(xiàng)目管理平臺(tái)的最新發(fā)展引入了新的設(shè)計(jì)管理和基準(zhǔn)實(shí)踐,提高了各個(gè)項(xiàng)目之間的一...
關(guān)鍵字: 軟件 應(yīng)用程序 進(jìn)程 移動(dòng)應(yīng)用Sumo Logic可靠性管理為企業(yè)領(lǐng)導(dǎo)者提供關(guān)鍵數(shù)據(jù),以平衡創(chuàng)新速度和服務(wù)可靠性
關(guān)鍵字: LOGIC 應(yīng)用程序 PEN COM(全球TMT2022年9月7日訊)愛立信在與谷歌最近的一次合作中,與生態(tài)系統(tǒng)合作伙伴成功展示了愛立信網(wǎng)絡(luò)基礎(chǔ)設(shè)施可支持單臺(tái)Android 13設(shè)備上的多個(gè)切片,同時(shí)滿足企業(yè)(工作模式)和消費(fèi)者應(yīng)用。同時(shí),該演示首次為運(yùn)...
關(guān)鍵字: Android 愛立信 網(wǎng)絡(luò)切片 帶寬