程 鵬,潘志鵬,王希朝,吳 斌
(中國科學院微電子研究所,北京100029)
隨著計算機技術、網絡通信技術、自動控制技術等高科技手段的飛速發展,智能家居(Smart Home)正不斷地滲透到傳統家電產業中,逐漸改變著人們的日常生活,并由此掀開了家庭信息化和智能化的新篇章[1]。按照智能家居的普遍定義[2],是將家居中各種與信息相關的通信設備、家用電器和家庭安保裝置等,通過一種專用技術連接到一個家庭可用的智能系統上,可以實現集中或異地的監視、控制和家庭事務性管理等功能。基于系統組網的簡易性考慮,選擇無線技術作為各設備之間相互通信的方式將是一種必然的發展趨勢。如今,比較流行的無線技術主要有:WiFi、Bluetooth(藍牙)、ZigBee、RFID以及一些簡單專用無線通信協議(如CC1100、NRF905、Si4432等)。本文提出了一種智能家居的無線控制系統,其中客戶端通過WLAN技術與中心網關進行信息交互,而中心網關通過工作在433 MHz免費頻段下的CC1100模塊與家庭中的各種終端設備進行命令交互,前者是基于WLAN技術的普遍應用性考慮的,而后者是基于系統的成本控制選擇此低成本、低復雜度的通信手段。
智能家居通常需要具備一個中心控制器,也稱家庭網關,主要的職能是接收用戶的控制指令和控制并管理網絡中的各設備,根據其實現方式的不同,智能家居控制系統有3種解決方案[3]:基于PC機、采用單片機和基于嵌入式架構系統。
分析比較3種解決方案,采用專門設計的嵌入式主控制器作為智能家居網絡控制平臺,以其結構簡單、穩定性強、擴展性好等特點成為智能家居控制器的首要選擇。通過該嵌入式主控制器可以很好地實現一個家居系統的管理和控制功能,無論是與客戶端,還是與底層家電設備之間的數據交換,基于嵌入式平臺的開發將大大降低系統的復雜性。
WLAN[4]技術是一種無線局域網技術,現已廣泛應用于各類電子設備中,從筆記本電腦到個人多媒體播放器,再到移動電話,幾乎隨處可見。WLAN是基于IEEE 802.11無線標準研制開發的,只涉及OSI/RM模型中的數據鏈路層與物理層協議,網絡結構相對簡單。由于WLAN技術的快速發展和廣泛普及,使得協議標準進行不斷的更新與改進,現已有的協議有:IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n等。WLAN所具有的獨特優勢也使得基于該技術的智能家居系統具有良好的通用性和可擴展性。
本系統由3部分組成,分別為終端設備,中心控制器和用戶控制臺。智能家居控制系統架構如圖1所示。

圖1 智能家居控制系統架構
在整個智能家居控制系統中,中心控制器處于核心地位,作為用戶控制臺和設備終端信息交互的橋梁。終端設備面向的是家庭中的家電設備等,通過家電設備中內嵌的CC1100無線通信模塊和中心控制器端的無線模塊進行信息交互,從而達到控制家電設備的作用。
家電設備和中心控制器之間通常只傳輸控制信息,數據量小,但穩定性要求較高,CC1100模塊是工作在ISM頻段專為低功耗無線應用設計的無線收發模塊,能夠滿足本設計的需求。用戶控制臺與中心控制器之間通信,是通過目前較為流行的WiFi技術來實現的,控制臺利用WiFi遠程接入中心控制器,實現對遠端設備的訪問和控制。中心控制器上集成的WiFi模塊,實現遠端數據的無線收發,同時進行協議轉換,完成控制臺和終端設備的信息交互。因此中心控制器在整個智能家居控制系統中起著至關重要的作用。
中心控制器的硬件結構示意圖如圖2所示,核心處理器選用飛思卡爾公司基于ARM926-EJ-S核心的MCIMX27控制器,該芯片工作頻率達400 MHz,集成了嵌入式系統設計時所需的大部分外部接口,適用于設計便攜式多媒體音視頻產品及智能家居網關等。為滿足家電控制的功能,中心控制器上還集成有CC100無線通信模塊,用于家電與網關間的信息交互,該模塊通過SPI接口進行數據傳輸及相關參數配置,只要控制器有SPI接口,即可利用該模塊實現數據的無線收發。同時中心控制平臺集成了可配置成AP和Station的WiFi模塊,用于控制臺和網關的信息傳輸。WiFi技術是當今最為流行的無線傳輸方式,本設計中控制臺和中心控制平臺間傳遞的是數據量較小的控制信息,因此專門設計了操作較為簡單的UART_WiFi無線傳輸子模塊用于本系統中,該子模塊和控制平臺間通過標準UART接口進行通信,通過UART接口可配置其系統和網絡參數,同時支持數據透明傳輸,支持AT指令集,只要具有UART接口的設備即可通過其接入到WiFi無線網絡中。

圖2 中心控制器硬件結構
中心控制平臺上還集成的LCD模塊,提供終端設備的控制界面以及實時顯示終端設備的狀態信息。鍵盤模塊方便用戶手動配置控制器參數和對終端設備的控制。
智能家居控制系統在設計時充分考慮到了系統的各種應用場景,設計實現了控制系統的兩種工作模式,即直接控制模式和間接控制模式。
2.2.1 直接控制
系統工作在直接控制模式下時的數據流向如圖3所示,直接控制模式是通過中心控制平臺來完成與終端設備的數據交互的。在該工作模式下,對設備的訪問是中心控制器通過無線模塊發送命令請求來完成的,當終端設備接收請求后會向中心控制器發送響應,從而完成一次通信過程。

圖3 直接控制
2.2.2 間接控制
圖4所示是系統工作在間接控制模式下時的數據流向示意圖,在該模式下,中心控制平臺起著接收用戶命令、進行協議轉換、轉發終端設備響應消息的作用。在遠端用戶通過WiFi無線網絡發起對終端設備的訪問時,首先是中心控制平臺通過UART_WIFI無線收發模塊接收到請求,通過對相關協議的解析,完成對請求命令的識別,再發送請求命令到終端設備,直到終端設備返回響應消息,中心控制器將響應消息解析,重新封裝完成后通過UART_WIFI模塊發送到遠端用戶控制平臺。

圖4 間接控制
整個智能家居控制系統圍繞中心控制平臺來實現,其軟件架構如圖5所示,分別由底層硬件、接口驅動、內核層、應用層構成。硬件是整個系統軟件運行的承載體,其上集成有所需的硬件接口,驅動層提供硬件與操作系統接口,簡化了上層操作硬件的流程。與一般智能家居系統軟件架構不同,本設計的軟件架構中,在內核層次添加了業務網關和協議轉換與適配層功能模塊。業務網關負責上層應用層不同業務數據的匯聚、處理和分發,協議轉換與適配層將下層遞交的數據轉換為有固定幀格式的數據幀,交由上層業務網關處理,提高了系統處理數據幀的實時性,方便系統的擴展。

圖5 智能家居中心控制平臺軟件架構
智能家居控制系統軟件運行總體流程圖如圖6所示,整個軟件運行過程分為兩個線程進行,主線程負責發送定時掃描命令給終端設備,同時處理終端設備返回的響應信息,次線程用于處理WiFi中斷以及鍵盤或者LCD中斷等。多線程程序的實現,需要線程同步的引入,本系統采用互斥鎖加信號量的線程同步方法,有效地提高了系統工作穩定性以及響應命令的時效性。

圖6 軟件執行流程
通過WiFi無線網絡在用戶控制臺和中心控制器之間傳輸的數據稱之為用戶接口數據,其數據格式如圖7所示。

圖7 信息交互協議
接口數據分為控制數據和用戶數據兩種類型。控制數據是用于控制臺和中心控制器之間的控制信息傳輸,實現遠端設備對中心控制器的系統參數和網絡參數的配置。用戶數據是用于用戶控制臺和終端設備間信息交互的數據,根據不同需求,用戶可在用戶接口數據幀格式的框架下對其進行個性化的定義。
依據本文提出的基于WLAN技術的智能家居控制系統,設計一個實際的驗證系統,中心控制器采用一個ARM處理器,實現系統的核心控制。底層的設備終端選取幾種典型的家電設備,如電磁爐、風扇、豆漿機、熱水器等。
中心控制器和上層用戶之間采用WiFi技術作為主要的通信手段。對于用戶控制臺上運行的應用程序不受任何操作系統的限制,可以支持Windows、Android、iOS等。
本文提出了一種基于WLAN技術的智能家居控制系統的詳細設計方案,包括硬件系統和軟件架構。利用WiFi技術實現了家庭用戶控制臺與智能家居中的中心控制器進行無線組網,同時,采用普通專用的無線模塊(CC1100)實現了中心控制器與底層各家電設備之間的控制和信息交互。經過實際硬件系統和軟件方案的測試驗證表明,該系統穩定可靠,且具備較好的擴展性。
[1]魏振春,韓江洪,張建軍,等.智能家居遠程控制系統的設計[J].合肥工業大學學報(自然科學版),2005,28(7):751-754.
[2]葉興貴,繆希仁.基于ZigBee的智能家居物聯網系統[J].現代建筑電氣,2010,1(9).
[3]原林,于伸.嵌入式技術在智能家居控制系統中的應用[J].自動化技術與應用,2006,25(1):72-74.
[4]GAST M S.802.11 Wireless Networks:The Definitive Guide[M].O′Reilly,Sebastopol CA,USA,April,2002.