国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于語音識別的家居控制器的設計與實現(xiàn)

2015-04-12 16:50顧問陳布雨胡之惠胡繼康史豪
科技創(chuàng)新導報 2015年32期
關(guān)鍵詞:語音識別智能控制

顧問 陳布雨 胡之惠 胡繼康 史豪

摘 要:介紹了一種基于Arduino的智能家居控制系統(tǒng),利用Arduino作為主控系統(tǒng),結(jié)合傳感器技術(shù)、中文語音識別技術(shù)及語音控制技術(shù)等實現(xiàn)對家居環(huán)境中的溫濕度、照明設備、家電設備等的智能控制。該系統(tǒng)具有無線控制的功能,操作方便,成本低,適合大量推廣使用。

關(guān)鍵詞:Arduino 智能控制 語音識別 音樂點播

中圖分類號:TN247 文獻標識碼:A 文章編號:1674-098X(2015)11(b)-0139-04

1 設計背景與意義

隨著世界經(jīng)濟的進一步發(fā)展和科技以人為本的信念深入人心,尤其是今后生活區(qū)與工作區(qū)界限日益模糊,使得小區(qū)智能化在技術(shù)與市場兩方面都取得了長足進步,目前進入小區(qū)與家居智能化高速發(fā)展時期。智能建筑始建于20世紀80年代初的美國,我國智能建筑發(fā)展較晚,起步于20世紀90年代,1994年建設部下發(fā)了《全國住宅小區(qū)智能化系統(tǒng)示范工程工作大綱》和《全國住宅小區(qū)智能化系統(tǒng)示范工程建設要點技術(shù)導則》,使我國住宅從傳統(tǒng)模式開始向智能化模式轉(zhuǎn)型,從此拉開建設智能化小區(qū)的序幕。

自2003年以來,海信、清華同方等公司也相繼加入到智能家居行列,但目前智能家居系統(tǒng)還缺乏統(tǒng)一明確的國際標準,許多公司開發(fā)出的產(chǎn)品都是基于自己組建的網(wǎng)絡和信息交換協(xié)議,許多產(chǎn)品是針對特定組網(wǎng)環(huán)境開發(fā)的,部分核心技術(shù)沒有對外公布,技術(shù)復雜,直接導致使用范圍的局限性。由于缺乏對應的第三方產(chǎn)品,各個接入設備之間不能兼容,互操作性差,不利于產(chǎn)品的擴充。

“智能家居”中智能意義在于家居設施能像人一樣的思考或能理解人的意圖,改變傳統(tǒng)的接觸式操作方式,其目的在于為用戶提供更加簡捷舒適的家居控制體驗。語言是人類最熟悉最方便的交流工具,通過語音操控各種家居設施是實現(xiàn)智能家居這一理想藍圖的重要一環(huán)。為實現(xiàn)所有家庭成員對家居設施的控制,模塊采用非特定人語音識別系統(tǒng)。該系統(tǒng)通過語音識別模塊LD3320及中文語音合成模塊SYN6288構(gòu)成人機對話:操作者自身發(fā)出語音指令,系統(tǒng)通過語音識別模塊接收并將其轉(zhuǎn)化為相應的指令同時對其進行處理,通過主控制器Arduino UNO進行相應的操作,同時語音合成模塊通過相應的文本合成語音(TTS)進行反饋提示,繼而實現(xiàn)人機對話功能。

2 設計方案的比較選擇

Arduino是一款基于AVR單片機的硬件電路和軟件開發(fā)環(huán)境共同開源的控制系統(tǒng),是交互式編程學習的一種媒介、是為嵌入式開發(fā)的學習而研發(fā)的一種控制終端。Arduino和其他AVR系列的單片機開發(fā)板相比有以下幾點獨有的優(yōu)勢。

可交互性:Arduino設計之初就規(guī)定了統(tǒng)一的框架結(jié)構(gòu),電路底層的初始化采取了統(tǒng)一的方法,對于數(shù)字信號和模擬信號的I/O系統(tǒng)也進行了統(tǒng)一的規(guī)定。這些特性使得Arduino學習者和使用者在進行電路設計交流時保持了統(tǒng)一的物理底層特性,從而達到易于交流和學習的目標。

安全的易用性:Arduino和外部程序交互的接口是一個標準的USB接口。Arduino通訊接口的唯一性和開發(fā)環(huán)境的友好性使得該平臺能夠安全簡單的實現(xiàn)不同的控制目的。

良好的可擴展性:Arduino本身標準的數(shù)字和模擬I/O口支持豐富的硬件擴展。Arduino通過連接線能和各種傳感器模塊、驅(qū)動模塊和網(wǎng)絡模塊相連接,在上位機編寫的程序控制下能夠簡單高效的實現(xiàn)各種環(huán)境數(shù)據(jù)的采集和偵測,并能驅(qū)動各種小功率聲、光、電器件對采集和偵測到的數(shù)據(jù)進行顯示。Arduino還能通過網(wǎng)絡模塊將采集到的數(shù)據(jù)通過網(wǎng)絡接口上載到互聯(lián)網(wǎng)平臺供眾多的學習者和開發(fā)者使用。

第三方資源豐富:Arduino無論硬件和軟件都是開源的,這些特性使得開發(fā)者可以完全掌握其底層實現(xiàn)機制,在全球眾多的Arduino開源社區(qū)中,開發(fā)者可以輕松的找到能供自己使用的軟、硬件信息。

Arduino的這些特性使得在當今ARM平臺大行其道的時候能夠在嵌入式平臺占有一席之地。并使得Arduino贏得了“電子的藝術(shù)”的美稱。許多電子技術(shù)領(lǐng)域以外的愛好者憑借自身的想象力創(chuàng)造出了許多杰出的作品。

3 語音家居控制器的硬件組成

語音控制器的設計和實現(xiàn)中,硬件是關(guān)鍵和基礎(chǔ),它對整個系統(tǒng)的穩(wěn)定性、控制和反饋的準確性、節(jié)能性都有直接影響。智能家居控制系統(tǒng)的硬件部分主要包括主控制器、傳感系統(tǒng)、語音識別系統(tǒng)、語音合成及控制系統(tǒng)等。主要工作過程是通過麥克風接收人的語音指令,由語音識別模塊LD3320進行識別,把識別的結(jié)果送入到主控制器當中再由主控制器向各個模塊發(fā)出相應的動作指令,進行相應的動作。主控制器采用最新的Arduino UNO R3控制板,傳感器部分則由溫濕度傳感器和光線傳感器組成,用以檢測室內(nèi)實時的溫濕度情況以便用戶對室內(nèi)情況得以及時的掌握為用戶對家居進行必要的防潮防火措施都有一定的警示作用。系統(tǒng)結(jié)構(gòu)如圖1所示。

4 語音家居控制器的設計實現(xiàn)

4.1 語音家居控制器主控單元

語音家居控制系統(tǒng)的主控制單元采用Arduino UNO R3。Arduino UNO的處理器核心是ATmega328P單片機(一個8位微控制器帶32K字節(jié)的系統(tǒng)可編程Flash)。

Arduino UNO具有高性能低功耗,先進的RISC結(jié)構(gòu),高耐久性非易失性內(nèi)存段等特點,外設方面兩個8-bit定時器/計數(shù)器、一個16位定時器/計數(shù)器、實時計數(shù)器使單片機具有獨立的預分頻器和比較模式以及捕捉功能模式和獨立振蕩器,同時具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6個模擬輸入,一個16 MHz晶體振蕩器,一個USB口,一個電源插座,一個ICSP header和一個復位按鈕,可編程串行USART、主/從SPI串行接口以及中斷和引腳點評變化喚醒。該款單片機還具有上電復位和可編程的掉電檢測、內(nèi)部校準振蕩器、外部和內(nèi)部中斷源、6種睡眠模式等特殊功能??刂瓢逋ㄟ^標準USB線纜與電腦連接,便于在線進行程序調(diào)試。UNO已經(jīng)發(fā)布到第3版,與前2版相比有以下新的特點。

(1)在AREF處增加了2個管腳SDA和SCL,支持I2C接口;增加IOREF和一個預留管腳。

(2)改進了復位電路設計。

(3)USB接口芯片由ATmega 16U2替代了ATmega8U2(見圖2)。

4.2 語音識別模塊

目前,語音識別技術(shù)的發(fā)展十分迅速,按照識別對象的類型可以分為特定人和非特定人語音識別。特定人是指識別對象為專門的人,非特定人是指識別對象是針對大多數(shù)用戶,一般需要采集多個人的語音進行錄音和訓練,經(jīng)過學習從而達到較高的識別率。

我們采用DFRobot的中文語音識別模塊,它的核心則是我們大家都熟知的LD3320,LD3320語音識別芯片是一顆基于非特定人語音識別(SI ASR)技術(shù)的芯片。該芯片上集成了高精度的A/D和D/A接口,不再需要外接輔助的Flash和RAM,識別的關(guān)鍵詞語列表是可以動態(tài)編輯的。它是一款只需要在主控MCU的程序中設定好要識別的關(guān)鍵詞語列表并動態(tài)地把這些關(guān)鍵詞語以字符的形式傳送到芯片內(nèi)部,就可以對用戶說出的關(guān)鍵詞語進行識別。該模塊可以設置50項候選識別句,每個識別句可以是單字,詞組或短句,長度為不超過10個漢字或者79個字母的拼音串,為了提高識別精準度,開發(fā)者還可以設置“垃圾關(guān)鍵字”,使得該模塊遇到這些“垃圾關(guān)鍵字”則重新識別,可由一個系統(tǒng)支持多種場景。不過需要說明的是,使用環(huán)境的噪聲會影響到Voice Recognition的語音識別效果。另外,如果使用者的聲音過小的話,它無法精準判斷哪里應該“斷句”。

Voice Recognition語音識別模塊采用疊層設計,可以直接插接到Arduino控制器上,用戶使用Arduino便可以快速設計產(chǎn)品原型,例如:電磁爐、微波爐、洗衣機、智能家電操作,照明系統(tǒng)的聲控等等(見圖3)。

語音識別流程采用中斷方式工作,其工作流程分為初始化、寫入關(guān)鍵詞、開始識別和響應中斷等。用ARDUINO IDE編寫。調(diào)試完成后通過串口進行燒錄,控制LD3320完成語音識別,并將識別結(jié)果上傳至Arduino mega168控制器。其軟件流程如圖4所示。

4.3 語音合成模塊

TTS(Text To Speech)文本轉(zhuǎn)語音技術(shù)是人機只能對話發(fā)展的趨勢?;赥TS技術(shù)的語音系統(tǒng)無需事先錄音就能夠隨時根據(jù)查詢條件查出病合成語音進行播報,從而大大減少了系統(tǒng)維護的工作量。利用此技術(shù),通過MCU或者PC機就能控制語音芯片發(fā)音。

我們采用SYN6288中文語音合成芯片進行語音合成??刂破骱蚐YN6288之間通過UART接口連接或SPI接口通信方式,接收待合成的文本數(shù)據(jù),實現(xiàn)文本到語音(TTS)的轉(zhuǎn)換。該模塊支持GB2312、GBK、BIG5和UNICODE內(nèi)碼格式的文本,清晰、自然、準確的中文語音合成效果;可合成任意的中文文本,同時支持英文字母的合成;另外它具有智能的文本分析處理算法,可正確識別數(shù)值、號碼、時間日期及常用的度量衡符號;在其具有很強的多音字處理和中文姓氏處理能力的特點下,更具備支持多種文本控制標記的能力,提升了文本處理的正確率??刂破骱蚐YN6288語音合成芯片之間通過UART接口連接,控制器通過串口通信向SYN6288語音合成芯片發(fā)送控制命令和文本,SYN6288語音合成芯片把接收到的文本合成語音信號輸出,輸出信號經(jīng)功率放大器進行放大后連接到喇叭進行播放(見圖5)。

上位機以命令幀的格式向SYN6288新芯片發(fā)送命令。SYN6288芯片根據(jù)命令幀進行相應操作,并向上位機返回命令操作結(jié)果。接收到控制命令幀后,芯片會向上位機發(fā)送一個字節(jié)的狀態(tài)回傳,上位機可根據(jù)這個回傳來判斷芯片當前的工作狀態(tài)。SYN6288芯片在初始化成功后會發(fā)送一個字節(jié)的“初始化成功”回傳。芯片在收到命令幀后會判斷此命令幀是否正確,如果命令幀正確返回“接收成功”回傳。

SYN6288芯片在收到狀態(tài)查詢命令時,如果芯片正處于播音工作狀態(tài)則返回“正在播音”回傳,如果芯片處于空閑狀態(tài)則返回“芯片空閑”回傳。在一幀數(shù)據(jù)合成完畢后,芯片會自動返回一次“芯片空閑”的回傳。在達到相應的觸發(fā)條件時芯片進行回傳類型名稱及數(shù)據(jù)。

4.4 語音播放模塊

語音播放模塊見圖6。該模塊具有9個觸發(fā)端口,即A1-A9這9個端口同時對應9首MP3,分別是第一首到第九首,先放入TF卡的為第一首歌,我們可以通過給相應的觸發(fā)端口以低電平觸發(fā)相對應的歌曲,例如:A1口,只要像A1口提供一個低電平這樣就可以馬上進行播放第一首MP3。如果使用直接觸發(fā)的方式播放歌曲可以將板子上的GND分別接觸相對用的端口;在設計的系統(tǒng)中,我們需要利用Arduino UNO主控板對其就行控制,通過MCU的IO口來對各個端口進行觸發(fā)即編碼觸發(fā)方式。在編碼觸發(fā)方式下,此模塊最多可以具備31首歌曲的點播功能。在Arduino MCU的IO輸出編碼后,等待500 ms或以上便馬上恢復默認值(高電平)后觸發(fā)成功進行播放歌曲,歌曲的編碼為二進制編碼方式。

4.5 Arduino數(shù)字IO擴展模塊

在整個系統(tǒng)設計過程中,由于Arduino UNO板只有14+6個數(shù)字輸出,而語音識別模塊,語音合成模塊,繼電器模塊,傳感器模塊占用了較多的IO口導致Arduino UNO主控板的IO口匱乏,在此,我們采用74HC595芯片來對主控板的IO口進行擴增,從而實現(xiàn)更多模塊的控制(如M3音樂點播模塊)。

74HC595芯片是一個價格低廉的8位串行輸入變串行輸出或并行輸出的移位寄存器,具有高阻關(guān)斷,高電平和低電平3臺輸出。在IO擴充上,最多可以串聯(lián)15片,也就是高達120個IO口的擴充,通過3個數(shù)據(jù)引腳(STCP、SHCP、DS),可以控制幾乎無限量的輸出。該DS是一個串行數(shù)據(jù)輸入端,每當時鐘輸入每當時鐘輸入(SHCP)上升沿到來時,DS引腳當前電平值在移位寄存器中會移一位,連續(xù)進行8次同樣的動作,就可以完成全部(Q0至Q7)移位。最后當STCP(Latch)上升沿到來時,移位寄存器的值將會被鎖定在存儲器里,并從Q0至Q7引腳輸出。

5 結(jié)語

語音家具控制器采用Arduino UNO R3控制板實現(xiàn)。Arduino UNO的處理器核心是ATmega328P單片機(一個8位微控制器帶32K字節(jié)的系統(tǒng)可編程Flash)。設計主要分為硬件和軟件兩個部分。筆者盡可能進行了電路的優(yōu)化設計,電路功耗低,體積小,軟件部分包括標準的程序編譯器和程序下載器,可以依需求自己修改,輸出可擴展,能方便地與傳感器及各式各樣的電子組件連接。通過實際功能驗證,該控制器實現(xiàn)了通過語音控制家電的目的,為家電的跨空間控制和安全控制提供了新的解決方案?;诜翘囟ㄈ苏Z音識別,不再需要外接輔助的Flash和RAM,即可以實現(xiàn)語音識別、聲控、人機對話功能,且關(guān)鍵詞語列表是可以動態(tài)編輯的,從而使我們能夠更加容易的改變各項觸發(fā)命令。該設計具有很強實用性及較可靠的性能,響應速度快,使用方便,但系統(tǒng)在運行時易受到外界環(huán)境的影響,這些都需要我們進一步的改進,我們也正繼續(xù)努力優(yōu)化設計方案來解決這些問題。

參考文獻

[1] 張培仁.傳感器原理檢測及應用[M].北京:清華大學出版社,2012.

[2] 成謝鋒,周井泉.電路與模擬電子技術(shù)基礎(chǔ)[M].北京:科學出版社,2012.

[3] 李全利.單片機原理及應用[M].北京:高等教育出版社,2012.

[4] 吳黎明.語音信號及單片機處理[M].北京:科學出版社,2007.

[5] 馬忠梅.單片機的C語言應用程序設計[M].北京:科學出版社,2007.

[6] BANZI M. Getting started with Arduino[M]. California:OREILLY,2009.

[7] 紀欣然.基于Arduino開發(fā)環(huán)境的智能尋光小車設計[J].現(xiàn)代電子技術(shù),2012,35(15):161-163.

猜你喜歡
語音識別智能控制
通話中的語音識別技術(shù)
智能控制在機器人領(lǐng)域中的應用
應用型人才培養(yǎng)導向下智能控制教學改革探討
舞臺演出智能多媒體多網(wǎng)合一系統(tǒng)的研發(fā)與應用
淺談開關(guān)式電梯IC卡系統(tǒng)及展望
面向移動終端的語音簽到系統(tǒng)
農(nóng)業(yè)物聯(lián)網(wǎng)平臺手機秘書功能分析與實現(xiàn)
基于Android手機語音和Arduino控制板的機器人控制系統(tǒng)