基于Android系統(tǒng)的智能家居控制終端研究與實現
引言
本文引用地址:http://m.butianyuan.cn/article/148167.htm近年來,智能手機在全球范圍內迅速普及,市場研究公司Gartner發(fā)布的數據顯示,2011年前三季度,全球智能手機銷量同比增長超過55%,智能手機正在占據越來越多的手機市場份額;隨著社會經濟的快速發(fā)展,人們的生活水平提高到一個新的層次,對生活環(huán)境的要求越來越高,正在興起的基于物聯網技術的智能家使人們逐漸邁入以數字化和網絡化為平臺的智能化社會。
基于Android手機日益流行且系統(tǒng)開源,本文將Android終端與智能家居聯系起來,研究并實現了一種基于Android系統(tǒng)的智能家居控制終端。在系統(tǒng)中,Android終端通過周圍的無線網絡與智能家居中的家電設備或傳感器進行通信,實現對家電設備的控制、傳感器值的讀取以及家居安防。
Android的系統(tǒng)架構
Android操作系統(tǒng)自頂向下分成4個層次,即應用層、應用框架層、組件庫層、虛擬機和Linux內核層。如圖1所示。
圖1 Android框架圖
應用層:Android操作系統(tǒng)同一系列核心應用程序包一起發(fā)布,其核心應用程序包括E-mail客戶端、SMS(短信)序、日歷、Google地圖、網頁瀏覽器、聯系薄等,目前所有的應用都是使用Java語言編寫的。
應用框架層:開發(fā)者通過使用核心應用程序來調用Android框架提供的API,這個應用程序結構被設計成方便復用的組件。任何的應用程序都可以公布它的功能,其他的應用程序可以使用這些功能(涉及到系統(tǒng)安全問題的功能將會被框架禁止)。該應用程序重用機制使用戶可以方便地替換程序組件。隱藏在每個應用后面的是一系列的服務和系統(tǒng);
組件庫層:Android包含了一套C/C++函數庫,主要包括libc、Media Framework、WebKit、SGL、OpenGLES、FreeType、SQLite等,它們被應用于Android系統(tǒng)的各種組件中,這些功能通過Android應用框架展現給開發(fā)人員;
運行時環(huán)境:Android包括了一個核心庫,該核心庫提供了Java編程語言核心庫的大多數功能。每一個Android應用程序都在它自己的進程中運行,擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成可以同時高效地運行多個虛擬系統(tǒng)。Dalvik虛擬機執(zhí)行后綴為dex的可執(zhí)行文件,該格式文件針對小內存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有的類都經由Java編譯器編譯,然后通過SD中的“dx”工具轉化成“.dex”格式。Dalvik虛擬機依賴于Linux內核的一些功能,比如線程機制和底層內存管理機制;
Linux內核層:Android底層是一個基于Linux2.6.23內核開發(fā)的獨立操作系統(tǒng)。主要是添加了一個名為Goldfish的虛擬CPU以及Android運行所需的特定驅動代碼。該層用來提供系統(tǒng)的底層服務,包括安全機制、內存管理、進程管理、網絡堆棧及一系列的驅動模塊。作為一個虛擬的中間層,該層位于硬件與其他的軟件層之間。
Android終端的具體設計
智能家居總體框架
Android終端可以通過網絡(3G、WiFi或藍牙)與家電、傳感器和安防設備進行通信。在外時,通過3G來操作;在家時,用WiFi或藍牙來操作,可以節(jié)省3G流量。如圖2所示。
圖2 智能家居的系統(tǒng)架構
該系統(tǒng)主要包括:綜合安防、家電控制、節(jié)能管理、健康檢測、舒適控制等。本文主要研究Android終端對以上幾個部分的管理和控制。Android終端如要管理和控制設備,需要發(fā)送一個控制命令給社區(qū)服務器,以便社區(qū)服務器知道手機的IP地址,才能夠與社區(qū)服務器進行建立連接并進行通信。
Android終端的模塊劃分
系統(tǒng)中的Android終端部分設計,模塊劃分如圖3所示。
圖3 Android終端模塊劃分
家電控制:用戶進入家電控制界面,聯網后就可以對家電進行控制(比如電燈、電視、空調等)。Android設備發(fā)送控制信號給社區(qū)服務器,社區(qū)服務器將控制信號發(fā)給家庭無線物聯網網關,再根據是否是紅外設備進行分類,如果是紅外設備,就將控制信號發(fā)給紅外家電控制器,紅外家電控制器再根據不同的家電控制命令分別控制不同的設備,如果是非紅外設備,家庭無線物聯網網關直接將控制命令發(fā)給相應的家電設備進行控制。如圖4所示。
圖4 家電控制
評論