陳靖文,陳 蕾,張永康,朱順凱,白偉學(xué),鄧淏文
(1.蘇州城市學(xué)院電子信息工程系,江蘇 蘇州 215104;2.蘇州大學(xué)電子信息學(xué)院,江蘇 蘇州 215006)
2014 年以來,各大廠商已開始密集布局智能家居,盡管從產(chǎn)業(yè)來看,業(yè)內(nèi)還沒有特別成功的案例顯現(xiàn),這預(yù)示著行業(yè)發(fā)展仍處于探索階段,但越來越多的廠商開始介入和參與已使外界意識(shí)到智能家居未來發(fā)展前景廣闊,在智能家居中占據(jù)首位的語音識(shí)別技術(shù)正蓬勃發(fā)展。2018 年科大訊飛提出了深度全序列卷積神經(jīng)網(wǎng)絡(luò)(DFCNN),阿里提出了LFR-DFSMN。2019年,百度提出了流式多級(jí)的截?cái)嘧⒁饬δP蚐MLTA,越來越多的廠商開始推動(dòng)智能語音識(shí)別的發(fā)展。
追求更加實(shí)用性、易用性、安全性、人性化的設(shè)備是時(shí)代進(jìn)步的需求和標(biāo)志,使居住環(huán)境更加方便、舒適、環(huán)保是本文所要達(dá)到的目標(biāo)。本文設(shè)計(jì)了基于單片機(jī)的語音識(shí)別智能臺(tái)燈控制系統(tǒng),在此系統(tǒng)中實(shí)現(xiàn)了語音識(shí)別、亮度調(diào)節(jié)、自動(dòng)開關(guān)、遠(yuǎn)程控制等功能。外出無需再擔(dān)心燈光是否關(guān)閉,更加便捷地提供了睡前燈光聲控關(guān)閉功能和半夜起床時(shí)的照明。實(shí)現(xiàn)了非接觸式的燈光智能控制,具有一定的實(shí)用價(jià)值[1]。
智能燈光控制系統(tǒng)主要由以下幾部分組成:單片機(jī)模塊、語音識(shí)別模塊、紅外人體感應(yīng)模塊、光敏與A/D 轉(zhuǎn)換模塊、按鍵模塊、液晶顯示模塊及Wi-Fi 模塊。系統(tǒng)的硬件結(jié)構(gòu)如圖1 所示。
圖1 硬件結(jié)構(gòu)圖
本文采用STC89C52RC 作為主控芯片,實(shí)現(xiàn)數(shù)據(jù)采集和控制。STC89C52RC 在指令系統(tǒng)和引腳上與MCS-51 系列的單片機(jī)完全兼容,它采用Flash 存貯器技術(shù),降低了制造成本,將多功能8 位CPU 和閃存組合在單個(gè)芯片中,其程序的電可擦寫特性,使得開發(fā)與試驗(yàn)更加容易,具有靈活性高、功能強(qiáng)且價(jià)格低廉等特點(diǎn)。
本設(shè)計(jì)中語音識(shí)別模塊的芯片選用LD3320。它是一顆真正的單芯片,由ICRoute 公司設(shè)計(jì)生產(chǎn),具有非特定人語音識(shí)別技術(shù)、高準(zhǔn)確度和實(shí)用的語音識(shí)別效果,可動(dòng)態(tài)編輯且最高有50 條識(shí)別關(guān)鍵詞語列表;內(nèi)含PLL 頻率合成器、A/D 和D/A 轉(zhuǎn)換器、麥克風(fēng)輸入和MP3 輸出接口等部分;支持并行接口或SPI 接口,支持休眠模式,具有MP3 播放功能[2]。
LD3320 芯片的MICN(P)為麥克風(fēng)輸入接收口,考慮到家里環(huán)境相對(duì)安靜,外界麥克風(fēng)采用遠(yuǎn)距離拾音咪頭,實(shí)現(xiàn)無論在家中何處都能語音控制智能燈。再將其MD 口置為1,就可以通過4 個(gè)控制信號(hào)(WRB、RDB、CS、A0)、8 路數(shù)據(jù)線(P0~P7)及1 個(gè)中斷返回信號(hào)(INTB)和MCU 主控進(jìn)行并行通信。
在完成單片機(jī)和語音芯片的通用初始化后,就可以進(jìn)行語音識(shí)別工作了。運(yùn)行ASR 的流程如下:首先,進(jìn)行ASR 初始化,初始化ASR 一些參數(shù),這些參數(shù)主要包括設(shè)置語音檢測(cè)的靈敏度、起始語音的時(shí)間和背景噪音時(shí)間;接著添加關(guān)鍵詞語到LD3320 芯片中,將“管家”“打開燈光”“關(guān)閉燈光”“降低亮度”“升高亮度”這些詞的拼音錄入為關(guān)鍵詞語;把例如“關(guān)閉”“降低”“管(關(guān))”等這些有諧音或表達(dá)不全的詞語列入垃圾詞匯,以降低識(shí)別出錯(cuò)率;最后,打開MIC輸入,啟動(dòng)AD 采樣,激活DSP,啟動(dòng)ASR 運(yùn)算模塊,開始語音識(shí)別。每次識(shí)別的過程,就是把用戶說出的語音內(nèi)容,通過頻譜轉(zhuǎn)換為語音特征,和這個(gè)關(guān)鍵詞語列表中的條目進(jìn)行一一匹配,最優(yōu)匹配的一條作為識(shí)別結(jié)果。識(shí)別流程結(jié)束后,單片機(jī)通過并行口通信獲得識(shí)別結(jié)果,隨后單片機(jī)對(duì)LED 臺(tái)燈進(jìn)行相應(yīng)的控制。語音模塊電路圖如圖2 所示。
圖2 語音模塊電路圖
本文選用了BISS0001 模塊。BISS0001 是由運(yùn)算放大器、電壓比較器、狀態(tài)控制器、延遲時(shí)間定時(shí)器及封鎖時(shí)間定時(shí)器等構(gòu)成的數(shù)?;旌蠈S眉呻娐罚湟詿後岆娂t外傳感器和少量外接元器件構(gòu)成被動(dòng)式的熱釋電紅外開關(guān)。它能自動(dòng)快速開啟各類白熾燈、熒光燈、蜂鳴器、自動(dòng)門、電風(fēng)扇、烘干機(jī)和自動(dòng)洗手池等裝置,特別適用于企業(yè)、賓館、商場、庫房及家庭的過道、走廊等敏感區(qū)域,或用于安全區(qū)域的自動(dòng)燈光、照明和報(bào)警系統(tǒng)。
通過光敏電阻模塊實(shí)現(xiàn)光敏感應(yīng)自動(dòng)調(diào)節(jié)亮度的功能的測(cè)量信號(hào)值,然后將其模擬量通過PCF8591 轉(zhuǎn)換為數(shù)字量來實(shí)現(xiàn)。PCF8591 是8 位AD/DA 轉(zhuǎn)換芯片,設(shè)定基準(zhǔn)電壓為5.1 V 時(shí),其分辨率可以達(dá)到0.02 V。PCF8591 與外界的通信靠SDA、SDL 這2 條線通過IIC協(xié)議進(jìn)行雙向傳輸。
單片機(jī)通過向總線發(fā)送地址字節(jié)來選擇該模塊,發(fā)送控制字節(jié)選擇該模塊進(jìn)行AD 轉(zhuǎn)換。光敏電阻產(chǎn)生的模擬量通過AIN0 口輸入給PCF8591,經(jīng)過芯片的ADC 后,再將數(shù)字量通過SDA 輸出給單片機(jī),最后單片機(jī)根據(jù)接收到的數(shù)字量作出相應(yīng)的改變來。因此硬件系統(tǒng)中,把光敏電阻放在臺(tái)燈板上方,以此來避免光敏電阻受臺(tái)燈的光線影響而影響其亮度的調(diào)節(jié)。光敏感應(yīng)與A/D 轉(zhuǎn)換模塊仿真圖如圖3 所示。
圖3 光敏電阻與A/D 轉(zhuǎn)換電路圖
Wi-Fi 模塊本文采用了ESP8266 芯片,ESP8266支持STA 模式、AP 模式和STA/AP 混合模式這3 種應(yīng)用模式。其具有超功耗低、成本低廉、使用便捷、功能強(qiáng)大等眾多優(yōu)點(diǎn)。僅需這一個(gè)模塊,就可通過互聯(lián)網(wǎng)將所有物聯(lián)網(wǎng)設(shè)備連接在一起。本文使用AT+CWJAP=“Wi=Fi 名稱”“Wi=Fi 密碼”便可以把小燈連接到當(dāng)前環(huán)境指定的路由器來進(jìn)行操作。
主程序流程圖如圖4 所示。首先初始化整個(gè)系統(tǒng),若有手動(dòng)控制與遠(yuǎn)程控制,則可通過其打開或關(guān)閉小燈。若無手動(dòng)控制與遠(yuǎn)程控制,則系統(tǒng)自動(dòng)檢測(cè)語音識(shí)別系統(tǒng)是否有語音指令發(fā)出。若沒有檢測(cè)到指令燈光處于熄滅狀態(tài),若檢測(cè)到語音指令,進(jìn)入下一步人體紅外檢測(cè),人體紅外檢測(cè)模塊未檢測(cè)到人體信號(hào)則保持燈光熄滅,若檢測(cè)到其信號(hào)則打開燈光。光亮程度的調(diào)節(jié)采用以下3 種方式:①按鍵控制,按鍵調(diào)節(jié)燈光的亮度;②光亮的自檢測(cè),根據(jù)光敏電阻控制燈光電壓大小并自動(dòng)調(diào)整其亮度;③遠(yuǎn)程控制通過發(fā)送的指令來調(diào)節(jié)亮度。
圖4 主程序流程圖
語音識(shí)別模塊流程圖如圖5 所示。首先系統(tǒng)初始化后處于調(diào)整狀態(tài),控制系統(tǒng)檢測(cè)語音模塊是否發(fā)出可識(shí)別的一級(jí)指令(管家),若沒有檢測(cè)到語音指令,則一直處于系統(tǒng)調(diào)整狀態(tài);若檢測(cè)到語音指令,則控制指示燈亮,采集語音信號(hào),再檢測(cè)是否存在二級(jí)語音指令(打開燈光、關(guān)閉燈光、降低亮度、升高亮度)。若檢測(cè)到該信號(hào),則將信號(hào)傳輸給語音識(shí)別模塊進(jìn)行預(yù)先設(shè)定的詞條搜索并識(shí)別生成指令,并發(fā)送至單片機(jī),使其控制燈光的狀態(tài);若未檢測(cè)到該信號(hào)或者在進(jìn)行語音指令搜索時(shí),沒有搜索到相關(guān)的指令,也就是識(shí)別不成功時(shí),系統(tǒng)將會(huì)認(rèn)定當(dāng)前語音識(shí)別不成功,則再次返回系統(tǒng)調(diào)整狀態(tài),此時(shí)需要再次進(jìn)行語音采集和識(shí)別,直到識(shí)別到最為合適的命令作為最后結(jié)果傳輸給單片機(jī)[3]。
圖5 語音模塊流程圖
本文所設(shè)計(jì)的基于語音識(shí)別技術(shù)的LED 臺(tái)燈實(shí)現(xiàn)了家居行業(yè)的現(xiàn)代化和智能化。運(yùn)用單片機(jī)技術(shù)來實(shí)現(xiàn)聲控開關(guān)、智能調(diào)節(jié)亮度、人體感應(yīng)、遠(yuǎn)程控制等一系列功能。
經(jīng)過后期的調(diào)試與改進(jìn),具體功能如下:①語音識(shí)別控制開關(guān)??梢栽谝雇碚f出口令,自動(dòng)打開臺(tái)燈,避免在黑暗環(huán)境下難以尋找開關(guān),提供了便利,保障了人們的安全。②紅外人體感應(yīng)開關(guān)。能夠感知人體,當(dāng)人們忘記關(guān)燈或出現(xiàn)緊急情況長時(shí)間離開時(shí),臺(tái)燈會(huì)自動(dòng)熄滅,以此來減少資源的浪費(fèi),比傳統(tǒng)臺(tái)燈省電。③自動(dòng)感應(yīng)亮度調(diào)節(jié)和手動(dòng)亮度調(diào)節(jié)。自動(dòng)感應(yīng)亮度的功能可以就使用者所處的環(huán)境給以合適的光亮,防止光線問題影響使用者的視力,而手動(dòng)調(diào)節(jié)是為了滿足使用者在某些條件下的光亮要求以達(dá)到合適亮度。總而言之,這2 種調(diào)節(jié)方式均可以保護(hù)使用者的視力。④臺(tái)燈設(shè)有1602 液晶顯示屏,1602 顯示屏可以顯示亮度指數(shù)信息,操作者可根據(jù)需求更改亮度。⑤可以通過遠(yuǎn)程控制較好控制臺(tái)燈的亮滅,當(dāng)人不在家時(shí)也可以對(duì)臺(tái)燈進(jìn)行實(shí)時(shí)控制。
通過本次實(shí)驗(yàn),本文給出一種基于STC89C52RC、LD3320、BISS0001 和PCF8591 的智能燈光控制系統(tǒng),不僅能夠通過語音識(shí)別,而且也能利用環(huán)境光強(qiáng)對(duì)小燈進(jìn)行智能控制。該系統(tǒng)操作方便、準(zhǔn)確率較高、成本低廉,具有一定的實(shí)用價(jià)值。