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