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