劉 洋, 楊保亮, 楊守良, 項靖媛
(重慶文理學(xué)院 電子電氣工程學(xué)院,重慶 402160)
基于Android平臺的智能家居系統(tǒng)設(shè)計與實現(xiàn)*
劉 洋, 楊保亮, 楊守良, 項靖媛
(重慶文理學(xué)院 電子電氣工程學(xué)院,重慶 402160)
各式各樣高科技產(chǎn)品顛覆了人類傳統(tǒng)的生活方式,結(jié)合嵌入式技術(shù)和物聯(lián)網(wǎng)技術(shù)的新型智能家居給了人們一種舒適、安全、高效的居住環(huán)境。本文提出了一種以嵌入式處理器為核心,以Android平臺為控制終端,以無線網(wǎng)絡(luò)通信技術(shù)為媒介的新型智能家居系統(tǒng)。以Linux和ARM處理器4412構(gòu)成服務(wù)器可以對Android平臺的各種命令進(jìn)行解析,然后通過無線網(wǎng)絡(luò)對智能家居的各種對象進(jìn)行實時監(jiān)控。實踐證明,該方案設(shè)計合理,數(shù)據(jù)傳輸穩(wěn)定,具有一定的市場價值和理論研究價值。
Android;智能家居;ARM;服務(wù)器
智能家居以住宅為平臺,利用先進(jìn)的計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)、綜合布線技術(shù)和無線技術(shù),將與家居生活有關(guān)的各種子系統(tǒng)有機結(jié)合在一起,目的是使家居生活更加智能化、信息化、人性化和節(jié)能化,核心目標(biāo)是提升家居生活的質(zhì)量[1]。在智能家居控制系統(tǒng)中,核心設(shè)備是家居控制終端。國內(nèi)外學(xué)者已經(jīng)給出了基于鍵盤或紅外遙控器、家庭或辦公電腦、智能手機作為家居控制終端的3類解決方案[2]。第一種方案是目前比較流行的遙控方式,但是遙控距離不能做得很遠(yuǎn),同時不能把電機的信息通過遙控器顯示出來。第二種方案輕松解決了遙控器方案的缺點,但是由于計算機的體積龐大,重量大,不能做到靈活移動,最重要的是實時性受到很大的限制[3]。第三種方案是基于Android 的手機和平板電腦的廣泛應(yīng)用,可以使用手機或平板電腦作為智能家居的控制終端,使用無線網(wǎng)絡(luò)(WiFi,GSM( Global System for Mobile Communication) 等) 對智能家居系統(tǒng)進(jìn)行控制,可真正實現(xiàn)方便、遠(yuǎn)程控制家用電器,給用戶帶來更好的體驗,以達(dá)到提升家居質(zhì)量的目標(biāo)[4-5]。本文利用現(xiàn)在廣泛使用的安卓智能手機等終端設(shè)備設(shè)計了一套新型的智能家居控制系統(tǒng),同時對窗簾控制部分和智能感應(yīng)部分進(jìn)行硬件設(shè)計和測試,通過實踐證明,該系統(tǒng)運行穩(wěn)定,成本低廉,手機控制端能及時地發(fā)送各種命令控制各種電器,同時通過手機的監(jiān)控器可以隨時監(jiān)控家里的各種信息,真正做到了互聯(lián)網(wǎng)時代的雙向互聯(lián)。
圖1 智能家居系統(tǒng)結(jié)構(gòu)示意圖
基于Android手機控制智能家居系統(tǒng),主要由Android手機客戶控制端、ARM服務(wù)器、各種控制電器和數(shù)據(jù)采集部分等組成,系統(tǒng)結(jié)構(gòu)如圖1所示。其中手機控制終端主要用于發(fā)送各種電器的控制命令和監(jiān)視各個電器的工作狀態(tài),ARM服務(wù)器負(fù)責(zé)接收手機控制端送來的命令并進(jìn)行解析,然后根據(jù)協(xié)議把手機的控制命令通過無線模塊傳到各個電器控制端,同時可以接收各個電器控制端的數(shù)據(jù)并按照一定的協(xié)議發(fā)送給手機客戶端。終端設(shè)備的控制器采用宏晶公司生產(chǎn)的IAP15F2K62S2單片機為主控器,接收ARM服務(wù)器送來的命令進(jìn)行操作,例如控制窗簾的電機進(jìn)行動作等。數(shù)據(jù)采集部分主要采集房間內(nèi)各種信息,主要有攝像頭監(jiān)控、溫濕度數(shù)據(jù)采集、有毒氣體的采集等,數(shù)據(jù)采集端也是采用STC單片機控制,把采集得到的數(shù)據(jù)及時通過服務(wù)器傳到手機控制終端,讓用戶觀察。整個系統(tǒng)中采用了兩種無線通信方式,減少了有線通信方式的布線難題,安裝簡單,同時減少了整個系統(tǒng)的造價成本,便于以后的推廣。
圖2 系統(tǒng)電源電路圖
2.1 單片機最小系統(tǒng)的設(shè)計
IAP15F2K62S2系列單片機是STC生產(chǎn)的單時鐘/機器周期 (1T)的單片機 ,是高速、高可靠、低功耗、超強抗干擾的新一代8051單片機, 采用第八代加密技術(shù),加密性超強, 指令代碼完全兼容傳統(tǒng)8051,但速度可提高8~12倍 。內(nèi)部集成高精度R/C時鐘,5 MHz~35 MHz寬范圍可設(shè)置,可徹底省掉外部昂貴的晶振和外部復(fù)位電路。3路CCP/PWM/PCA,8路高速10 位A/D轉(zhuǎn)換, 內(nèi)置2 KB大容量 SRAM,2組高速異步串行通信端口,1組高速同步串行通信端口SPI,可應(yīng)用于多串行口通信/電機控制/強干擾場合。在設(shè)計單片機最小系統(tǒng)時,關(guān)鍵要把電源電路和下載電路設(shè)計好,晶振和復(fù)位電路可以不設(shè)計。由于外部電路采用24 V的開關(guān)電源供電,而單片機需要5 V的電源電路,因此采用LM2576兩級穩(wěn)壓構(gòu)成,為了控制電源的質(zhì)量,使用電容進(jìn)行濾波處理,其電源電路圖如圖2所示。下載電路采用CH340T芯片進(jìn)行設(shè)計,因為在STC單片機中串口可以用來進(jìn)行程序的下載,給設(shè)計帶來很大的便利。
2.2 窗簾驅(qū)動電路的設(shè)計
在智能家居系統(tǒng)中,智能窗簾是不可缺少的部分,也是智能家居中安防系統(tǒng)的主要元素。智能窗簾的執(zhí)行結(jié)構(gòu)主要由電機組成,系統(tǒng)的主電源是24 V的直流電,在電機的設(shè)計過程中也是采用24 V的直流電機。智能窗簾的控制系統(tǒng)要實現(xiàn)電機的升降控制,電機的控制系統(tǒng)是可逆調(diào)速系統(tǒng),這里選用37GB555微型直流減速電機,電機驅(qū)動電路配保險絲,帶反接保護(hù),電流過大保險絲會燒斷。持續(xù)最大電流5 A,過載保護(hù)電流10 A,短路時間不超過30 s。驅(qū)動板采用原裝進(jìn)口芯片,濾波電容采用獨石電容,電路穩(wěn)定可靠。該驅(qū)動系統(tǒng)采用驅(qū)動芯片+MOSFET的驅(qū)動模式,驅(qū)動芯片選用美國IR公司生產(chǎn)的IR2110驅(qū)動器,兼有光耦隔離和電磁隔離的優(yōu)點,場效應(yīng)管選擇了原裝進(jìn)口的IRF540NS,其中窗簾驅(qū)動部分的主要電路圖如圖3所示。
3.1 手機客戶端
手機客戶端是在安卓操作系統(tǒng)之上開發(fā)的一款簡單實用的APP,可以方便用戶在手機上進(jìn)行智能家居的控制和監(jiān)控??蛻舳酥饕婕暗脚c用戶進(jìn)行交互的操作界面和登錄成功后各種電器的控制程序和監(jiān)控數(shù)據(jù)的顯示等,交互界面包含登錄界面、注冊界面和操作界面。系統(tǒng)采用安卓交互式圖像界面,界面直接美觀、個性化強,給用戶提供一種良好的用戶體驗感。登錄界面采用多個線性布局和相對布局相互嵌套進(jìn)行布局,在布局控件之中還加入一些其他的控件,比如用于用戶輸入用戶名、密碼和服務(wù)器IP的EditText對話框。登錄成功后會進(jìn)入一個操作界面,在界面中對所有的家用電器進(jìn)行編碼后通過對應(yīng)的控件顯示出來,直觀明了,達(dá)到了用戶所見即所用。用戶進(jìn)入該界面后可以點擊對應(yīng)家用電器的控制按鈕,此時會通過無線WiFi將用戶的需求發(fā)送給家用電器處理服務(wù)器,最終達(dá)到用戶控制家用電器的目的。程序會根據(jù)用戶的操作對象顯示出相應(yīng)操作的設(shè)備以及設(shè)備的狀態(tài)信息。手機客戶端軟件設(shè)計的框圖和手機實際的界面如圖4、圖5所示。
圖3 窗簾驅(qū)動電路圖
圖4 手機客戶端軟件設(shè)計的框圖
圖5 手機客戶端軟件設(shè)計界面
3.2 服務(wù)器軟件設(shè)計
3.2.1 服務(wù)器主程序
在智能家居控制系統(tǒng)中手機客戶端與家庭信息處理服務(wù)器采用C/S(客戶端/服務(wù)器)軟件結(jié)構(gòu)。這種結(jié)構(gòu)將系統(tǒng)任務(wù)分配給一個服務(wù)器和多個客戶端。服務(wù)器對數(shù)據(jù)進(jìn)行分析管理,客戶端為用戶提供服務(wù);客戶端處理界面請求并向服務(wù)器發(fā)送請求,服務(wù)器收到客戶端的請求內(nèi)容后會返回給客戶端實現(xiàn)兩者的交互;兩者分別發(fā)揮各自優(yōu)勢相互配合緊密合作。采用C/S點對點的結(jié)構(gòu)模式,安全性可以得到提高,增強人機交互能力。智能家居ARM服務(wù)器流程圖如圖6所示。
3.2.2 設(shè)備編碼
在程序編寫之前對家用電器進(jìn)行編碼處理,確保編碼好的數(shù)據(jù)在解析過程中不會出現(xiàn)歧義或者無法解碼的情況。在編碼過程中為了保證設(shè)備和編碼的唯一性和準(zhǔn)確性,采用JSON格式對數(shù)據(jù)進(jìn)行編碼處理和解碼處理。JSON是一種數(shù)據(jù)交換格式,交互更加方便靈活。表1給出了設(shè)備的編碼規(guī)則。
3.2.3 傳輸協(xié)議和Socket通信
針對智能家居系統(tǒng),目前比較常用的傳輸協(xié)議為TCP協(xié)議和UDP協(xié)議。UDP是一種非面向連接的傳輸層協(xié)議,無法了解接收端是否正確接收完成數(shù)據(jù),但其傳輸速率高,資源消耗小,適合一次傳輸較少的應(yīng)用環(huán)境。TCP是一種面向連接的傳輸控制協(xié)議,其傳輸包括建立連接、傳輸數(shù)據(jù)、釋放連接三個過程,可提供端到端的全雙工傳輸?shù)耐ㄐ欧绞絒6]。
Socket通信包含了面向連接的Socket通信和無連接的Socket通信,由于本文采用TCP協(xié)議,所以選擇的是面向連接的Socket通信。首先要啟動服務(wù)器,通過Socket()函數(shù)調(diào)用Socket對象;綁定服務(wù)器的IP地址和端口號。其次通過Bind()函數(shù)綁定本地網(wǎng)絡(luò)IP地址和Socket對象。然后調(diào)用listen()函數(shù)使Socket對象處于偵聽狀態(tài)。服務(wù)器端調(diào)用accept()函數(shù)設(shè)置一個阻塞,等待客戶端的數(shù)據(jù)。若IP及端口號與服務(wù)器端匹配則可以調(diào)用write()函數(shù)向輸入流寫入數(shù)據(jù),此時客戶端只需要等待服務(wù)器寫入數(shù)據(jù)即可。服務(wù)器和客戶端的Socket通信流程如圖7所示。
表1 設(shè)備編碼表
圖7 Socket通信流程圖
在研究目前智能家居存在問題的基礎(chǔ)上,提出了一種新的智能家居控制系統(tǒng)。該系統(tǒng)通過隨身攜帶的Android智能手機等終端作為家用電器的移動控制服務(wù)器,可以隨時隨地對家里的各種狀態(tài)進(jìn)行檢測和控制。手機界面采用圖片方式,操作簡單易用,避免了文字操作的繁瑣和枯燥,在數(shù)據(jù)通信方面,硬件上采用無線WiFi降低設(shè)備的成本和安裝的便捷性,軟件上選擇Socket通信,使得軟件的開發(fā)周期縮短。實踐證明該系統(tǒng)簡單易行,具有一定的推廣價值。
[1] 董立巖,隋鵬,辛?xí)匀A,等. 基于Android 的智能家居終端控制系統(tǒng)[J].吉林大學(xué)學(xué)報( 信息科學(xué)版),2014.32(3):303-306.
[2] 劉建華,田歲苗,趙勇. 基Android的智能家居系統(tǒng)設(shè)計[J].西安郵電大學(xué)學(xué)報,2013,18(4):71-74.
[3] 王朝華,陳德艷,黃國宏,等. 基于Android 的智能家居系統(tǒng)的研究與實現(xiàn)[J]. 計算機技術(shù)與發(fā)展,2012,22( 6):226-228.
[4] 彭建盛.基于Symbian 平臺智能家居控制系統(tǒng)的設(shè)計與實現(xiàn)[J].天津師范大學(xué)學(xué)報: 自然科學(xué)版,2011,31(2):56-58.
[5] 邵鵬飛,王喆,張寶儒. 面向移動互聯(lián)網(wǎng)的智能家居系統(tǒng)研究[J].計算機測量與控制,2012,20( 2):474-476.
[6] 周時偉,謝維波,基于Android的智能家居終端設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2012, 31(14):10-13.
Intelligent home furnishing system based on Android platform
Liu Yang,Yang Baoliang, Yang Shouliang,Xiang Jingyuan
(School of Electronics Engineering, Chongqing University of Arts and Sciences, Chongqing 402160, China)
All kinds of high-tech electrical appliance are subverting the traditional way of life of people. Combined with embedded technology and IoT technology, the new intelligent home furnishing give us a comfortable, safe and efficient living environment. This paper presents a scheme of the new intelligent home furnishing, which uses an embedded processor as the core of system, with the Android platform for the control terminal and wireless network communication technology as a medium. The instrument constituted 4412 Linux and ARM processor server can analyze a variety of command send by the Android platform, and it can monitor intelligent home furnishing through the wireless network. The experiment proved that the system with stable data transmission is reasonable, which has enormous market value and theoretical research value.
Android; intelligent home furnishing; ARM; servicer
重慶文理學(xué)院學(xué)生科研項目(XSKY2014062)
TP319
A
1674- 7720(2016)03- 0088- 04
劉洋,楊保亮,楊守良,等. 基于Android平臺的智能家居系統(tǒng)設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2016,35(3):88- 91.
2015-10-08)
劉洋(1992-),男,本科,助教,主要研究方向:嵌入式安卓程序設(shè)計。
楊保亮(1979-),男,碩士,講師,主要研究方向:嵌入式開發(fā)。