李元元
(上海電子信息職業(yè)技術(shù)學(xué)院,上海 201411)
智能家居是以住宅為平臺,利用綜合布線技術(shù)集成各種家居生活設(shè)施,構(gòu)建高效的住宅設(shè)施與家庭事務(wù)的管理系統(tǒng),與傳統(tǒng)意義上的家居相比,智能家居提供了全方位的信息交換功能,幫助家庭與外部保持信息交流暢通。隨著信息化技術(shù)的發(fā)展,采用高性能嵌入式芯片作為硬件、以Android作開發(fā)平臺的系統(tǒng)模式被逐漸開始應(yīng)用于各類智能家居系統(tǒng)。
Android是由Google主導(dǎo)的開放手機聯(lián)盟于2007年發(fā)布的基于Linux的開源手機平臺,在最初是為智能手機終端打造的操作系統(tǒng)。在2011年,Google正式提出了Android@Home計劃,通過Android設(shè)備來實現(xiàn)家居安全布防、并實現(xiàn)對各種家用電器的自動控制。隨著Android系統(tǒng)的發(fā)展,它已經(jīng)不僅僅是一個移動設(shè)備的平臺,未來將廣泛應(yīng)用于消費類電子和智能家居設(shè)備。 Android平臺具備系統(tǒng)的開放性,應(yīng)用上的無界限性,開發(fā)的快速性等優(yōu)點,將是未來具有廣泛應(yīng)用的智能家居系統(tǒng)平臺。
安全防范系統(tǒng)是智能家居系統(tǒng)中非常重要的組成部分,在小區(qū)及戶內(nèi)可視對講、家庭監(jiān)控、家庭防盜報警、與家庭有關(guān)的小區(qū)一卡通等領(lǐng)域都有廣泛應(yīng)用。與傳統(tǒng)安防系統(tǒng)相比,智能家居安防系統(tǒng)利用現(xiàn)代化的信息技術(shù),具有如下的優(yōu)勢:
1)對報警信息實現(xiàn)快速傳輸。
2)對報警信息實現(xiàn)大容量存儲。
3)對報警信息實現(xiàn)智能反饋控制。
4)利用信息技術(shù),實現(xiàn)對報警系統(tǒng)的遠程控制。
故使用智能家居安防增強了家居生活的安全性,將是未來安防技術(shù)的必然發(fā)展趨勢。
基于Android平臺的智能家居安防系統(tǒng)使用傳感器檢測報警信號,可同時控制喇叭輸出報警聲音、驅(qū)動LED燈發(fā)光、使用3G語音模塊撥打報警電話和發(fā)送報警消息、使用Wifi網(wǎng)卡對外傳輸報警信息。這樣可以通過Android系統(tǒng)平臺輸出各種不同的報警信息,并通過通信技術(shù)實現(xiàn)報警信息的遠程異地傳輸,使得人們對報警信息作出更快的反應(yīng),極大的提升了安防系統(tǒng)的應(yīng)用價值。
基于Android平臺的智能家居安防系統(tǒng)硬件平臺采用高性能的ARM Cortex A8 處理器芯片,并連接7寸TFT觸摸屏,采用基于Goldfish內(nèi)核的Android 2.3系統(tǒng)平臺。主控中央系統(tǒng)通過內(nèi)置串口連接傳感器、報警器、3G語音模塊、Wifi無線網(wǎng)卡等外設(shè)硬件。
Android平臺的系統(tǒng)框架如圖1所示,從高到低可分為應(yīng)用程序、用戶空間、內(nèi)核空間和硬件系統(tǒng)4個層次。智能家居安防系統(tǒng)控制軟件處于最高的應(yīng)用程序?qū)?,故在進行軟件開發(fā)之前,需要移植相關(guān)硬件設(shè)備的Linux內(nèi)核驅(qū)動到Android系統(tǒng)中。在智能家居安防系統(tǒng)中,需要移植的設(shè)備驅(qū)動包含顯示、輸入、電話、傳感器、攝像頭、音頻播放、指示燈、電池等外設(shè)硬件。在軟件系統(tǒng)開發(fā)過程中,只需要調(diào)用用戶空間的Java框架和Android框架,并不需要直接訪問硬件設(shè)備。
圖1 Android平臺系統(tǒng)框架
圖2 軟件系統(tǒng)架構(gòu)圖
智能家居安防系統(tǒng)軟件可分為用戶界面單位、中央控制單位、傳感器模塊、報警模塊、語音模塊和數(shù)據(jù)傳輸模塊。軟件系統(tǒng)架構(gòu)如圖2所示。
用戶界面單元提供人機交互的界面,主要包括登陸界面和布控設(shè)置界面。登陸界面提供用戶身份信息的輸入并進行驗證,驗證通過可進入布控設(shè)置界面,用戶身份信息可存儲于Android內(nèi)置的SQLite數(shù)據(jù)庫系統(tǒng)中。布控設(shè)置界面可以設(shè)置系統(tǒng)布控方式、傳感器靈敏度、報警電話號碼、報警短信號碼和報警音頻文件等參數(shù)。
布控方式可以為即時布控(立即啟動報警布控)或定時布控(在某個時間布控),定時布控的時間可以設(shè)定在每天睡覺和上班的時間。若采用即時布控,則立即啟動中央控制單元。若為定時布控,則需要使用Android系統(tǒng)的鬧鐘管理器設(shè)置一個鬧鐘實現(xiàn),并設(shè)定一個類(設(shè)為TestReceiver)繼承BroadcastRecever類,作為鬧鐘接受程序用于啟動中央控制單元。具體代碼如下:
中央控制單位負(fù)責(zé)開啟或關(guān)閉布控,收集和處理傳感器的信息,控制報警模塊報警,控制語音模塊撥打報警電話,使用數(shù)據(jù)傳輸模塊與遠程終端之間雙向進行通信。
中央控制單位首先根據(jù)用戶界面單元或數(shù)據(jù)傳輸模塊的信息確定是否開啟布控方式,只要布控方式開啟,即調(diào)用中央控制單元處理程序。中央控制單元處理程序首先調(diào)用傳感器模塊注冊傳感器,然后啟動一個線程處理傳感器模塊傳遞的傳感器數(shù)據(jù)。若傳感器數(shù)據(jù)達到某個閥值而報警裝置尚未啟動,則立即啟動報警模塊和語音模塊。
在智能家居安防系統(tǒng)中使用的傳感器主要為光傳感器和壓力傳感器,傳感器模塊的軟件工作流程包括傳感器檢測、傳感器事件獲取、傳感器數(shù)據(jù)獲取。
檢測傳感器可使用SensorManager對象,它可返回一個可用傳感器對象列表,并可注冊程序中需要使用的傳感器。在使用SensorManager對象注冊傳感器時,需要設(shè)定合適靈敏度,過高的靈敏度會加大系統(tǒng)負(fù)荷并出現(xiàn)誤警現(xiàn)象,在智能家居安防系統(tǒng)中一般選擇中等靈敏度。傳感器事件監(jiān)聽可通過繼承SensorEventListener接口實現(xiàn),當(dāng)傳感器檢測的信息發(fā)生變化即可觸發(fā)SensorEvent事件??赏ㄟ^SensorEvent事件的onSensorChanged方法獲得傳感器數(shù)據(jù),并將傳感器數(shù)據(jù)傳遞給中央控制單元進行解釋,主要代碼如下:
可以在Android系統(tǒng)中事先錄制報警音頻文件(mp3)并存儲與SD卡上,出現(xiàn)告警時直接播放音頻文件實現(xiàn)報警,音頻播放可使用MediaPlayer類實現(xiàn),主要代碼如下:
另外為了加強報警裝置的使用效果,還可以使用Android系統(tǒng)的光源接口控制LED發(fā)光設(shè)備在報警裝置啟動的同時發(fā)光,主要代碼如下:
語音模塊的功能是當(dāng)存在告警信息時,通過Android系統(tǒng)內(nèi)置電話模塊硬件接口,可實現(xiàn)智能撥打報警電話,并同步發(fā)送報警短消息。
為了使應(yīng)用程序直接實現(xiàn)撥出電話和發(fā)送短信,需要在AndroidManifest.xml設(shè)置撥號權(quán)限android.permission.CALL_PHONE和短信發(fā)送權(quán)限android.permission.SEND_SMS。然后在應(yīng)用程序中通過Intent調(diào)用Dialer應(yīng)用程序?qū)崿F(xiàn)電話撥打,代碼如下:
對于短信發(fā)送,可以使用SmsManager類的sendTextMessage方法實現(xiàn)。
數(shù)據(jù)傳輸模塊用于中央控制單元與遠程終端之間的通信,用戶可使用自身的智能手機作為智能終端,遠程實現(xiàn)對智能家居安防系統(tǒng)的布控設(shè)置。
數(shù)據(jù)傳輸模塊需要啟動一個線程,用于接收接收遠程終端傳輸?shù)牟伎卦O(shè)置數(shù)據(jù)。布控參數(shù)與用戶界面模塊的設(shè)置參數(shù)基本相同,采用xml文檔包裝數(shù)據(jù),數(shù)據(jù)傳輸模塊與遠程終端之間的通信使用面向連接的Socket套接字技術(shù)實現(xiàn)。
本文對基于Android平臺的智能家居安防系統(tǒng)進行了詳細(xì)的分析與設(shè)計并最終實現(xiàn),系統(tǒng)設(shè)計具有如下優(yōu)點:
1)基于開源Android平臺的開發(fā),系統(tǒng)可運行于各種Android設(shè)備上,系統(tǒng)運行成本較低。
2)系統(tǒng)利用信息化技術(shù)構(gòu)建了報警信息遠程傳輸體系,體現(xiàn)了智能視頻監(jiān)控系統(tǒng)的最新發(fā)展方向。
3)軟件設(shè)計時采用了模塊化設(shè)計思想,系統(tǒng)具有較好的邏輯性,充分考慮到以后的移植、維護和擴展。
[1]沈華東,周義,張坤.基于GSM網(wǎng)絡(luò)的柔性制造車間安防報警系統(tǒng)設(shè)計[J].機械設(shè)計與制造,2009,8(8):252-253.
[2]管鳳旭,徐冉,楊偉.基于WinCE和GPRS的安防報警系統(tǒng)設(shè)計[J].實驗技術(shù)與管理,2009,11(26): 45-48.
[3]夏繼媛,馮明發(fā).網(wǎng)絡(luò)化智能家居控制系統(tǒng)中安防報警功能的設(shè)計[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報,2005,(1):40-42.