《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種基于STM32的智能家居控制系統(tǒng)
一種基于STM32的智能家居控制系統(tǒng)
來源:電子技術(shù)應(yīng)用2012年第9期
陳致遠(yuǎn)1, 朱葉承1, 周卓泉1, 祝 磊2
(1. 杭州電子科技大學(xué) 信息工程學(xué)院,浙江 杭州 310018; 2. 杭州電子科技大學(xué) 生命信息
摘要: 設(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)用前景。
Abstract:
Key words :

摘   要: 設(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ǎ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)智能控制的同時,研制一個成本低、實用性強的智能家居系統(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),豐富的增強I/O端口和連接2條APB總線的外設(shè)[2]。
    STC12C5A60S2是高速、低功耗、超強抗干擾的新一代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)制器等功能模塊,并融合了增強型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個部分。總體結(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è)計采用增強型的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增強型系列中容量產(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。