《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的智能家居終端設計與實現
基于Android的智能家居終端設計與實現
來源:微型機與應用2012年第14期
周時偉1,2, 謝維波1,2
(1. 華僑大學 計算機科學與技術學院,福建 廈門361021; 2. 華僑大學 廈門軟件園嵌入式技
摘要: 在深入分析Android的系統架構及其應用程序組成的基礎上,設計和實現了一款基于Android的智能家居終端。終端主要包括主控制模塊、信號處理模塊、網絡管理模塊、媒體流管理模塊及信息存取模塊等功能模塊。較好地融合了Android與智能家居終端,具有較強的實用價值和開發指導意義。
Abstract:
Key words :

摘   要:  在深入分析Android的系統架構及其應用程序組成的基礎上,設計和實現了一款基于Android的智能家居終端。終端主要包括主控制模塊、信號處理模塊、網絡管理模塊、媒體流管理模塊及信息存取模塊等功能模塊。較好地融合了Android與智能家居終端,具有較強的實用價值和開發指導意義。
關鍵詞: 智能家居;Android系統家居安防可視對講;智能終端

    自2007年Google推出開源手機操作系統Android以來,Android的應用開發一時間風靡全球,各高科技領域應用都在向Android進軍。Android的盛行取決于其獨特的優勢。首先,Android是一款基于Linux內核的開源系統,它具有操作系統、中間件和關鍵應用程序。對第三方應用開發完全開放、人員具有較大的自由度[1]。其次,Android應用程序的開發采用Java語言,通過應用框架層提供的API,開發簡單、周期短。第三,Android具有很強的開放性和靈活性。雖然現在市場上已經出現各種各樣的智能家居終端,但Android的出現及其廣泛應用,使得很多智能家居廠商正投入很大的人力物力進行研究開發基于Android的智能家居終端。
1 Android系統
1.1 Android架構

    Android是一個包括操作系統、中間件和關鍵應用程序的移動設備軟件堆。其作為一個開發式的系統平臺,包含了眾多的功能和龐大的基于Linux的代碼,在用戶空間又分為本地代碼(C/C++)和Java代碼。Android系統可以分為以下各層次:
    自底向上依次為Linux操作系統及其驅動層、本地代碼框架和Java虛擬機層、Java框架層和Java應用程序層[2]。在各層之間存在相應的分界線接口。如圖1所示。

    作為開放式的系統,Android提供了豐富的組件和視圖控件。大部分的開發只需要調用Android應用框架層提供的API就可以方便地完成,并且在Android的SDK中提供了豐富的實例供參考學習,使得應用開發簡單易行。Android各層次的功能如表1所示。

1.2 Android應用程序的組成
    一個程序可以調用另外一個程序的程序片段。這是Android程序框架的基本設計理念。例如,在Windows操作系統中,資源管理器可以瀏覽圖片文件,當瀏覽到這個圖片文件時,雙擊該圖片文件,便啟動圖片瀏覽軟件。Android的程序理念便是如此,所不同的是,在Windows中,打開圖片會啟動圖片瀏覽軟件的全部功能,雖然實際上只是需要查看圖片;Android中是把一個程序的功能分為各種不同的程序片段,每個程序片段都能單獨啟動。
     Android應用程序由Activity、Service、Broadcast Receiver和Content Provider四大組件構成。這四大組件也稱為Android的四種類型的程序片段,且每種類型都可以獨立運行。
     Activity在四大組件中最復雜。從視覺上看,一個Activity占據當前的窗口,響應所有窗口事件,具有控件、菜單等界面元素,為用戶提供一個與界面交互的平臺。從內部邏輯來看,Activity需要為了保持各個界面狀態,需要做很多持久化的工作,還需要妥善管理生命周期和一些轉跳邏輯。
     Service就是剝離了界面的Activity,都是封裝有一個完整的功能邏輯實現,只不過Service不拋頭露臉,默默提供后臺服務。舉例,當用戶處理其他問題時,服務可以播放背景音樂,或者可以從網上獲取數據、計算、提高,提供給活動所需要的結果。
    Broadcast Receiver只能接收廣播,一個廣播可以有很多廣播接收器對它認為重要的通知作出反應。Android系統提供了一個sendBroadcast()方法,Application Framework內部調用該方法發送廣播,比如有新短信息、有來電等廣播消息,Broadcast Receiver會響應這些系統消息的獨立執行單元[4]。
    Content Provider提供了一套特殊的可供其他應用使用的數據。這些數據可以存儲在文件系統中、SQLite數據庫中或者其他有意義的形式。實現了一套標準的允許其他用戶檢索、儲存數據的方法。通過使用ContentProvider的實例,調用它的方法。
    Intent是Android中一個特殊的類,組件之間的通訊,由Intent協助完成。Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,并完成組件的調用。Intent在這里起著實現調用者與被調用者之間的解耦作用,如圖2所示。

2 智能家居終端
2.1 終端主要功能

    智能家居終端的主要功能如下[5]:
   (1)可視對講。室內機與門口機進行可視對講;室內機可以監視門口情況;訪客留影;兩個或多個室內機進行視頻對話。
  (2)家居安防。防區設定:對室內和室外安裝的監視器進行獨立的設定;報警:監視器偵測到異常發出報警;家居安防模式設定:外出、在家、就寢等。
  (3)家居控制。燈光控制;窗簾控制;空調控制;電源控制;燃氣閥控制;電梯控制。
  (4)生活資訊。天氣預報;萬年歷;常用電話;物業服務。
  (5)系統管理。常用設置;使用說明;安防設置;家居設置。
    系統結構功能如圖3所示。


2.2 軟件系統架構
 整個軟件系統架構分為四個層次,每個層次的功能分別如下:
    (1)操作系統層。對下為各種硬件設備提供外圍設備驅動,控制硬件工作,如音視頻的采集播放設備、各類傳感器、攝像頭等;對上為庫函數提供各種設備的驅動接口,以使得上層可以調用設備。
   (2)庫和接口層。該主要提供給應用框架層一些基本的類庫和接口,包括Android的C/C++庫、RTP/RTCP庫和多媒體的處理接口。
    (3)應用框架層。該層采用模塊化開發方法,通過使用其下層的函數庫提供的接口,將實現相同或相似功能的封裝成為一個模塊進而供應用層來開發使用。
   (4)應用層。通過與應用框架層提供的模塊相互交互、資源分配等,基于Android的四大組件及其他相關視圖控件完成界面設計,為用戶提供一個可視的界面平臺。在該軟件架構下,涉及到的功能模塊有信號處理模塊、網絡管理模塊、媒體流管理模塊以及信息存取模塊。
2.3 功能模塊的實現
2.3.1 主控制模塊

    最上層為主控制模塊,是系統的主要模塊,通過使用Android的各種組件和控件,在應用層實現系統的主要功能。一方面,通過 Android的資源文件如布局、菜單、視圖等提供的各種類和方法來完成系統的GUI設計,提供給用戶一個統一的圖形化接口給用戶。另一方面,通過使用應用框架中的信號處理、網絡管理、媒體流管理、信息存儲等功能模塊接口,分別實現門磁控制、家居安防、家居控制、生活資訊、可視對講及系統管理的功能。在此模塊中的門磁控制可以直接控制房門的開關[6]。
    所有的功能都聚集在主模塊中,這就需要一個合理的布局才能使系統使用起來比較協調。由于每個Activity中包含一個Window,每個Window中包含一個View Group,而每個View Group中包含更多的View和View Group。在主模塊中的布局如圖4所示。

2.3.3 網絡管理模塊
    網絡管理模塊主要為生活資訊提供服務。此模塊提供服務的分為兩種。一種為局域網服務,如物業服務。這里實現起來比較簡單,用戶根據系統所提供的設備名稱向中心管理機報備需要服務的設備。例如:點擊某個設備,終端向中心管理機發送一條“智能設備需要服務”指令。物業收到該指令后,會主動聯系該用戶。另一種為Intenet服務,需要提供各種信息的Web服務,如天氣。
2.3.4 媒體流管理模塊
    媒體流管理模塊是為可視對講提供服務的。在系統中通過調用Android的OpenCORE接口來實現音視頻的編解碼。OpenCORE是Android多媒體框架的核心,所有Android平臺的音頻、視頻的采集以及播放等操作都是通過它來實現的。它主要包含了兩個大方面的內容:
    PVPlayer:提供媒體播放器的功能,完成各種音頻、視頻流的回放功能。
    PVAuthor:提供媒體流記錄的功能,完成各種音頻、視頻流以及靜態圖像的捕獲功能。
    當門口機需與室內機請求對講時,室內機只需要對門口機傳輸過來的音視頻進行解碼播放,即Android調用MediaPlayer類用來播放音頻、視頻。
    當兩個室內機進行視頻對講時,雙方機器要同時進行音視頻的編碼解碼。這時就要同時調用MediaPlayer類和MediaRecorder類。MediaRecorder類用來進行媒體采樣,包括音頻和視頻。
2.3.5 信息存取模塊
    信息存取模塊主要為系統管理提供開發接口以實現對系統的管理。如智能家居系統的終端系統管理模塊主要提供本機設置、安防設置、家居設置、使用幫助等功能。本機設置包括本機的網絡設置、樓棟單元號房間號設置、密碼設置等;安防設置可以對室內的各個安防設備進行布防和撤防設置;家居設置則可以調整家用電器的斷電或啟動時間;使用幫助則是關于本機的使用說明。設置的一般過程為先通過相應的get方法獲得要設置的狀態,然后通過set方法保存設置。
2.4 模塊封裝

 


    本文開發是按照Android開發規范進行,應用層使用Java語言,在底層的一些本地庫和接口開發過程中,考慮到代碼的使用效率及開發的簡易性,采用了JNI,是由C/C++語言實現的。如圖6為實現效果圖。

    整個系統充分利用了Android內部資源,極大地提高了開發效率。測試結果表明系統的穩定性極高,具有較強的實用性。
參考文獻
[1] 邵長彬,張重陽,鄭世寶.基于Android的可視IP電話多媒體終端設計與實現[J].電視技術,2011,3(6):62-65.
[2] 柯元旦,宋銳.Android程序設計[M].北京:北京航空航天大學出版社, 2010:12-35.
[3] 尹浩,陳美鑾,黎飄.基于FPSLIC的網絡家居終端系統的設計與實現[J].計算機工程與設計,2006,27(8):1442-1445.
[4] 楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2009:188-219.
[5] 金鑫.基于ARM-Linux的智能家居網絡終端的設計與實現[J].電腦知識與技術, 2010,6(7):1612-1618.
[6] 宋小青,周東升.基于Android平臺的應用開發研究[J].軟件導刊,2011,10(2):104-106.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品综合| 亚洲欧美日韩精品久久| 国产精品爽爽ⅴa在线观看| 欧美高清不卡在线| 麻豆久久精品| 免费久久久一本精品久久区| 久久蜜桃资源一区二区老牛| 久久福利影视| 午夜一区二区三区不卡视频| 亚洲亚洲精品三区日韩精品在线视频| 日韩午夜免费| 亚洲精品视频免费观看| 亚洲人体1000| 亚洲伦理在线免费看| 亚洲免费观看视频| 妖精视频成人观看www| 一本久久a久久精品亚洲| 一本色道久久综合亚洲91| 一区二区高清在线| 亚洲小说春色综合另类电影| 亚洲一级高清| 欧美一区二区三区免费视| 欧美亚洲一区二区在线| 久久成人免费| 久久久国产成人精品| 久久久久网址| 美女精品视频一区| 欧美激情女人20p| 欧美日韩视频专区在线播放| 国产精品www网站| 国产精品亚洲人在线观看| 国产亚洲欧美在线| 在线看一区二区| 亚洲另类自拍| 亚洲一二三区在线观看| 欧美一区日韩一区| 亚洲欧洲综合另类在线| 亚洲天堂网在线观看| 欧美一区二区三区免费在线看| 久久精品在线免费观看| 久久嫩草精品久久久精品一| 欧美96在线丨欧| 欧美色大人视频| 国产精品系列在线播放| 国产自产精品| 亚洲六月丁香色婷婷综合久久| 亚洲午夜精品| 亚洲国产精品视频一区| 亚洲网友自拍| 久久精品一区二区三区不卡牛牛 | 亚洲一区在线免费| 久久电影一区| 99热在这里有精品免费| 欧美亚洲视频一区二区| 美女国产精品| 国产精品a级| 激情另类综合| 日韩亚洲欧美高清| 亚洲欧美在线视频观看| 亚洲国产欧美一区| 亚洲免费视频成人| 巨乳诱惑日韩免费av| 欧美日本韩国一区| 国产欧美日本一区视频| 亚洲电影欧美电影有声小说| 中文亚洲免费| 91久久精品国产91性色tv| 亚洲欧美日韩国产中文在线| 久久乐国产精品| 国产精品v欧美精品v日本精品动漫 | 亚洲婷婷在线| 欧美一区激情视频在线观看| 免费欧美在线视频| 国产精品一区二区欧美| 亚洲国产欧美日韩| 亚洲一区制服诱惑| 亚洲蜜桃精久久久久久久| 欧美一区二区三区在线观看视频| 欧美成人伊人久久综合网| 国产精品夜夜夜| 亚洲精品在线免费| 久久riav二区三区| 午夜激情亚洲| 欧美片在线观看| 国内外成人免费激情在线视频 | 亚洲小说欧美另类社区| 91久久久在线| 久久久av毛片精品| 国产精品久久久久久亚洲调教| 亚洲国产成人精品视频| 欧美一区二区日韩| 亚洲一区二区三区中文字幕 | 欧美日韩精品欧美日韩精品| 在线观看日韩| 亚洲欧美三级在线| 亚洲一级二级在线| 欧美日韩不卡合集视频| 在线精品高清中文字幕| 午夜精品久久久久久久久久久久久 | 亚洲综合首页| 这里只有精品丝袜| 欧美精品系列| 亚洲国产欧美另类丝袜| 亚洲国产精品成人一区二区| 久久久久久有精品国产| 国产精品制服诱惑| 亚洲综合国产激情另类一区| 亚洲一区二区三区视频播放| 欧美日本一道本| 亚洲清纯自拍| 亚洲免费电影在线| 欧美激情欧美狂野欧美精品| 亚洲电影在线播放| 亚洲国内自拍| 欧美 日韩 国产精品免费观看| 国产亚洲欧美一级| 欧美一区二区三区啪啪| 久久精品国产77777蜜臀| 国产精品一区二区你懂得| 亚洲午夜精品福利| 亚洲欧美国产精品桃花| 国产精品白丝jk黑袜喷水| 一二三区精品| 亚洲欧美日韩一区| 国产精品视频一二| 午夜亚洲激情| 久久天堂av综合合色| 精品动漫av| 亚洲美女电影在线| 欧美国产视频日韩| 日韩视频永久免费观看| 亚洲在线1234| 国产欧美日本| 亚洲第一福利视频| 欧美韩日高清| 99在线视频精品| 午夜日韩av| 狠狠网亚洲精品| 亚洲精品久久久久中文字幕欢迎你| 欧美黄色aa电影| 日韩亚洲视频在线| 欧美一区二区三区免费视| 国产亚洲福利| 亚洲精品护士| 欧美视频一区在线| 亚洲欧美日韩人成在线播放| 久久精品91久久久久久再现| 黄色成人小视频| 99国产精品视频免费观看一公开| 欧美日本高清视频| 亚洲天堂男人| 久久久久久久综合| 亚洲国产高清aⅴ视频| 亚洲视频福利| 国产午夜久久久久| 亚洲激情在线激情| 欧美午夜精品一区二区三区| 午夜精品久久久久久久蜜桃app| 麻豆精品精品国产自在97香蕉| 亚洲激情午夜| 小黄鸭精品aⅴ导航网站入口| 国模套图日韩精品一区二区| 日韩视频不卡| 国产麻豆精品久久一二三| 亚洲国产欧美一区二区三区丁香婷| 欧美精品乱码久久久久久按摩| 在线一区观看| 久久综合色8888| 在线视频精品一区| 久久在线视频| 日韩视频免费在线| 久久久.com| 一片黄亚洲嫩模| 久久深夜福利免费观看| 日韩亚洲国产精品| 久久久免费av| 日韩视频二区| 久久琪琪电影院| 亚洲深爱激情| 欧美 日韩 国产一区二区在线视频 | 日韩亚洲在线| 国产伦理一区| 99在线精品观看| 国产欧美一区二区精品秋霞影院| 亚洲日韩欧美一区二区在线| 国产精品露脸自拍| 亚洲精品一区二区三区樱花| 国产女主播一区二区三区| 91久久综合亚洲鲁鲁五月天| 国产精品毛片一区二区三区| 亚洲欧洲综合| 国产亚洲欧美日韩日本| 亚洲午夜小视频| 亚洲国产精品久久久久婷婷884 | 亚洲国产精品ⅴa在线观看 | 亚洲激情小视频| 国产嫩草影院久久久久| 一本色道久久综合亚洲二区三区| 国产一区欧美日韩| 亚洲欧美日韩一区二区|