李 琪 ,秦會斌 ,,楊永舒 ,張 雄 ,屈力揚 ,3
(1.杭州電子科技大學 電子信息學院 浙江 杭州 310018;2.滁州市質監局 安徽 滁州 239000;3.中電科技集團第52研究所 浙江 杭州 310012)
智能家居是以住宅為平臺,利用先進的計算機技術、無線傳感網絡技術、自動控制技術、網絡通信技術,將家居生活有關設施整合,在智能家居控制系統的管理下,最終實現方便、舒適、安全的家居環境,并達到節能環保的目的。隨著智能家居的不斷發展,如何實現用戶隨時隨地遠程控制家居,并實時了解家中信息,成為目前最迫切的需求。因此,設計出一款人性化的智能家居控制終端則成為主流趨勢。
在智能家居的推廣應用中,設計出功能齊全、操作簡單的控制終端成為成敗的關鍵。在傳統的智能家居控制方式中有很多方案,如本地鍵盤控制、Web控制、電話控制、PC控制等[1]。基于本地鍵盤控制裝置,需要對控制終端進行硬件和軟件進行設計,過程復雜,對于設備的后期開發、維護成本較高,且用戶只能在家里控制,違背設計初衷“智能化”;基于Web頁面控制的智能家居是利用網絡信號,用瀏覽器建立客戶端與家具設備之間的連接,缺點是在信號不好的情況下,Web頁面刷新速度慢,工作效率低,無法處理大批量的數據;基于電話控制的智能家居通常功能很單一,無法對家中所有的設備進行控制,更不具備對家中環境實時監測的功能;基于家庭或辦公電腦作為控制終端,是通過電腦對家居設備進行本地或遠程控制,其缺點是攜帶不方便,移動性差,用戶體驗效果不好。
對于上述方案中存在的問題,設計出以Android智能手機作為家居控制終端,通過WIFI接入ARM服務器,底層利用Zigbee無線技術將被控終端組建成一個內部無線局域網,最終實現智能家居系統遠程控制。
整個系統主要由3個部分組成:遠程控制終端,ARM服務器和底層家電控制相關設備[2]。智能手機或者平板控制終端,安裝好控制程序以后,就可以通過觸摸屏和用戶進行交互。整個系統以ARM服務器為中心,客戶端通過ARM服務器與底層設備進行雙向通信。一方面,智能手機通過wifi或者其他網絡連接服務器發送相應的指令,服務器將收到的控制指令轉發給底層設備,實現手機終端和家用電器的交互;另一方面,Zigbee無線節點實時采集環境信息,并上傳到服務器,服務器對收到的數據進行處理后,將結果上傳到控制終端,并將數據顯示在終端上。此種交互,不僅可以讓住戶實時了解居住環境,而且當家里發生火災、煤氣泄露等意外事故或者家里出現小偷等情況時,可以通過Android終端顯示的傳感器的值及時了解家中情況,并作出相應的處理。系統設計構架如圖1所示。

圖1 系統總體構架圖Fig.1 Structure diagram of the smart home control system
在網絡編程方面,Android提供了很好的支持。在智能家居的應用原則中,最常用的網絡通信協議是TCP和UDP協議。針對TCP傳輸,Android提供Socket類和ServerSocket類。針對UDP傳輸,Android提供DatagramSocket類和Datagram-Package類。TCP協議是可靠的面向連接的協議,提供可信賴的字節流服務。而UDP是無連接的、不可靠的協議,只提供“盡力而為”的數據報服務。在此我們對可靠性要求比較高,因此采取雙向通信的TCP協議[3]。其中Socket通信如圖2所示。

圖2 Socket通信Fig.2 Socket communication
由于智能家居控制系統信息量小,時期短,無需較大的數據庫,所以本應用程序采用Android平臺內置的SQLite數據庫。優點是可移植性好、容易使用、很小、高效且可靠性高。
對于SQLite的操作,Android提供了 SQLiteDatabase和SQLiteOpenHelper兩個類。SQLiteOpenHelper類提供兩個方法onCreate()和onUpgrade(),對SQLite數據庫進行創建和更新,提供 getWritableDatabase()或 getReadableDatabase()方法來獲得數據庫對象。SQLiteDatabase類則提供一些方法,可以創建、刪除、執行SQL指令、完成常規的數據庫管理任務,如execSQL()可以執行SQL語句,insert()可以插入表項,update()可以更新表項等[4]。
數據庫主要存儲如下信息:用戶注冊信息,家用電器設備類型,各個設備的信息狀態(開關、溫度、濕度)等。
系統界面設計主要包括注冊登陸界面和功能區界面。功能區界面按功能劃分有家電控制、環境監測、情景模式、設置4個部分,主界面如圖3所示。

圖3 主控制界面Fig.3 The main control screen
1)家電控制選擇相應的按鈕對其進行可視化操作,如電燈、窗簾、空調、電視等;其中電視界面如下圖4所示。窗簾部分界面右側部分采用大量圖片疊加,調節過程中實現其動態效果,如下圖5所示。2)環境監測主要負責對環境信息的實時采集并顯示在終端上,用戶可及時掌握居住環境質量如何;3)情景模式功能提供白天模式、夜晚模式、離家模式、回家模式、會客模式等多種選擇,實現一鍵操控所有家居設備;4)設置功能分背景、語言、字體顏色、IP和端口四個功能。背景設置部分,此應用程序內置大量背景圖,為用戶提供多樣化選擇;語言支持英文操作,方便軟件的推廣;字體顏色方面提供常見顏色資源,更加人性化;IP和端口設置,在無需改變Android安裝包的情況下,自己輸入新的系統服務器IP和端口號即可實現遠程控制。如圖6所示。

圖4 電視控制界面Fig.4 TV control interface
ARM服務器在整個系統中作為一個橋梁,使得客戶端與底層設備進行交互。主要作用為:與客戶端實現控制指令的傳輸以及數據的傳遞;通過串口與底層zigbee協調器進行交互。

圖5 窗簾控制界面Fig.5 The curtain control interface

圖6 設置功能Fig.6 Setting function
基于嵌入式Linux操作系統提供免費的源碼開放且內核簡單,性能高、穩定,具有實時性、可裁剪性,價格便宜,支持多體系結構等優點,本文選定該操作系統作為軟件系統。
硬件部分采用 ARM9系列 Mini2440開發板,Samsung S3C2440A作為主處理器,外部擴展了 NAND Flash、DDR RAM、JTAG、按鍵等基本的功能外設和調試工具。控制系統軟件在Red Hat 4.0操作平臺上進行設計,采用C/S(客戶/服務器)模式設計。通信過程由Android客戶端發送控制指令,通過服務器傳送至Zigbee網絡;而Zigbee網絡接收到底層傳感器設備反饋的信息后,向服務器發送數據,并最終在客戶終端顯示。
Zigbee網絡層支持3種網絡拓撲結構:星形結構(star)、簇狀結構(Cluster tree)和網狀結構(Mesh)。Zigbee 典型的傳輸數據類型有周期性的傳感器數據采集、間歇性的家庭自動化控制數據,網絡中數據傳輸量不大,因此簡單的星形網絡就可以保證數據通信[5]。
星形拓撲結構核心是網絡協調器和網絡終端節點,系統結構如下圖7所示。
協調器主要用戶建立無線網絡,分配Zigbee終端節點的網絡地址,向終端節點發送控制指令和接受來自子節點的環境信息,并將收到的數據通過服務器上傳到終端并實時顯示。
各終端節點用戶采集檢測信息并發送給網絡協調器,并接受來客戶端發來的指令實現家具的智能化控制。此星形結構,終端與終端之間不能進行通信。

圖7 星形網絡圖Fig.7 Star network diagram
本智能家居控制系統經過反復調試后,達到預期的效果,且系統運行穩定。具體實現功能如下:
1)燈光控制:實現各個房間燈光的開關以及亮度的調節,調節范圍從0-100%可調。
2)窗簾控制:實現窗簾動態調節,用戶可根據控制界面實時查看當前窗簾開關程度。
3)空調控制:空調開關,調節風速,模式轉換等,實現了基本調節功能。
4)電視控制:模擬電視遙控如開關、選臺、調節音量等。
5)環境監測:實時顯示家中環境信息,當監測到異常信息時用戶能夠有效處理。
本文簡要的介紹了基于Android平臺的智能家居控制系統的設計和關鍵技術。通過智能手機接入家庭內部網絡即可實現遠程控制家居,實時監測家居內部環境信息,為人們更加智能化和網絡化的家居生活。該系統既可用于普通的住宅家庭用戶,也可用于酒店等子系統,可擴展性好[6]。與傳統的基于Internet的遠程家電控制系統相比,基于Android手機的控制系統有著巨大的優勢和前景。
[1]ZHANG Zhong-shan,HUANG Fu-wei,LONG Ke-ping,et al.On the designing principles and optimization approaches of bio-inspired self-organized network:a survey[J].Science China(Information Sciences),2013,7:5-32.
[2]高闖,李海平,王國棟,等.基于android平臺的智能家居手機客戶端軟件設計[J].電子測試,2013(12):71-72.GAO Chuang,LI Hai-ping,WANG Guo-dong,et al.Intelligent home furnishing mobile phone client software design based on Android platform[J].Electronic Test,2013(12):71-72.
[3]徐峰.基于Android平臺的智能家居客戶端系統的設計與實現[D].北京:北京郵電大學,2012.
[4]王劍龍.基于Android的智能家居控制系統的研究與實現[D].長春:吉林大學,2013.
[5]尚麗麗.基于ZigBee的智能家居系統設計[D].大連:大連理工大學,2010.
[6]宋威,黃進,尹航,等.基于WIFI物聯網的家電智能控制系統信息控制端的研究[J].信息通信,2013(1):199-200.SONG Wei,HUANG Jin,YI Hang,et al.The research of WIFI Internet of Things appliances intelligent control system control terminal[J].Information and Communications,2013(1):199-200.