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