基于ZigBee節(jié)點(diǎn)的智能家居系統(tǒng)語音控制設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括下位機(jī)軟件與上位機(jī)軟件設(shè)計(jì)。在下位機(jī)程序設(shè)計(jì)過程中有2個(gè)關(guān)鍵點(diǎn):對(duì)數(shù)字語音信號(hào)的采集、處理與識(shí)別;ZigBee收發(fā)模塊對(duì)控制信號(hào)的接收、發(fā)送與執(zhí)行。而在上位機(jī)軟件設(shè)計(jì)中,主要是基于Visual C++的串口通信的編程。
上位機(jī)主程序流程圖如圖2所示。本文引用地址:http://butianyuan.cn/article/153707.htm
S3C6410開發(fā)平臺(tái)具有4個(gè)UART接口,在研究設(shè)計(jì)中,采用了芯片MAX 3232來解決ZigBee通信模塊的CC2530芯片與該開發(fā)平臺(tái)之間的串口通信電平轉(zhuǎn)換。上位機(jī)通過串口接收語音子節(jié)點(diǎn)的控制指令數(shù)據(jù),將數(shù)據(jù)處理后用文字顯示控制命令,并通過與ZigBee主節(jié)點(diǎn)之間的串口通信,向子節(jié)點(diǎn)發(fā)送控制指令數(shù)據(jù)。
單片機(jī)SPCE061A的UART數(shù)據(jù)格式只有一種,需按照規(guī)定的數(shù)據(jù)格式與CC2530模塊進(jìn)行串口通信。該程序在凌陽科技的μ’nSP IDE集成開發(fā)環(huán)境下進(jìn)行開發(fā),并采用凌陽科技提供的語音處理函數(shù)以及函數(shù)庫。語音子節(jié)點(diǎn)程序流程圖如圖3所示。
由于單片機(jī)SPCE061A在進(jìn)行語音識(shí)別時(shí),一次性只能同時(shí)識(shí)別5條語音指令。為了增加其所能識(shí)別的語音指令,本文采用了分組法,能夠在存儲(chǔ)器允許的情況下識(shí)別多條語音指令。在燒錄完程序首次使用該節(jié)點(diǎn)時(shí),要對(duì)該節(jié)點(diǎn)進(jìn)行訓(xùn)練。在該節(jié)點(diǎn)的語音提示下,依次錄入4組命令,每組分5條語音指令,為了提高識(shí)別的質(zhì)量,每條命令需要訓(xùn)練兩遍。在語音訓(xùn)練結(jié)束后,啟動(dòng)該智能家居系統(tǒng)就能夠?qū)揖舆M(jìn)行語音控制,且能夠?qū)崿F(xiàn)非特定人語音識(shí)別。
評(píng)論