摘 要: 設(shè)計了以STM32單片機(jī)為核心的智能家居控制系統(tǒng),。該系統(tǒng)以語音識別技術(shù)和GSM通信技術(shù)為基礎(chǔ),,完成控制臺、手持設(shè)備及門禁密碼鎖之間的通信,,實現(xiàn)對室內(nèi)家居電器的遠(yuǎn)程控制,。實驗結(jié)果表明,該系統(tǒng)運行穩(wěn)定,,具有廣泛的應(yīng)用前景,。
關(guān)鍵詞: 智能家居;STM32單片機(jī),;無線通信
智能家居(又稱智能住宅)是以住宅為平臺,,兼?zhèn)浣ㄖ⒕W(wǎng)絡(luò)通信,、信息家電,、設(shè)備自動化,集系統(tǒng),、結(jié)構(gòu),、服務(wù)、管理為一體的高效,、舒適,、安全、便利,、環(huán)保的居住環(huán)境,,是融合了自動化控制系統(tǒng)、計算機(jī)網(wǎng)絡(luò)系統(tǒng)和網(wǎng)絡(luò)通信技術(shù)于一體的家居控制系統(tǒng),。近年來,,隨著人們生活水平的提高以及計算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,智能家居逐漸成為未來家居生活的發(fā)展方向[1],。因此在實現(xiàn)智能控制的同時,,研制一個成本低、實用性強(qiáng)的智能家居系統(tǒng)便顯得非常有必要,。
本文以STM32單片機(jī)為核心設(shè)計了一套智能家居控制系統(tǒng),。該系統(tǒng)以語音識別、GSM通信等技術(shù)為基礎(chǔ),,通過無線通信,、串口通信對系統(tǒng)各部分進(jìn)行串聯(lián),用戶可通過門禁密碼鎖驗證身份后進(jìn)入智能家居系統(tǒng),,利用總控制臺設(shè)定室內(nèi)家居的狀態(tài),,亦可借助觸屏手持設(shè)備,、GSM手機(jī)等對室內(nèi)家居進(jìn)行手動或語音控制。
1 智能家居系統(tǒng)硬件平臺
建立智能家居控制系統(tǒng),硬件是關(guān)鍵和基礎(chǔ),,它對整個系統(tǒng)的穩(wěn)定性,、控制和反饋的準(zhǔn)確性、節(jié)能性都有直接影響,。本智能家居系統(tǒng)選用了以下硬件設(shè)備:
(1) STM32F103VET6微處理器及STC12-
C5A60S2微處理器
系統(tǒng)中手持設(shè)備的微處理器選用STM32F103VET6,,總控制臺及門禁密碼鎖部分選用STC12C5A60S2。
STM32F103VET6基于ARM Cortex M3 32 bit的RISC內(nèi)核,工作頻率最高可達(dá)72 MHz,內(nèi)置高速存儲器(64 KB的閃存和20 KB的SRAM),豐富的增強(qiáng)I/O端口和連接2條APB總線的外設(shè)[2],。
STC12C5A60S2是高速,、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),,指令代碼完全兼容傳統(tǒng)8051,。內(nèi)部集成MAX810專用復(fù)位電路、2路PWM,、8路高速10位A/D轉(zhuǎn)換,。
(2) 語音識別芯片 LD3320
LD3320芯片是一款語音識別專用芯片。該芯片集成了語音識別處理器和一些外部電路,包括A/D,、D/A 轉(zhuǎn)換器,、麥克風(fēng)接口、聲音輸出接口等,??梢詫崿F(xiàn)語音識別、聲控及人機(jī)對話功能,,并且可以任意動態(tài)編輯,、識別關(guān)鍵詞語列表。
(3) GSM模塊TC35
TC35是一款雙頻900 MHz,、1 800 MHz高度集成的GSM模塊,,具有性能穩(wěn)定,功耗低及易于集成的特點,。
(4) 無線模塊nRF24L01
nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段之間,。內(nèi)置頻率合成器、功率放大器,、晶體振蕩器及調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置,。
(5) 3.2英寸TFT真彩觸摸屏顯示模塊
該模塊功耗低,支持8 bit,、16 bit總線接口,模擬I/O控制,彩屏模塊上配置ADS7843觸摸控制器,支持一個SD卡(SPI方式),,支持一個SPI的DATA Flash,構(gòu)成人機(jī)交互圖形界面,。
2 智能家居系統(tǒng)設(shè)計及實現(xiàn)
本智能家居系統(tǒng)主要包括手持設(shè)備,、總控制臺、門禁密碼鎖3個部分,??傮w結(jié)構(gòu)如圖1所示。
該系統(tǒng)通過微處理器完成整體的控制功能,,利用無線通信及串口通信對系統(tǒng)各部分進(jìn)行串聯(lián),。通過門禁密碼鎖部分完成身份認(rèn)證功能,接收處理短信指令,,實現(xiàn)戶外控制,;利用手持設(shè)備實現(xiàn)在室內(nèi)任意地點的實時控制;通過總控制臺接收指令,,最終完成各項控制操作,。
本智能家居系統(tǒng)的操作方式如下。
(1)身份驗證
門禁密碼鎖通過串口完成與控制臺的通信,,設(shè)定密碼存入STC12C5A60S2單片機(jī)EEPROM,TFT觸摸屏顯示人機(jī)界面,。單片機(jī)獲取輸入信息,進(jìn)行比對處理后將結(jié)果傳至控制臺,。
(2)語音控制
語音信號通過語音設(shè)備輸入,,STM32F103VET6單片機(jī)通過SPI總線接收。單片機(jī)處理后通過SPI傳輸指令至nRF24L01無線模塊,。無線模塊發(fā)送指令至總控制臺,,總控制臺接收處理信息,完成相應(yīng)的控制步驟,。
(3)TFT觸摸屏控制
觸摸屏操作產(chǎn)生電平信號,,經(jīng)過轉(zhuǎn)換后通過串行總線傳輸至STM32F103VET6單片機(jī)接受處理。
(4)短信控制
GSM模塊接收短信,,經(jīng)STC12C5A60S2單片機(jī)讀取后,,通過串口傳輸發(fā)送指令至總控制臺等候處理。
(5)總控制臺操作控制
TFT觸摸屏顯示人機(jī)界面,。STC12C5A60S2單片機(jī)獲取操作信息并作出相應(yīng)處理,。
3 智能家居系統(tǒng)軟件設(shè)計
整個智能家居系統(tǒng)以STM32微處理器為控制核心,使用C語言編寫,。智能家居系統(tǒng)的軟件可分為手持設(shè)備,、總控制臺以及門禁密碼鎖3個部分,主要由底層驅(qū)動程序,、系統(tǒng)主程序,、顯示子程序、無線通信子程序,、語音識別子程序及GSM子程序等部分組成,。手持設(shè)備的軟件控制流程如圖2所示,。總控制臺的軟件控制流程如圖3所示,。門禁密碼鎖的人機(jī)界面軟件控制流程如圖4所示,。
3.1 語言模塊軟件設(shè)計
語音識別是本系統(tǒng)的重要功能之一。語音識別程序的設(shè)計,,參考了LD332X開發(fā)手冊[3],,采用中斷方式工作,其操作順序如下:
(1)初始化
在初始化程序里,主要完成軟復(fù)位,、模式設(shè)定,、時鐘頻率設(shè)定、FIFO設(shè)定等程序設(shè)置[4],。
(2)建立識別列表
識別列表在LD3320中建立,,規(guī)則是每個識別條目為標(biāo)準(zhǔn)普通話的漢語拼音(小寫),每兩個字(漢語拼音)之間用一個空格間隔。每個識別條目對應(yīng)一個特定的編號(1個字節(jié)),,不同的識別條目的編號可以相同,,且不用連續(xù),但數(shù)值要小于256(00H~FFH),。LD3320最多支持50個識別條目,。
(3)開始識別
設(shè)置相關(guān)的寄存器,開始語音識別,。在LD3320芯片正式開始識別之前設(shè)置當(dāng)前狀態(tài)(例如:LD_ASR_RUNING狀態(tài)或者LD_ASR_FOUNDOK狀態(tài)),。ADC通道為麥克風(fēng)輸入通道,ADC增益即麥克風(fēng)音量,,可設(shè)定值00H~7FH,。本系統(tǒng)采用40H~6FH的設(shè)定值。設(shè)定值過大容易造成識別啟動過于敏感,,產(chǎn)生誤識別,;設(shè)定值過小則需要近距離說話才能啟動識別功能。
(4)響應(yīng)中斷
麥克風(fēng)采集到聲音后,,將產(chǎn)生一個中斷信號,。中斷程序根據(jù)寄存器的值分析結(jié)果,通過讀取BA寄存器的值獲取候選答案個數(shù),;讀取C5寄存器里的值,,獲取最正確答案的對應(yīng)編碼。
3.2 無線模塊軟件設(shè)計
nRF24L01無線傳輸程序的設(shè)計采用增強(qiáng)型的ShockBurstTM模式下工作,。典型的雙向鏈接為:發(fā)送方要求終端設(shè)備在接收到數(shù)據(jù)后有應(yīng)答信號,,以便于發(fā)送方檢測有無數(shù)據(jù)丟失。一旦數(shù)據(jù)丟失,,則通過重新發(fā)送功能恢復(fù)丟失的數(shù)據(jù),。
發(fā)射數(shù)據(jù):設(shè)置nRF24L01為發(fā)射模式;將地址TX_ADDR和數(shù)據(jù)TX_PID按照時序由SPI口寫入nRF24L01緩存區(qū),,TX_PLD在CSN為低時連續(xù)寫入,,TX_ADDR在發(fā)射時寫入一次;CE置為高電平并保持10 ?滋s,,延遲130 ?滋s后發(fā)射數(shù)據(jù),;開啟自動應(yīng)答,nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號。如果收到應(yīng)答,則認(rèn)為此次通信成功,,TX_DS置高,清除TX_PID,;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)[5]。
接收數(shù)據(jù):設(shè)置nRF24L01為接收模式,,延遲130 ?滋s后進(jìn)入接收狀態(tài)等待數(shù)據(jù),。當(dāng)檢測到有效數(shù)據(jù)時,存儲數(shù)據(jù)包,,同時進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號,。
3.3 GSM模塊軟件設(shè)計
TC35模塊采用AT賀氏指令。單片機(jī)可以通過正確的AT指令對TC35模塊進(jìn)行初始化和短消息的接收發(fā)送,。對短消息的控制有Block模式,、PDU模式和Text模式。使用Block模式需要手機(jī)生產(chǎn)廠家提供驅(qū)動支持,。目前PDU模式已取代Block模式,,而Text模式不支持中文,因此本系統(tǒng)使用PDU模式進(jìn)行短消息的接收和發(fā)送[6]。
本文設(shè)計了一個基于STM32的智能家居控制系統(tǒng),。由STM32及STC12C5A60S2微處理器完成整體控制功能,,通過移動手持設(shè)備、總控制臺及門禁密碼鎖系統(tǒng)3部分實現(xiàn)人機(jī)界面在家居系統(tǒng)的智能化應(yīng)用,,以期達(dá)到人機(jī)交流的最優(yōu)化,;該系統(tǒng)具備識別性好、安全性高,、節(jié)能環(huán)保,、易控制、抗干擾及成本低等優(yōu)點,。系統(tǒng)實驗階段運行良好,,其實驗成果將為家居系統(tǒng)智能化的進(jìn)一步推廣應(yīng)用提供新的方向。
參考文獻(xiàn)
[1] 張逢雪,王香婷,王通生,等.基于STM32單片機(jī)的無線智能家居控制系統(tǒng)[J]. 自動化技術(shù)與應(yīng)用, 2011,30 (8):
98-101.
[2] STM32F103x8/B增強(qiáng)型系列中容量產(chǎn)品數(shù)據(jù)手冊[EB/OL].(2009-04) [2012-04]. http://www.stmicroelectronics.corn.Cn/stonline/mcu/MCU-Pages.htm.
[3] ICRoute.LD332X開發(fā)手冊[EB/OL]. [2010-10-13].http:// www.icroute.com/web_cn/DownLoad.html#LD332X-Manual.
[4] 蘇鵬,周風(fēng)余,陳磊.基于STM32的嵌入式語音識別模塊設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(2):42-45.
[5] 時志云,蓋建平,王代華,等.新型高速無線射頻器件nRF24L01及其應(yīng)用[J].國外電子元器件,2007(8):42-44.
[6] 劉濤,張春業(yè),韓旭東,等.基于手機(jī)模塊TC35的單片機(jī)短消息收發(fā)系統(tǒng)[J].電子技術(shù),2003,30(3):36-38.