《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 基于Android系統(tǒng)的智能家居控制終端研究與實(shí)現(xiàn)

基于Android系統(tǒng)的智能家居控制終端研究與實(shí)現(xiàn)

2012-12-25
作者:蒲路萍,,付蔚
來(lái)源:中電網(wǎng)

引言

近年來(lái),,智能手機(jī)在全球范圍內(nèi)迅速普及,,市場(chǎng)研究公司Gartner發(fā)布的數(shù)據(jù)顯示,,2011年前三季度,,全球智能手機(jī)銷(xiāo)量同比增長(zhǎng)超過(guò)55%,,智能手機(jī)正在占據(jù)越來(lái)越多的手機(jī)市場(chǎng)份額,;隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,,人們的生活水平提高到一個(gè)新的層次,,對(duì)生活環(huán)境的要求越來(lái)越高,正在興起的基于物聯(lián)網(wǎng)技術(shù)的智能家居使人們逐漸邁入以數(shù)字化和網(wǎng)絡(luò)化為平臺(tái)的智能化社會(huì),。

基于Android手機(jī)日益流行且系統(tǒng)開(kāi)源,,本文將Android終端與智能家居聯(lián)系起來(lái),研究并實(shí)現(xiàn)了一種基于Android系統(tǒng)的智能家居控制終端,。在系統(tǒng)中,,Android終端通過(guò)周?chē)臒o(wú)線網(wǎng)絡(luò)與智能家居中的家電設(shè)備或傳感器進(jìn)行通信,實(shí)現(xiàn)對(duì)家電設(shè)備的控制,、傳感器值的讀取以及家居安防,。

Android的系統(tǒng)架構(gòu)

Android操作系統(tǒng)自頂向下分成4個(gè)層次,即應(yīng)用層,、應(yīng)用框架層,、組件庫(kù)層、虛擬機(jī)和Linux內(nèi)核層,。如圖1所示,。

圖1 Android框架圖

應(yīng)用層:Android操作系統(tǒng)同一系列核心應(yīng)用程序包一起發(fā)布,,其核心應(yīng)用程序包括E-mail客戶端、SMS(短信)序,、日歷,、Google地圖、網(wǎng)頁(yè)瀏覽器,、聯(lián)系薄等,,目前所有的應(yīng)用都是使用Java語(yǔ)言編寫(xiě)的。

應(yīng)用框架層:開(kāi)發(fā)者通過(guò)使用核心應(yīng)用程序來(lái)調(diào)用Android框架提供的API,,這個(gè)應(yīng)用程序結(jié)構(gòu)被設(shè)計(jì)成方便復(fù)用的組件,。任何的應(yīng)用程序都可以公布它的功能,其他的應(yīng)用程序可以使用這些功能(涉及到系統(tǒng)安全問(wèn)題的功能將會(huì)被框架禁止),。該應(yīng)用程序重用機(jī)制使用戶可以方便地替換程序組件,。隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng);

組件庫(kù)層:Android包含了一套C/C++函數(shù)庫(kù),,主要包括libc,、Media Framework、WebKit,、SGL,、OpenGLES、FreeType,、SQLite等,,它們被應(yīng)用于Android系統(tǒng)的各種組件中,這些功能通過(guò)Android應(yīng)用框架展現(xiàn)給開(kāi)發(fā)人員,;

運(yùn)行時(shí)環(huán)境:Android包括了一個(gè)核心庫(kù),,該核心庫(kù)提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,,擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例,。Dalvik被設(shè)計(jì)成可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。Dalvik虛擬機(jī)執(zhí)行后綴為dex的可執(zhí)行文件,,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化,。同時(shí)虛擬機(jī)是基于寄存器的,所有的類(lèi)都經(jīng)由Java編譯器編譯,,然后通過(guò)SD中的“dx”工具轉(zhuǎn)化成“.dex”格式,。Dalvik虛擬機(jī)依賴于Linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制,;

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

Android終端的具體設(shè)計(jì)

智能家居總體框架

Android終端可以通過(guò)網(wǎng)絡(luò)(3G,、WiFi或藍(lán)牙)與家電,、傳感器和安防設(shè)備進(jìn)行通信。在外時(shí),通過(guò)3G來(lái)操作,;在家時(shí),用WiFi或藍(lán)牙來(lái)操作,,可以節(jié)省3G流量。如圖2所示,。

圖2 智能家居的系統(tǒng)架構(gòu)

該系統(tǒng)主要包括:綜合安防,、家電控制,、節(jié)能管理,、健康檢測(cè)、舒適控制等,。本文主要研究Android終端對(duì)以上幾個(gè)部分的管理和控制,。Android終端如要管理和控制設(shè)備,需要發(fā)送一個(gè)控制命令給社區(qū)服務(wù)器,,以便社區(qū)服務(wù)器知道手機(jī)的IP地址,,才能夠與社區(qū)服務(wù)器進(jìn)行建立連接并進(jìn)行通信。

Android終端的模塊劃分

系統(tǒng)中的Android終端部分設(shè)計(jì),,模塊劃分如圖3所示,。

圖3 Android終端模塊劃分

家電控制:用戶進(jìn)入家電控制界面,聯(lián)網(wǎng)后就可以對(duì)家電進(jìn)行控制(比如電燈,、電視,、空調(diào)等)。Android設(shè)備發(fā)送控制信號(hào)給社區(qū)服務(wù)器,,社區(qū)服務(wù)器將控制信號(hào)發(fā)給家庭無(wú)線物聯(lián)網(wǎng)網(wǎng)關(guān),,再根據(jù)是否是紅外設(shè)備進(jìn)行分類(lèi),如果是紅外設(shè)備,,就將控制信號(hào)發(fā)給紅外家電控制器,,紅外家電控制器再根據(jù)不同的家電控制命令分別控制不同的設(shè)備,如果是非紅外設(shè)備,,家庭無(wú)線物聯(lián)網(wǎng)網(wǎng)關(guān)直接將控制命令發(fā)給相應(yīng)的家電設(shè)備進(jìn)行控制,。如圖4所示。

圖4 家電控制

視頻監(jiān)控:進(jìn)入視頻監(jiān)控界面,,可以選中不同的攝像頭進(jìn)行查看,,包括客廳,、臥室以及室外,可以通過(guò)攝像頭對(duì)家居內(nèi)或家居外進(jìn)行視頻監(jiān)控,;

智能醫(yī)療:當(dāng)家里有人在檢測(cè)心跳脈搏時(shí),,會(huì)將檢測(cè)結(jié)果發(fā)送到Android終端上顯示,實(shí)時(shí)關(guān)注家人的健康狀況,;當(dāng)家里有老人或小孩跌倒時(shí),,通過(guò)智能家居服務(wù)器將報(bào)警信息發(fā)送至監(jiān)護(hù)人的Android終端上顯示。當(dāng)Android終端收到報(bào)警信息后,,Android終端首先會(huì)在當(dāng)前所在的界面上進(jìn)行彈窗提示“用戶跌倒”,,提示人們家里的老人發(fā)生了跌倒,可以通過(guò)Android終端查看安裝在家里的攝像頭,,查看老人的情況,,以便做出相應(yīng)的處理。Android設(shè)備的彈窗提示界面和監(jiān)控界面查看情況見(jiàn)圖5所示,。

圖5 (a) 報(bào)警彈窗提示 圖5 (b) 報(bào)警查看結(jié)果

能耗監(jiān)控:為了節(jié)能,,Android可以對(duì)大功率電器(電視、空調(diào),、冰箱等)進(jìn)行管理,,查看電器的用電情況(如用電時(shí)間、功率以及費(fèi)用等),;

安防管理:該系統(tǒng)中有安防設(shè)備(如窗磁,、門(mén)磁紅外等)。當(dāng)外出時(shí)將安防設(shè)備打開(kāi),,如有人闖入,,就會(huì)發(fā)送報(bào)警信息到Android終端,通過(guò)攝像頭可以查看家里的狀況,,如果只是誤報(bào)或沒(méi)有真正的入侵者,,通過(guò)Android終端可以將安防設(shè)備重置;如有意外也可以方便用戶及時(shí)做出相應(yīng)的處理,;

數(shù)據(jù)接收和發(fā)送:該系統(tǒng)中的溫度,、濕度、煙霧等傳感器的值通過(guò)家庭無(wú)線物聯(lián)網(wǎng)網(wǎng)關(guān)發(fā)送給社區(qū)服務(wù)器,,社區(qū)服務(wù)器再將數(shù)據(jù)發(fā)送到Android終端并進(jìn)行顯示,。如果家里發(fā)生火災(zāi)或煤氣泄漏等其它意外事故時(shí),通過(guò)Android終端顯示的傳感器的值也可以直接看出,,以便及時(shí)作出相應(yīng)的處理,。

網(wǎng)絡(luò)數(shù)據(jù)下載:當(dāng)進(jìn)入電視預(yù)告界面時(shí),可以在下拉框中選擇不同的地點(diǎn),,比如選擇重慶,、北京或者上海等,,就會(huì)從網(wǎng)絡(luò)上下載相應(yīng)的不同地點(diǎn)的電視節(jié)目預(yù)告,顯示在界面中,,以方便用戶及時(shí)觀看電視節(jié)目,。

Android終端的流程圖

用戶首次進(jìn)入該應(yīng)用程序需要進(jìn)行注冊(cè),然后登陸進(jìn)入到控制界面,。系統(tǒng)總體流程圖如6所示,。

圖6 系統(tǒng)總體流程

測(cè)試驗(yàn)證

當(dāng)進(jìn)入該軟件的控制界面中,可以對(duì)電視,、空調(diào),、電燈以及風(fēng)扇等家電設(shè)備進(jìn)行控制;接收溫度,、濕度,、煙霧等傳感器的值,并將其顯示在界面上,,管理大功率電器的用電,;如果家人在檢測(cè)心跳、脈搏等,,智能醫(yī)療界面可以查看檢測(cè)的值,,以便實(shí)時(shí)監(jiān)測(cè)家人的健康,,如果家里有老人跌倒,,也會(huì)將跌倒信號(hào)發(fā)送到Android終端上;當(dāng)離家時(shí),,開(kāi)啟安防設(shè)備后,,家中的窗磁、門(mén)磁,、紅外等安防設(shè)備開(kāi)始工作,,當(dāng)有人闖入時(shí),就會(huì)將報(bào)警信息發(fā)送到Android終端上顯示以提醒用戶,,并可以通過(guò)攝像頭查看家里的情況,;同時(shí)當(dāng)用戶有需求需要查看電視節(jié)目預(yù)告時(shí),也可以通過(guò)節(jié)目預(yù)告功能,,對(duì)各個(gè)電臺(tái)的電視節(jié)目預(yù)告進(jìn)行查看,,以便及時(shí)觀看自己喜歡的節(jié)目。如圖7所示,。

圖7 測(cè)試結(jié)果

結(jié)束語(yǔ)

隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,,智能家居也越來(lái)越受到更多的人關(guān)注。本文實(shí)現(xiàn)Android手機(jī)和平板作為智能家居的一個(gè)控制終端,,對(duì)家電的控制,、傳感器值的接收以及視頻的監(jiān)控,;并在Android系統(tǒng)的不同版本或分辨率的終端下運(yùn)行正常。

作者信息:重慶郵電大學(xué) 工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室

本文為中電網(wǎng)及《世界電子元器件》雜志版權(quán)所有,,如轉(zhuǎn)載請(qǐng)務(wù)必注明出處,。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。