摘 要: 為了使家居系統更加人性化,設計了一種基于場景模式的智能家居系統。該系統以Android手機為監控終端,以USB無線網卡、GPRS模塊和S3C2440構成家庭網關,以nRF24LE1為家庭節點組網模塊。介紹了該系統的無線組網協議、節點及網關硬件組成、網關服務程序設計和Android監控界面設計。
關鍵詞: 智能家居;Android;家庭網關
在歐美等西方經濟發達的國家,智能家居已經相當普及。在中國,隨著社會經濟的快速發展和人們生活水平的不斷提高,智能家居也將成為家居發展的必然趨勢[1]。
目前部分智能家居集控裝置一般不具有場景模式功能,每次都需要對家電進行單獨控制;同時部分具有場景模式功能的智能家居集控裝置中場景模式下的各個參數通常是固定不變的,使用極為不便[2]。
本文設計的基于場景模式的智能家居系統不僅具有場景控制功能,而且用戶可以根據自己的需求設置場景模式的參數。因此,本設計將為人們提供一個更加舒適的居住環境。
本文將無線組網技術與Android應用開發相結合,通過以S3C2440為核心的家庭網關將Android手機與家庭設備節點進行整合,從而實現基于場景模式的智能家居系統。
1 總體設計方案
本系統主要由監控終端、智能家庭網關和家庭設備節點組成,如圖1所示。
監控終端可以顯示和控制家庭內部設備的運行狀態;家庭網關是監控終端和家庭內部設備之間通信的樞紐,并存儲整個系統的配置文件,是整個系統的核心;家庭設備節點實現對設備的實際監控。
2 家庭設備節點
2.1 節點硬件組成
系統家庭內部組網所用的無線模塊是nRF24LE1。nRF24LE1采用了Nordic最新的無線和超低功耗技術,在一個極小封裝中集成了包括2.4 GHz無線傳輸、增強型51 Flask高速單片機、豐富外設及接口等的單片Flash芯片,是一個綜合了性能及成本的完美結合,很適合應用于各種2.4 GHz的產品設計[3]。
設備節點的組成如圖2所示。
節點中無線模塊用來接收網關發送的無線控制命令,并將監控電路上傳的參數無線發送給家庭網關;監控電路是真正監控家庭設備的功能實現體,其作用就是根據命令實施具體控制或者為用戶提取設備狀態;家庭設備包含家電設備(燈、空調等)、機械設備(水閥、機械按鈕等)和消防安防設備(如煙霧傳感、紅外人體感應等)。
下面的示例節點可以簡單地說明設備節點的硬件組成及工作原理。
圖3為照明控制節點原理圖。照明控制節點的無線控制模塊為nRF24LE1;控制電路由繼電器HRS4H-S-DC 5 V、三極管C8050和電阻R組成;家庭設備為一盞照明用燈。nRF24LE1內部集成單片機的P0.0引腳向控制電路輸出0或1的控制信號,進而控制照明燈供電線路的通斷。
圖3中的nRF24LE1代表完整的nRF24LE1應用電路,包含了芯片外圍器件及線路。
2.2 無線模塊組網設計
系統中所采用的無線模塊nRF24LE1內置了點對點無線通信協議控制和CRC糾錯硬件電路, 數據編解碼和CRC產生及校驗均由硬件完成。
但nRF24LE1不像ZigBee那樣有著成熟的組網標準。雖然Nordic為無線桌面及其他應用設計推出了一套完整的無線通信協議——Gazell協議,但其所能承受的網絡最多為1個主機和6個外設,且主機只有收到外設數據包后才能發送數據到外設。其他研究機構也有發表相關通信協議的論文,但他們所述的協議一般適用于數據量大、需要連續傳輸時的情況[3]。而此系統通信的特點是節點多、數據量小。
所以,本系統設計一個適用于此系統的簡單組網協議。鑒于此無線模塊所具有的一些通信協議功能,系統組網協議主要從沖突避免的角度來考慮。設備節點的上傳數據流程如圖4所示。
微處理器S3C2440為用戶提供了低價格、低功耗、高性能的小型微控制器解決方案。通過提供一套完整的通用系統外設,S3C2440減少了整體系統成本,無需配置額外的組件[6]。
處理器上所運行的Linux系統支持多用戶、多任務,具有良好的用戶界面和豐富的網絡功能,能夠可靠、穩定、安全地運行[7]。
家庭網關中的協調器與設備節點中的無線模塊同樣也是nRF24LE1。它一方面通過無線網絡協調設備節點的運行與通信,另一方面還通過串口與網關處理器進行數據交互。
USB無線網卡和GPRS模塊為兩種外界通信路徑。無線網卡避免了網線對家庭環境的破壞;GPRS為用戶提供了另外一種不依賴于因特網的監控方式,使得用戶在任何移動網絡普及的場所(當下移動網絡幾乎已經遍布每個角落)都能實現家庭監控。
網關程序的流程如圖6所示。初始化包括串口初始化、網絡初始化和GPRS初始化。初始化完成后,網關服務器就會進入等待用戶連接請求的循環中。
網關會為每個登錄用戶創建一個處理線程。因此,此網關支持多用戶同時操作。
4 監控終端
本系統采用一部Android手機作為監控終端。在Windows系統搭建Android開發環境的步驟為:安裝JAVA JDK,解壓Eclipse,解壓Android SDK,在Eclipse下安裝ADT,設置Android SDK路徑。
用戶要監控家庭設備,就必須與家庭網關建立連接。網關登錄界面如圖7所示。
界面輸入信息中除了網關的IP和port,還有用于驗證用戶信息的用戶名和密碼。這樣可以有效提高系統的安全等級。
網關登錄分為網絡登錄和短信登錄。在有WIFI信號時,可以直接用網絡登錄。但是在一些沒有無線網絡可用的場合,用戶就只能通過短信的方式登錄網關。在短信登錄時,用戶只需輸入正確的用戶名和密碼即可。
當用戶成功登錄到家庭網關,網關就會為用戶建立服務線程。此時,用戶可以在監控界面對家庭設備進行監控。
為了方便用戶操作,將控制、監測、場景和設置分為4個界面,并將其放在一個TabHost中,如圖8所示。
本系統中,用戶可以在控制界面單獨控制每個家電,可以在監測界面采集家庭溫濕度、獲取家庭煙霧和人體感應的報警信息。
場景界面是根據用戶的點擊進入相應場景模式,并控制相應家庭設備進入這一種場景進行協調運作。
設置界面是設定每一種場景模式可監控哪些家電設備,在界面上可對每一種設備添加或刪除。這種添加或刪除通過修改網關的配置文件來實現。
5 系統設計的實現與結論
本系統共實現7個節點:燈(3盞)、窗簾、空調、投影儀、煙霧報警、溫濕度傳感、紅外人體感應;共設計6種模式:起床、上班、下班、晚餐、影院和睡眠。
在每一種模式下,對應不同的電器協調運作方式。如起床模式:1號燈打開,窗簾打開,安防系統撤防。當某一模式不符合用戶需求時,用戶可以根據自身要求來修改模式內容。而進入場景模式是通過簡單的Android手機界面按鍵觸發。所以,本文中的基于場景模式的智能家居系統,不但具有了一般智能家居系統的智能化監控功能,還更加符合人性化需求。
參考文獻
[1] 葉國偉.智能家居市場現狀與趨勢[J].中國建設信息,2012(9):54-55.
[2] 廈門萬安智能股份有限公司.具有環境適應情景模式的智能家居集控裝置:中國,201110425089.2[P].2011.12.19.
[3] 譚暉.nRF無線SOC單片機原理與高級應用[M].北京:北京航空航天大學出版社,2009.
[4] 蔣增文.一種基于 nRF24xx 的混合無線通信協議[J].通信技術,2010,10(43):78-80.
[5] Samsung.S3C2440 user’s manual[S].2004.
[6] 劉海亮,曹家年,郭逢麗.嵌入式智能家居安防系統的研究與實現[J].應用科技,2011,38(2):61-66.
[7] 蔡俊宇.基于Linux的智能家居系統設計與實現[D].武漢:武漢理工大學,2010.