程 鵬,潘志鵬,王希朝,吳 斌
(中國科學(xué)院微電子研究所,北京100029)
隨著計算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、自動控制技術(shù)等高科技手段的飛速發(fā)展,智能家居(Smart Home)正不斷地滲透到傳統(tǒng)家電產(chǎn)業(yè)中,逐漸改變著人們的日常生活,并由此掀開了家庭信息化和智能化的新篇章[1]。按照智能家居的普遍定義[2],是將家居中各種與信息相關(guān)的通信設(shè)備、家用電器和家庭安保裝置等,通過一種專用技術(shù)連接到一個家庭可用的智能系統(tǒng)上,可以實現(xiàn)集中或異地的監(jiān)視、控制和家庭事務(wù)性管理等功能?;谙到y(tǒng)組網(wǎng)的簡易性考慮,選擇無線技術(shù)作為各設(shè)備之間相互通信的方式將是一種必然的發(fā)展趨勢。如今,比較流行的無線技術(shù)主要有:WiFi、Bluetooth(藍(lán)牙)、ZigBee、RFID以及一些簡單專用無線通信協(xié)議(如CC1100、NRF905、Si4432等)。本文提出了一種智能家居的無線控制系統(tǒng),其中客戶端通過WLAN技術(shù)與中心網(wǎng)關(guān)進(jìn)行信息交互,而中心網(wǎng)關(guān)通過工作在433 MHz免費頻段下的CC1100模塊與家庭中的各種終端設(shè)備進(jìn)行命令交互,前者是基于WLAN技術(shù)的普遍應(yīng)用性考慮的,而后者是基于系統(tǒng)的成本控制選擇此低成本、低復(fù)雜度的通信手段。
智能家居通常需要具備一個中心控制器,也稱家庭網(wǎng)關(guān),主要的職能是接收用戶的控制指令和控制并管理網(wǎng)絡(luò)中的各設(shè)備,根據(jù)其實現(xiàn)方式的不同,智能家居控制系統(tǒng)有3種解決方案[3]:基于PC機(jī)、采用單片機(jī)和基于嵌入式架構(gòu)系統(tǒng)。
分析比較3種解決方案,采用專門設(shè)計的嵌入式主控制器作為智能家居網(wǎng)絡(luò)控制平臺,以其結(jié)構(gòu)簡單、穩(wěn)定性強(qiáng)、擴(kuò)展性好等特點成為智能家居控制器的首要選擇。通過該嵌入式主控制器可以很好地實現(xiàn)一個家居系統(tǒng)的管理和控制功能,無論是與客戶端,還是與底層家電設(shè)備之間的數(shù)據(jù)交換,基于嵌入式平臺的開發(fā)將大大降低系統(tǒng)的復(fù)雜性。
WLAN[4]技術(shù)是一種無線局域網(wǎng)技術(shù),現(xiàn)已廣泛應(yīng)用于各類電子設(shè)備中,從筆記本電腦到個人多媒體播放器,再到移動電話,幾乎隨處可見。WLAN是基于IEEE 802.11無線標(biāo)準(zhǔn)研制開發(fā)的,只涉及OSI/RM模型中的數(shù)據(jù)鏈路層與物理層協(xié)議,網(wǎng)絡(luò)結(jié)構(gòu)相對簡單。由于WLAN技術(shù)的快速發(fā)展和廣泛普及,使得協(xié)議標(biāo)準(zhǔn)進(jìn)行不斷的更新與改進(jìn),現(xiàn)已有的協(xié)議有:IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n等。WLAN所具有的獨特優(yōu)勢也使得基于該技術(shù)的智能家居系統(tǒng)具有良好的通用性和可擴(kuò)展性。
本系統(tǒng)由3部分組成,分別為終端設(shè)備,中心控制器和用戶控制臺。智能家居控制系統(tǒng)架構(gòu)如圖1所示。
圖1 智能家居控制系統(tǒng)架構(gòu)
在整個智能家居控制系統(tǒng)中,中心控制器處于核心地位,作為用戶控制臺和設(shè)備終端信息交互的橋梁。終端設(shè)備面向的是家庭中的家電設(shè)備等,通過家電設(shè)備中內(nèi)嵌的CC1100無線通信模塊和中心控制器端的無線模塊進(jìn)行信息交互,從而達(dá)到控制家電設(shè)備的作用。
家電設(shè)備和中心控制器之間通常只傳輸控制信息,數(shù)據(jù)量小,但穩(wěn)定性要求較高,CC1100模塊是工作在ISM頻段專為低功耗無線應(yīng)用設(shè)計的無線收發(fā)模塊,能夠滿足本設(shè)計的需求。用戶控制臺與中心控制器之間通信,是通過目前較為流行的WiFi技術(shù)來實現(xiàn)的,控制臺利用WiFi遠(yuǎn)程接入中心控制器,實現(xiàn)對遠(yuǎn)端設(shè)備的訪問和控制。中心控制器上集成的WiFi模塊,實現(xiàn)遠(yuǎn)端數(shù)據(jù)的無線收發(fā),同時進(jìn)行協(xié)議轉(zhuǎn)換,完成控制臺和終端設(shè)備的信息交互。因此中心控制器在整個智能家居控制系統(tǒng)中起著至關(guān)重要的作用。
中心控制器的硬件結(jié)構(gòu)示意圖如圖2所示,核心處理器選用飛思卡爾公司基于ARM926-EJ-S核心的MCIMX27控制器,該芯片工作頻率達(dá)400 MHz,集成了嵌入式系統(tǒng)設(shè)計時所需的大部分外部接口,適用于設(shè)計便攜式多媒體音視頻產(chǎn)品及智能家居網(wǎng)關(guān)等。為滿足家電控制的功能,中心控制器上還集成有CC100無線通信模塊,用于家電與網(wǎng)關(guān)間的信息交互,該模塊通過SPI接口進(jìn)行數(shù)據(jù)傳輸及相關(guān)參數(shù)配置,只要控制器有SPI接口,即可利用該模塊實現(xiàn)數(shù)據(jù)的無線收發(fā)。同時中心控制平臺集成了可配置成AP和Station的WiFi模塊,用于控制臺和網(wǎng)關(guān)的信息傳輸。WiFi技術(shù)是當(dāng)今最為流行的無線傳輸方式,本設(shè)計中控制臺和中心控制平臺間傳遞的是數(shù)據(jù)量較小的控制信息,因此專門設(shè)計了操作較為簡單的UART_WiFi無線傳輸子模塊用于本系統(tǒng)中,該子模塊和控制平臺間通過標(biāo)準(zhǔn)UART接口進(jìn)行通信,通過UART接口可配置其系統(tǒng)和網(wǎng)絡(luò)參數(shù),同時支持?jǐn)?shù)據(jù)透明傳輸,支持AT指令集,只要具有UART接口的設(shè)備即可通過其接入到WiFi無線網(wǎng)絡(luò)中。
圖2 中心控制器硬件結(jié)構(gòu)
中心控制平臺上還集成的LCD模塊,提供終端設(shè)備的控制界面以及實時顯示終端設(shè)備的狀態(tài)信息。鍵盤模塊方便用戶手動配置控制器參數(shù)和對終端設(shè)備的控制。
智能家居控制系統(tǒng)在設(shè)計時充分考慮到了系統(tǒng)的各種應(yīng)用場景,設(shè)計實現(xiàn)了控制系統(tǒng)的兩種工作模式,即直接控制模式和間接控制模式。
2.2.1 直接控制
系統(tǒng)工作在直接控制模式下時的數(shù)據(jù)流向如圖3所示,直接控制模式是通過中心控制平臺來完成與終端設(shè)備的數(shù)據(jù)交互的。在該工作模式下,對設(shè)備的訪問是中心控制器通過無線模塊發(fā)送命令請求來完成的,當(dāng)終端設(shè)備接收請求后會向中心控制器發(fā)送響應(yīng),從而完成一次通信過程。
圖3 直接控制
2.2.2 間接控制
圖4所示是系統(tǒng)工作在間接控制模式下時的數(shù)據(jù)流向示意圖,在該模式下,中心控制平臺起著接收用戶命令、進(jìn)行協(xié)議轉(zhuǎn)換、轉(zhuǎn)發(fā)終端設(shè)備響應(yīng)消息的作用。在遠(yuǎn)端用戶通過WiFi無線網(wǎng)絡(luò)發(fā)起對終端設(shè)備的訪問時,首先是中心控制平臺通過UART_WIFI無線收發(fā)模塊接收到請求,通過對相關(guān)協(xié)議的解析,完成對請求命令的識別,再發(fā)送請求命令到終端設(shè)備,直到終端設(shè)備返回響應(yīng)消息,中心控制器將響應(yīng)消息解析,重新封裝完成后通過UART_WIFI模塊發(fā)送到遠(yuǎn)端用戶控制平臺。
圖4 間接控制
整個智能家居控制系統(tǒng)圍繞中心控制平臺來實現(xiàn),其軟件架構(gòu)如圖5所示,分別由底層硬件、接口驅(qū)動、內(nèi)核層、應(yīng)用層構(gòu)成。硬件是整個系統(tǒng)軟件運行的承載體,其上集成有所需的硬件接口,驅(qū)動層提供硬件與操作系統(tǒng)接口,簡化了上層操作硬件的流程。與一般智能家居系統(tǒng)軟件架構(gòu)不同,本設(shè)計的軟件架構(gòu)中,在內(nèi)核層次添加了業(yè)務(wù)網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換與適配層功能模塊。業(yè)務(wù)網(wǎng)關(guān)負(fù)責(zé)上層應(yīng)用層不同業(yè)務(wù)數(shù)據(jù)的匯聚、處理和分發(fā),協(xié)議轉(zhuǎn)換與適配層將下層遞交的數(shù)據(jù)轉(zhuǎn)換為有固定幀格式的數(shù)據(jù)幀,交由上層業(yè)務(wù)網(wǎng)關(guān)處理,提高了系統(tǒng)處理數(shù)據(jù)幀的實時性,方便系統(tǒng)的擴(kuò)展。
圖5 智能家居中心控制平臺軟件架構(gòu)
智能家居控制系統(tǒng)軟件運行總體流程圖如圖6所示,整個軟件運行過程分為兩個線程進(jìn)行,主線程負(fù)責(zé)發(fā)送定時掃描命令給終端設(shè)備,同時處理終端設(shè)備返回的響應(yīng)信息,次線程用于處理WiFi中斷以及鍵盤或者LCD中斷等。多線程程序的實現(xiàn),需要線程同步的引入,本系統(tǒng)采用互斥鎖加信號量的線程同步方法,有效地提高了系統(tǒng)工作穩(wěn)定性以及響應(yīng)命令的時效性。
圖6 軟件執(zhí)行流程
通過WiFi無線網(wǎng)絡(luò)在用戶控制臺和中心控制器之間傳輸?shù)臄?shù)據(jù)稱之為用戶接口數(shù)據(jù),其數(shù)據(jù)格式如圖7所示。
圖7 信息交互協(xié)議
接口數(shù)據(jù)分為控制數(shù)據(jù)和用戶數(shù)據(jù)兩種類型??刂茢?shù)據(jù)是用于控制臺和中心控制器之間的控制信息傳輸,實現(xiàn)遠(yuǎn)端設(shè)備對中心控制器的系統(tǒng)參數(shù)和網(wǎng)絡(luò)參數(shù)的配置。用戶數(shù)據(jù)是用于用戶控制臺和終端設(shè)備間信息交互的數(shù)據(jù),根據(jù)不同需求,用戶可在用戶接口數(shù)據(jù)幀格式的框架下對其進(jìn)行個性化的定義。
依據(jù)本文提出的基于WLAN技術(shù)的智能家居控制系統(tǒng),設(shè)計一個實際的驗證系統(tǒng),中心控制器采用一個ARM處理器,實現(xiàn)系統(tǒng)的核心控制。底層的設(shè)備終端選取幾種典型的家電設(shè)備,如電磁爐、風(fēng)扇、豆?jié){機(jī)、熱水器等。
中心控制器和上層用戶之間采用WiFi技術(shù)作為主要的通信手段。對于用戶控制臺上運行的應(yīng)用程序不受任何操作系統(tǒng)的限制,可以支持Windows、Android、iOS等。
本文提出了一種基于WLAN技術(shù)的智能家居控制系統(tǒng)的詳細(xì)設(shè)計方案,包括硬件系統(tǒng)和軟件架構(gòu)。利用WiFi技術(shù)實現(xiàn)了家庭用戶控制臺與智能家居中的中心控制器進(jìn)行無線組網(wǎng),同時,采用普通專用的無線模塊(CC1100)實現(xiàn)了中心控制器與底層各家電設(shè)備之間的控制和信息交互。經(jīng)過實際硬件系統(tǒng)和軟件方案的測試驗證表明,該系統(tǒng)穩(wěn)定可靠,且具備較好的擴(kuò)展性。
[1]魏振春,韓江洪,張建軍,等.智能家居遠(yuǎn)程控制系統(tǒng)的設(shè)計[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2005,28(7):751-754.
[2]葉興貴,繆希仁.基于ZigBee的智能家居物聯(lián)網(wǎng)系統(tǒng)[J].現(xiàn)代建筑電氣,2010,1(9).
[3]原林,于伸.嵌入式技術(shù)在智能家居控制系統(tǒng)中的應(yīng)用[J].自動化技術(shù)與應(yīng)用,2006,25(1):72-74.
[4]GAST M S.802.11 Wireless Networks:The Definitive Guide[M].O′Reilly,Sebastopol CA,USA,April,2002.