當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:Android手機(jī)應(yīng)用程序開發(fā)需要著眼于它的整個體系構(gòu)架,文中介紹了Google新近推出的移動設(shè)備軟件平臺Android的基本構(gòu)成和層次結(jié)構(gòu),同時給出以EXPLORERF-CC2530系統(tǒng)為基礎(chǔ)平臺的智能家居終端應(yīng)用程序的開發(fā)方法。

引言

在家庭網(wǎng)絡(luò)中部署的信息終端越來越多,在解決他們之間的物理互聯(lián)問題之后家庭用戶還需要對各個設(shè)備進(jìn)行一些復(fù)雜配置才能使用,這對于普通家庭用戶來說是難以接受的。加入到家庭網(wǎng)絡(luò)的設(shè)備如何能自動地相互發(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)提供智能控制方案使住戶的控制更便捷、更高效,更能為家庭的日?;顒庸?jié)約不必要的能耗。而且在現(xiàn)在這個注重綠色環(huán)保的世界里,智能地為住戶控制好空氣的濕度、溫度等檢查分析空氣成分,讓住戶安心入住同時,智能家居控制器可以根據(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è)計平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android給開發(fā)人員提供了為移動設(shè)備開發(fā)新穎的應(yīng)用程序的機(jī)會,正因為Android操作系統(tǒng)具有很強(qiáng)的擴(kuò)展性和互聯(lián)性,以及不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,得到了手機(jī)廠家和運(yùn)營商的普遍歡迎,憑借其系統(tǒng)的靈活性、開放性以及開放的互聯(lián)網(wǎng)理念,在操作系統(tǒng)平臺的競爭中占據(jù)了明顯的優(yōu)勢。本文設(shè)計的是基于三星S4智能手機(jī)完成的終端智能家居系統(tǒng)。

Android軟件平臺的構(gòu)成[2]

Android平臺整體自底向上由以下4個層次組成:Linux內(nèi)核層、Android運(yùn)行時庫和其他庫層、應(yīng)用框架層、應(yīng)用程序?qū)印?

Linux內(nèi)核層

Android是基于LinuxVersion216123內(nèi)核開發(fā)的,主要是添加了一個名為Goldfish的虛擬CPU以及Android運(yùn)行所需的特定驅(qū)動代碼。該層用來提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動模塊。作為虛擬的中間層,該層位于硬件與其他的軟件層之間。

Android運(yùn)行時庫和其他庫層

Android運(yùn)行時庫包含一組核心庫(提供了Java語言核心庫內(nèi)的大部分功能)和Dalvik虛擬機(jī)。同時Android提供了豐富的庫類支持且大部分為開源代碼,如采用的數(shù)據(jù)庫為SQLite。Android選擇它作為移動終端的嵌入式數(shù)據(jù)庫有以下優(yōu)點:它無需安裝和管理配置,它是一個存儲在單一磁盤文件中的完整的數(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è)計簡化了各組件之間的重用,任何應(yīng)用都可以分發(fā)自己的組件,任何應(yīng)用也可以使用這些分發(fā)的組件(應(yīng)用的使用方法需遵循框架的安全性約束)。

1.4應(yīng)用程序?qū)?

Android本身會附帶一些核心的應(yīng)用程序,包括E-mail客戶端、短信程序、日歷、地圖、瀏覽器、通信錄等,目前所有的應(yīng)用程序都是由Java語言開發(fā)的。

2面向Web服務(wù)的智能家居控制系統(tǒng)軟件設(shè)計

面向Web服務(wù)的智能家居控制系統(tǒng)以EXPLORERF-CC2530系統(tǒng)為基礎(chǔ),將對單一用戶的家居設(shè)備控制上升到對整個建筑甚至建筑群的集中控制和管理,將建筑物或建筑群的所有信息存儲在服務(wù)器的數(shù)據(jù)庫中,Android手機(jī)或者平板電腦通過網(wǎng)絡(luò)(3G/Internet/GPRS等)從服務(wù)器獲取實時數(shù)據(jù),服務(wù)器通過以太網(wǎng)與EXPLORERF-CC2530系統(tǒng)的網(wǎng)關(guān)進(jìn)行通信,房間控制器與室內(nèi)的家居設(shè)備相對應(yīng)的模塊通過無線的方式進(jìn)行通信,從而實現(xiàn)了遠(yuǎn)程控制家居設(shè)備的功能。系統(tǒng)省去了室內(nèi)控制器等硬件設(shè)計的復(fù)雜度,不必破壞隔墻,不必購買新的電氣設(shè)備,系統(tǒng)可以簡單安裝,減少了用戶的使用成本;系統(tǒng)可以只與照明設(shè)備或常用的電氣設(shè)備連接,將來也可以與其他設(shè)備連接,以適應(yīng)新的智能生活需要,具有良好的可擴(kuò)展性。本章首先介紹了Android遠(yuǎn)程數(shù)據(jù)庫的幾種方法并且選取了其中一種,然后實現(xiàn)了Android客戶端對遠(yuǎn)程服務(wù)器的訪問,最后對客戶端界面做了個性化設(shè)計。

2.1Android與遠(yuǎn)程數(shù)據(jù)庫通信的方法

近年來,隨著智能移動設(shè)備的快速發(fā)展和3G網(wǎng)絡(luò)的逐漸普及,以及Android系統(tǒng)憑借其開放性、多樣性等優(yōu)勢越來越受到開發(fā)人員的推崇,如騰訊、淘寶等知名網(wǎng)站都推出了Android客戶端版本,同時很多Window桌面的數(shù)據(jù)庫應(yīng)用程序都延伸到移動設(shè)備上。由于移動設(shè)備的內(nèi)存及性能很難比得上PC機(jī)或筆記本電腦,所以桌面的客戶端訪問數(shù)據(jù)庫的方法也不可能在Android設(shè)備上使用。MFC/Swing等C/S模式的程序設(shè)計可以通過IP地址直接訪問遠(yuǎn)程數(shù)據(jù)庫,但是Android平臺并沒有提供直接調(diào)用遠(yuǎn)程數(shù)據(jù)庫的接口,所以Android客戶端不能直接訪問遠(yuǎn)程數(shù)據(jù)庫[7]。而是在Android客戶端與遠(yuǎn)程數(shù)據(jù)庫中加入Web服務(wù)器來實現(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ù)實現(xiàn)遠(yuǎn)程訪問數(shù)據(jù)庫Android中并沒有直接調(diào)用WebService的庫,借助ksoap2-Android這個第三方工具來實現(xiàn)

WebService的訪問,這個軟件可以封裝KSOAP2請求,以SOAP的格式調(diào)用WebService,并以將返回的SOAP格式的數(shù)據(jù)解析為SoapObject對象。

2.2WebService技術(shù)

WebService是計算機(jī)領(lǐng)域一種新興的分布式技術(shù),是基于可編程的Web的應(yīng)用程序,具有發(fā)布、定位、調(diào)用的功能,WebService在被訪問時可以不考慮相關(guān)服務(wù)如何被實現(xiàn)便可以被任何系統(tǒng)、在任何地方被動態(tài)訪問。與傳統(tǒng)的模式相比,實現(xiàn)服務(wù)的訪問依賴于協(xié)議和數(shù)據(jù)格式,而不用像其他模式一樣依賴特定對象模型協(xié)議;而且WebService可以整合不同平臺、不同語言、不同開發(fā)技術(shù)的應(yīng)用,具有良好的封裝性、高度集成性、平臺獨(dú)立性等優(yōu)點。WebService的關(guān)鍵技術(shù)包括HTTP、XML、SOAP、WDSL、UDDI,這些技術(shù)通過獨(dú)立于特定編程語言、操作系統(tǒng)、硬件平臺的方式進(jìn)行通信。

3項目源程序開發(fā)

智能家居源程序主要功能模塊框架如圖1所示。

基于Android的智能家居程序開發(fā)與研究

3.1登錄與注冊功能的界面設(shè)計

當(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所示。

基于Android的智能家居程序開發(fā)與研究

若用戶登錄成功,則系統(tǒng)直接跳轉(zhuǎn)到系統(tǒng)主界面;系統(tǒng)的主界面如圖3所示。若用戶名或密碼錯誤,則彈出錯誤提示框,圖 4 所示是系統(tǒng)給出的錯誤提示框圖。

基于Android的智能家居程序開發(fā)與研究

3.2代碼的運(yùn)行

完成工程的創(chuàng)建和源代碼的編譯后就開始運(yùn)行程序。在Eclipse平臺中選擇Run>OpenRunDialog選項,打開運(yùn)行對話框。然后,在對話框左邊的typefiltertext下選擇AndroidApplication>contactnote,再點擊對話框中的Run按鈕,應(yīng)用程序就會被加載到仿真器上并開始運(yùn)行。

Android手機(jī)應(yīng)用程序開發(fā)需要著眼于它的整個體系構(gòu)架,是一項復(fù)雜的工程。本文分析了Android體系的層次架構(gòu),并在此基礎(chǔ)上介紹了Android應(yīng)用程序開發(fā)的相關(guān)技術(shù)和基本的開發(fā)流程oAndroid平臺具有極大的開放性和兼容性,相信廣大開發(fā)者可以借助AndroidSDK提供的強(qiáng)大技術(shù)支持,開發(fā)出豐富多彩、極具個性的移動應(yīng)用。

示框,圖4所示是系統(tǒng)給出的錯誤提示框圖。

20211119_6197c16bef5a4__基于Android的智能家居程序開發(fā)與研究

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉