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