,,,,,
(西安工程大學(xué) 電子信息學(xué)院,西安 710048)
智能家居[1]在具備傳統(tǒng)家居舒適、安全等特點的同時,還將家居環(huán)境變得更加智能化、人性化,可以實時地提供全方位的信息,便于家庭與外部保持信息交流,增強家居生活的安全性、舒適性,實現(xiàn)遠程操控、實時監(jiān)測、合理控制各種能源的使用,從而優(yōu)化人們的生活方式,改善人們的生活條件。隨著社會信息化的不斷發(fā)展,人們的生活、工作、通信之間的關(guān)系變得日益密切[2-4]。
目前在智能家居市場上,大多數(shù)的智能家居系統(tǒng)依然采用控制主機的方式。國內(nèi)的智能家居行業(yè)開始在全IP技術(shù)上做進一步的研究,并且開發(fā)了功能更全面的智能家居系統(tǒng)[8-11]。
本系統(tǒng)采用STM32F103作為核心處理器,對室內(nèi)環(huán)境各項數(shù)據(jù)進行分析處理以及通過WiFi模塊向終端設(shè)備發(fā)出命令執(zhí)行一系列的操作;外設(shè)電路包括電源電路、數(shù)據(jù)存儲電路、JTAG調(diào)試電路、復(fù)位電路等;數(shù)據(jù)采集終端實現(xiàn)對溫濕度、PM2.5、CO2濃度、光照、聲音、煤氣等室內(nèi)環(huán)境因子的采集;視頻采集端實現(xiàn)室內(nèi)的安防功能;語音識別模塊實現(xiàn)了用戶通過語音指令即可完成對室內(nèi)終端設(shè)備的操控功能[12];執(zhí)行設(shè)備終端主要包括空調(diào)、電視機、電腦、燈、冰箱、窗簾、門等;溫濕度模糊控制器主要處理室內(nèi)空氣溫濕度,根據(jù)采集到的數(shù)據(jù)進行分析,從而實現(xiàn)用4路繼電器自動控制室內(nèi)執(zhí)行設(shè)備進行升溫、降溫、加濕、除濕等操作;遠程監(jiān)測端基于Android操作系統(tǒng)搭建客戶端,可以實時監(jiān)測室內(nèi)環(huán)境是否處于一個安全的狀態(tài),出現(xiàn)問題時可以進行遠程操控[13]。智能家居系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。

圖1 智能家居系統(tǒng)總體結(jié)構(gòu)圖

圖3 HLK-RM04模塊電路圖設(shè)計
STM32F103片內(nèi)外設(shè)資源豐富,存儲容量較大,用戶開發(fā)環(huán)境較好;內(nèi)核是32位的ARM Cortex-M3控制器,片內(nèi)外資源豐富,最高工作頻率可達72 MHz,內(nèi)置大容量高速嵌入式存儲器,很輕易地容納智能家居系統(tǒng)所需要的空間;擁有2個I2C總線接口、2個12位D/A轉(zhuǎn)換器、10個三通用16位定時器、1個PWM定時器、9個通信接口;1個WiFi WLAN無線寬帶網(wǎng)絡(luò)通信接口,最大轉(zhuǎn)換時間可以達到1 μs。
系統(tǒng)需要采集大量的外部數(shù)據(jù),比如空氣溫濕度、光照強度、CO2濃度等,需要數(shù)據(jù)采集接口負責(zé)系統(tǒng)數(shù)據(jù)的采集和傳輸,本系統(tǒng)采用的數(shù)據(jù)采集接口為RS485信號類型。RS485采用差分信號邏輯,遵循MODBUS協(xié)議,實施簡單方便,支持的傳感器多,滿足了本設(shè)計的要求。RS485采集接口電路如圖2所示,UART2連接——MAX485芯片組成RS485接口,采用線控方式進行控制。

圖2 RS485采集接口電路圖
本系統(tǒng)采用夏普公司推出的光學(xué)灰塵濃度檢測傳感器GP2Y1010AU0F。其技術(shù)參數(shù)如下:工作電壓為4.5~5.5 V;工作電流為10 mA;工作電流為最大20 mA;工作溫度為-10~65 ℃。
采用海凌科公司開發(fā)的HLK-RM04模塊作為WiFi無線通信模塊[14]。該模塊基于802.11n/g/b無線標準,無線傳輸速率最高可達150 Mbps;模塊支持WEP、WPA/WPA2安全加密機制,支持無線安全功能開關(guān),支持AP/Router工作模式;支持WiFi協(xié)議、TCP/IP協(xié)議,可以實現(xiàn)串口、以太網(wǎng)、無線網(wǎng)接口之間的數(shù)據(jù)傳輸,同時可以實現(xiàn)網(wǎng)絡(luò)參數(shù)以及串口轉(zhuǎn)網(wǎng)絡(luò)參數(shù)的配置;模塊內(nèi)集成串口轉(zhuǎn)無線TCP/UDP傳輸功能,最大連接數(shù)超過20個;在網(wǎng)絡(luò)管理方面可以實現(xiàn)遠程Web管理;增加3個0603封裝的LED指示燈顯示電源(POWER)、WLAN、WiFi三者的工作狀態(tài)。WiFi模塊電路圖設(shè)計如圖3所示。
安防是智能家居系統(tǒng)最重要的功能之一,確保用戶在外出時室內(nèi)安全,遭到不明入侵時能夠及時報警并處理。傳統(tǒng)的有線視頻監(jiān)控容易遭到不良人員的損壞,而且用戶只能回到家調(diào)取視頻監(jiān)控錄像,不能及時地發(fā)現(xiàn)問題并解決。本文結(jié)合WiFi技術(shù)設(shè)計了一款可遠程登錄、實時監(jiān)控室內(nèi)環(huán)境系統(tǒng),可提高智能家居系統(tǒng)的實時性。
本系統(tǒng)采用具有圖像采集和處理功能的OV2640攝像頭完成室內(nèi)的采集工作[15]。
OV2640攝像頭體積小、工作電壓低、兼容I2C總線接口,即使在低照度的環(huán)境下仍能保持高靈敏度。數(shù)據(jù)輸出方式設(shè)置為多種格式的圖片,在保證圖像質(zhì)量的前提下,減小對網(wǎng)絡(luò)寬帶的占用。OV2640通過SCCB總線接口和STM32F103微控制器連接通信。OV2640攝像頭需要2.8 V及1.3 V兩個供電電壓,在本設(shè)計中,選用RT9193-2.8電源芯片和XC6219B132MR電源芯片分別提供2.8 V和1.3 V電壓。設(shè)計的OV2640攝像頭電路及其外圍電路如圖4所示。

圖4 OV2640攝像頭電路設(shè)計
為了提高語音模塊的靈敏度,設(shè)計了相關(guān)的輔助電路。喇叭音量外部控制電路如圖5所示,R6和R2的阻值分別為33 kΩ、15 kΩ,聲音被放大了2倍,若想實現(xiàn)手動調(diào)節(jié)音量,可以將R6設(shè)計成滑動變阻器。本文設(shè)計的麥克風(fēng)偏置輔助電路如圖6所示,其中引腳12是麥克風(fēng)偏置,為了確保給麥克風(fēng)輸入一個浮動的電壓,需要接一個RC電路。

圖5 喇叭音量外部控制電路設(shè)計

圖6 麥克風(fēng)偏置輔助電路設(shè)計
采用SLA-12VDC-SL型6腳轉(zhuǎn)換型繼電器的通斷來實現(xiàn)對室內(nèi)終端設(shè)備的控制[16]。如圖7所示,通過P12接口使用跳線帽來實現(xiàn)常開和常閉的轉(zhuǎn)換。用跳線帽連接P12中2、3引腳實現(xiàn)常開,通過PE10引腳給出高電平,三極管Q16導(dǎo)通,繼電器磁鐵吸合,使得繼電器輸入RLY1_IN與RLY1_OUT導(dǎo)通實現(xiàn)供電,通過PE10引腳給出低電平來實現(xiàn)斷電。

圖7 繼電器驅(qū)動電路圖
智能家居系統(tǒng)主要是對室內(nèi)環(huán)境進行監(jiān)測以及自我調(diào)節(jié),對終端設(shè)備進行智能化控制。軟件設(shè)計方案包括WiFi無線通信模塊、視頻采集模塊、語音識別模塊、繼電器模塊、數(shù)據(jù)采集模塊、模糊控制算法模塊、遠程客戶端的軟件設(shè)計[17]。
系統(tǒng)軟件總體設(shè)計流程為:系統(tǒng)進行上電初始化,包括時鐘初始化、輸入/輸出端口初始化、子模塊初始化。系統(tǒng)數(shù)據(jù)采集模塊開始工作并顯示采集到的部分信息,中央處理器對數(shù)據(jù)進行分析處理,對部分如溫濕度等對室內(nèi)環(huán)境影響較大的數(shù)據(jù)進行模糊控制算法分析,與室內(nèi)指標進行對比,輸出控制指令,完成對室內(nèi)終端設(shè)備的相應(yīng)操作。總體軟件實現(xiàn)流程如圖8所示。
為了減少電量的消耗,實現(xiàn)節(jié)能,在WiFi模塊沒有信號需要發(fā)送時,設(shè)置其進入休眠狀態(tài),使其節(jié)能環(huán)保,優(yōu)化智能家居系統(tǒng)。當控制器發(fā)來信號時,啟動處于休眠狀態(tài)的WiFi模塊開啟接收指令,WiFi模塊將接收到的指令發(fā)送到終端設(shè)備端口,通過終端設(shè)備上的節(jié)點完成對執(zhí)行機構(gòu)的操作。設(shè)備端工作流程如圖9所示。

圖8 系統(tǒng)主程序流程圖

圖9 設(shè)備端工作流程圖
為了設(shè)計方便,本文所采用的傳感器均使用RS485總線通信。軟件設(shè)計開始初始化,然后主控制器給傳感器配置參數(shù),包括傳感器地址、存儲地址等。傳感器一直等待主機幀發(fā)送過來,有幀發(fā)送至傳感器時,傳感器首先查看地址是否正確。若地址不正確,則丟棄此幀重新等待主機幀的到來;地址正確,則傳感器接收主機幀進行CRC16校驗,查看數(shù)據(jù)是否正確,數(shù)據(jù)不正確則丟棄此幀數(shù)據(jù),校驗正確則查看功能碼判斷進行哪種命令操作。當設(shè)置傳感器地址時則重設(shè)地址值,當查詢傳感器采集數(shù)據(jù)值時則根據(jù)數(shù)據(jù)流中寄存器長度要求采集傳感器數(shù)據(jù)。之后將重設(shè)地址,或?qū)?shù)據(jù)存入數(shù)據(jù)流中將返回幀發(fā)送回去,若都不是則丟棄此幀重新等待主機幀。
視頻采集模塊的軟件設(shè)計流程首先是OV2640模塊、WiFi模塊的初始化以及TCP協(xié)議棧的初始化,OV2640模塊獲得圖像數(shù)據(jù)發(fā)送給主控制器,調(diào)用TCP協(xié)議棧接口,WiFi模塊的路由功能以TCP客戶端方式連接服務(wù)器。軟件實現(xiàn)流程如圖10所示。
服務(wù)器將視頻監(jiān)控節(jié)點傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換成JPEG圖片,在PictureBox控件上實時更新顯示,形成視頻,通過手機客戶端登錄服務(wù)器實現(xiàn)在線監(jiān)測。

圖10 視頻采集流程圖
該模塊的軟件設(shè)計主要包括:主控板程序和語音識別程序,其核心就是實現(xiàn)語音識別程序設(shè)計。本軟件設(shè)計中采用中斷方式,首先是系統(tǒng)程序的初始化,包括通用初始化、語音識別初始化,主要完成芯片軟復(fù)位、模式設(shè)定、時鐘頻率等相關(guān)操作;其次是識別寫入,主要完成對寄存器的設(shè)置。最后是響應(yīng)中斷,當麥克風(fēng)采集到聲音就會產(chǎn)生中斷信號,中斷程序根據(jù)寄存器的值進行分析結(jié)果(BA寄存器的值為候選識別個數(shù),C5寄存器的值為識別出的最佳結(jié)果)。語音識別主程序流程如圖11所示。

圖11 語音識別主程序流程圖
本設(shè)計涉及對終端設(shè)備啟停的控制,使用繼電器完成對終端設(shè)備的開啟與關(guān)閉功能。繼電器控制方式包括兩種:一種是人工控制,是在用戶主觀意愿下對家電啟停做出的操作;另一種是控制器對室內(nèi)環(huán)境的智能調(diào)節(jié)發(fā)出的指令操作。在軟件設(shè)計時,主要實現(xiàn)“開”和“關(guān)”的邏輯,為了提高程序的通用性,便于開發(fā)人員進行后期修改,采用宏定義替代簡單的函數(shù)。將高電平定義為繼電器開,低電平定義為繼電器關(guān),繼電器工作流程圖如圖12所示。

圖12 繼電器工作流程圖
移動端界面是實現(xiàn)人機交互的主要方式。從用戶界面出發(fā),用直觀的、簡易性的功能以及監(jiān)測界面加以展現(xiàn)。界面采用身份驗證的方式,需要輸入用戶名和密碼才能登錄系統(tǒng),軟件實現(xiàn)流程圖如圖13所示。若用戶之前未注冊賬號,可以根據(jù)系統(tǒng)提示完成注冊,并返回主頁面進行登錄。

13 客戶端登錄流程圖
用戶成功登錄后,客戶端會出現(xiàn)系統(tǒng)功能圖。功能界面主要分為4個板塊:環(huán)境監(jiān)測、能耗監(jiān)控、視頻監(jiān)控、功能設(shè)置后期維護及需求建議。其中,環(huán)境監(jiān)測板塊可以實現(xiàn)對室內(nèi)溫濕度的實時監(jiān)測;能耗監(jiān)控板塊可以查詢室內(nèi)家電設(shè)備所處的開啟狀態(tài);視頻監(jiān)控可以實時監(jiān)測室內(nèi)的安全狀況;功能設(shè)置板塊可以對客戶端的個性化界面調(diào)整。
本系統(tǒng)的測試主要分為硬件部分和軟件部分,首先將各個模塊進行單獨測試,在各個模塊功能穩(wěn)定的情況下再進行總體測試,為了保證系統(tǒng)的功能穩(wěn)定性,測試之前要考量各個模塊之間的兼容性。系統(tǒng)的硬件測試主要是電路的測試;軟件測試主要包括功能性按鍵、人機交互界面、WiFi無線模塊的通信功能。讓系統(tǒng)保持上電狀態(tài),觀察系統(tǒng)長時間下的運行狀態(tài)是否穩(wěn)定。通過對整個系統(tǒng)進行現(xiàn)場環(huán)境的模擬,對WiFi組網(wǎng)進行測試,驗證WiFi網(wǎng)絡(luò)的可行性、可靠性及穩(wěn)定性。另外,對無線模塊可傳輸距離及丟包率進行定性測試。最后完成對遠程登錄、移動端實時監(jiān)測等其他模塊的功能測試。進行系統(tǒng)測試要用到如下幾個部分:WiFi無線傳輸模塊、主控制板、PC機、手機移動端APP、TCP調(diào)試助手。
用TCP調(diào)試助手對無線模塊進行數(shù)據(jù)通道測試,用戶筆記本在無線網(wǎng)絡(luò)上連接到無線模塊之后,設(shè)置模式為UDP;設(shè)置遠程主機為:192.168.1.107;本地端口設(shè)為8081,遠程端口設(shè)為8088;點擊“開啟UDP”按鈕,顯示綠燈。數(shù)據(jù)通道打通,可以交互數(shù)據(jù),為確保傳輸數(shù)據(jù)的完整性,平衡接收與發(fā)送兩端的“速率壓力”平衡,故采取TCP方式向WiFi模塊發(fā)送數(shù)據(jù)。
由于本系統(tǒng)的適用范圍僅限于室內(nèi),所以測試的環(huán)境可以改變的條件也相對有限。對WiFi無線網(wǎng)絡(luò)傳輸丟包率的測試,可以將影響因素設(shè)置為無墻和有墻。測試平臺由WiFi模塊(終端節(jié)點、協(xié)調(diào)器節(jié)點)和兩臺PC機組成。
選取學(xué)校實驗室作為測試地點,選取了具有代表性的6個值作為測試距離,得到的測試數(shù)據(jù)如表1、表2所列。

表1 實驗室無障礙情況下的丟包率測試結(jié)果

表2 實驗室有障礙情況下的丟包率測試結(jié)果
從表1中的測試數(shù)據(jù)可以看出,在實驗室內(nèi)無障礙物的情況下,數(shù)據(jù)傳輸?shù)膩G包率在0.2%以下。從表2中可以看出,在實驗室有障礙物的情況下數(shù)據(jù)傳輸?shù)膩G包率雖然比無障礙有所增加,但仍能控制在0.4%以下。為了克服這種情況的發(fā)生,可以通過調(diào)整組網(wǎng)結(jié)構(gòu)和改變節(jié)點方位的方法進行優(yōu)化,同時利用軟件校驗的方法降低丟包率。
對語音模塊功能的測試主要分為在安靜環(huán)境和嘈雜環(huán)境下進行,考慮到男女音色的不同,所有測試環(huán)境分為以下4種:安靜環(huán)境下男性、安靜環(huán)境下女性、嘈雜環(huán)境下男性、嘈雜環(huán)境下女性。由于本設(shè)計主要針對室內(nèi)語音控制,所以不再做距離上的測試,故測試距離均選取5 m。分別記錄不同情況下識別指令的準確率,如表3所列。

表3 語音識別準確率測試結(jié)果
可以看出,本文設(shè)計的語音控制模塊的識別準確率在安靜狀態(tài)下可達92%,滿足了用戶需求,嘈雜環(huán)境對語音識別的準確率造成了一定的影響。
在智能家居系統(tǒng)遠程登錄與遠程實時控制并監(jiān)測測試中,主要測試遠程是否登錄穩(wěn)定并能夠?qū)崟r地對室內(nèi)家電設(shè)備進行控制,監(jiān)測室內(nèi)能量功耗、溫濕度情況。在移動端APP中,信息界面實現(xiàn)在線監(jiān)測智能家居的網(wǎng)絡(luò)連接情況、終端節(jié)點信息查詢、修改設(shè)置等功能,針對以上功能對智能家居系統(tǒng)人機交互界面進行測試[18]。
