?

基于語音識別技術的智能家居系統設計

2023-12-25 03:25黃玲周裕濱黃源俊
電腦知識與技術 2023年31期
關鍵詞:語音識別系統設計智能家居

黃玲 周裕濱 黃源俊

摘要:在社會人口老齡化越來越嚴重的背景下,針對獨居老人居家不方便的問題,該文設計了基于語音識別技術的智能家居系統。該系統控制包括語音、手勢和自動控制等方式,利用傳感器對手勢數據進行識別之后實現姿態解算,使處理之后的數據在單片機中傳輸,如果和預設手勢匹配,那么就能夠對家居設備進行控制。另外,各項環境參數與家居設備狀態實時顯示在顯示屏中。該設計系統能夠方便獨居老人的生活,安全性較高。

關鍵詞:語音識別;智能家居;系統設計

中圖分類號:TP391? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2023)31-0038-03

開放科學(資源服務)標識碼(OSID)

將語音識別技術和語音合成技術結合起來所創建的語音用戶界面在智能家居中應用能夠實現家電設備的語音控制,從而提供給用戶舒適、安全的生活環境。目前,智能家居技術相關產品已經開始廣泛應用。本文重點分析如何設計先進智能家居系統,這里的先進主要體現在設備技術水平方面,以促進現代智能家居的發展。

1 系統的功能需求

本文研究主要目的是實現基于語音識別的智能家居系統設計,用戶能夠利用語音指令控制家用設備,比如燈光、空調、電視等,提高人們生活便利性[1]。通過系統需求分析,功能需求包括:

1) 語音識別。此為系統基本功能,也是本次設計重點,語音識別能夠提高家居生活便利性。

2) 自動休眠。節約用電,使功耗降低[2]。

3) 無線數據傳輸。數據傳輸能夠聯系各系統模塊,使用語音控制nRF95模塊實現。

4) 語音喚醒。在檢測輸入語音的時候,能夠自動退出休眠模式后工作。

本文設計過程中使用非接觸式IC卡,也稱為射頻卡技術、無觸點集成電路卡。和讀寫器沒有機械接觸,是根據空間媒介電磁波通信。主要特點是安全性好、可靠性高、操作方便。使用DS18B20數字溫度傳感器測溫,封裝之后能夠應用到潔凈室測溫、電纜溝測溫和鍋爐測溫等場合中[3]。

系統的框架設計如圖1所示。

2 系統的硬件設計

在系統硬件設計過程中,家庭網關主控硬件通過網關通信和語音識別模塊構成,收集語音信息并且預處理,最后使其識別為文字[4]。

2.1 主控中心模塊

主控中心使用JZ2440開發板,使用三星公司微處理器S3C2440A作為核心控制器,主要特點為體積小、功耗低、功能強大。首先,此開發板的外設比較豐富,提供多個調試接口,主要包括3個COM口和1個ITAG口,開發者的程序調試比較方便,能夠節約開發時間[5]。其次,提供64M SDRAM等資源,為用戶提供聲卡、網卡等硬件資源。另外,JZ2440開發板還具備大量接口,包括音頻接口、以太網接口、TF卡插座、攝像頭接口、LCD顯示接口等。最后,此開發板具備支持I2C總線設備、外擴SPI總線設備等能力,使多個外設的擴展更加方便[6]。

2.2 圖像采集模塊

本文在主控中心中設置視頻架空模塊,使方案問題得到解決,并且提高住宅安全性。JZ2440開發板自帶攝像頭接口和USB Host接口,能夠控制攝像頭,但是不方便進行后期開發與維護。另外,帶有USB攝像頭種類比較多,可以自由選擇,由于支持MJPEG壓縮格式輸出的USB接口能夠提高視頻傳輸性能,因此本文使用帶有USB接口的攝像頭收集圖像[7]。

為保證圖像清晰,價格成本低,本文使用RER-USB30W02M攝像頭。此攝像頭工作電壓為DC5V,支持不同壓縮格式的輸出。圖2為圖像采集模塊的框圖,利用USB接口與JZ2440連接,使收集的視頻在SD卡中分時段存儲,使視頻在LCD顯示屏匯總實時顯示,還能夠利用網絡通信在終端傳輸視頻內容。

2.3 紅外節點硬件

紅外節點由STM32F103單片機、HXD019D和nRF905射頻模塊構成,HXD019D紅外模塊屬于節點紅外控制模塊,此模塊包括紅外LED燈和HXD019芯片。芯片體積較小,集成市場中大部分紅外設備遙控碼協議,能夠學習全球各種紅外碼值,并且支持大部分紅外碼格式。其次,紅外LED還能夠接收與發送紅外信號,工作電壓為3.3V,能夠對5m內紅外家電進行遙控[8]。

HXD019D紅外模塊還能夠學習碼值,在對家電控制前要求對家電遙控器按鍵鍵碼進行學習。在學習過程中,將遙控器近距離對準模塊紅外LED燈,成功學習鍵碼之后在EEPROM存儲芯片中進行存儲。在對家電控制過程中,發送存儲鍵碼,就能夠代替紅外編碼遙控器控制紅外家電設備,包括機頂盒、電視、空調等。

2.4 語音模塊

語音識別模塊使用軟硬一體化模塊,內部集成語音收集和處理功能,封裝語音交互的復雜功能,并且能夠為開發者提供接口調用。內置Wi-Fi芯片、ARM處理器等,可以使用Linux、Android等適合操作系統的二次開發,擴展其功能。在通信過程中,集成Wi-Fi和ZigBee等無線模塊,能夠接收組網網絡中信號。異構通信模塊包括協議轉換模塊,能夠實現終端硬件模塊傳輸不同通信協議數據的解析轉換。最后,終端設備通信協議、協議適配塊能夠實現不同協議終端的驗證。數據處理模塊能夠以不同公司協議規范實現數據處理,統一數據應用在統一協議模塊中,規范數據格式。

2.5 繼電器節點硬件

繼電器節點通過STM32F103單片機、繼電器模塊和nRF905射頻模塊構成,繼電器模塊為非紅外模塊。繼電器也就是智能插座,通過繼電器、NPN型三極管、光電耦合器構成。由于電路兩側包括強電、弱電,在充分考慮強電和人體的直接接觸導致的安全事故時,可以使用光電耦合實現光電隔離。光電耦合左側和PB12引腳相互連接,在PB12為高電平的時候,光耦C、E兩個引腳接通。在PB12為低電平的時候,光耦C和E引腳為高阻態。

在智能插座工作過程中,PB12管腳為高電平,和光電耦合器接通,繼電器弱電側在5V直流電壓供電中實現三極管S9013導通,放大電流,實現繼電器工作。智能插座、家用火線的火線端連通,從而使家電能夠正常通電,實現家電上電[9]。

3 系統的軟件設計

系統上電之后,要實現初始化,各模塊的藍牙在各自單片機控制下構成Mesh網絡。語音識別模塊中的語音識別芯片能夠進行初始化和復位,并且使需要識別的語音條目利用單片機在識別列表中寫入,中斷單片機開放外部,等待輸入語音信號。在對語音信號手機時,如果利用處理識別得出信號和識別列表的某個條目匹配,那么就會觸發外部中斷。在此過程中,以寄存器值結合對信號代表的語音命令進行判斷。單片機控制藍牙器件,使命令利用Mesh網絡在后臺控制中心發送。如果收集的語音信號和識別列表所有條目不匹配,那么就放棄當前結果,不會使外部中斷觸發,等待輸入語音信號。

3.1 在線語音識別處理

能夠實現聽寫語音和語義識別,是在線識別,要求在云端服務器中上傳語音數據。在成功識別語音之后,服務器就會返回語義分析結果,只需對接口調用,實現輸出數據的解析即可。

3.2 離線語音識別

在沒有網絡時,只需創建能夠對輸入語音數據實現本地化語音識別的模塊,步驟包括:

1) 數據預處理。得到的語音信號無法直接實現語音識別,要對語音信號進行預處理,包括輸入模擬語音數字化、預加重、加窗等處理,消除噪聲。因為預處理效果會對后續語音識別效果造成影響,所以本文使用全新預處理模型,也就是在多噪聲環境中的層級語音識別模型,核心思想就是使環境造成作為需要識別的內容,在識別語音中傳遞。

2) 特征提取。提取能夠代表信號本質的參數,去除無關噪聲信號。

3) 識別算法。通過上述識別步驟實現聲學模型訓練,使用基于隱馬爾可夫模型的聲學模型,和傳統方法對比,其性能有所提升,能夠有效實現模型訓練。

3.3 網關模塊程序

網關設備能夠連接家庭內外網,ZigBee網關能夠使IP網絡設備與ZigBee網絡通信。其一,能夠實現網絡管理在網絡本地運行,常見的包括網絡信息或者信息的檢測、獲取、節點配置和控制等;其二,本地管理。能夠使用ZCL命令、ZDO命令或者定義命令實現,網絡拓撲獲取能夠利用應用層ZDO發現命令實現,得到協調器IEEE地址和關聯設備地址,之后逐一對關聯設備發現。以下為網關設計主要代碼:

int sobacklog = Integer.parseInt(AppConfigUtil.getValue("netty.sobacklog"));

ServerBootstrap b = new ServerBootstrap();

b.group(bossGroup, workerGroup)

.channel(NioServerSocketChannel.class)

.localAddress(new InetSocketAddress(this.portHTTP))

.option(ChannelOption.SO_BACKLOG, sobacklog)

.childHandler(new ChannelHandlerInitializer(null));

ChannelFuture f = b.bind(this.portHTTP).sync();

logger.info("HttpServer name is " + HttpServer.class.getName() + " started and listen on " + f.channel().localAddress());

protected void initChannel(SocketChannel ch) throws Exception {

ChannelPipeline p = ch.pipeline();

p.addLast(new HttpRequestDecoder());

p.addLast(new HttpResponseEncoder());

int maxContentLength = 2000;

try {

maxContentLength = Integer.parseInt(AppConfigUtil.getValue("netty.maxContentLength"));

} catch (Exception e) {

logger.warn("netty.maxContentLength 配置異常,系統默認為:2000KB");

}

p.addLast(new HttpObjectAggregator(maxContentLength * 1024));// HTTP 消息的合并處理

p.addLast(new HttpServerInboundHandler());

}

在通過網關實現遠程管理過程中,網絡本地管理命令能夠通過網關接收與發送實現開發,用戶只需掌握特定命令。應用平臺使用戶指令朝著網關可理解的指令轉化,利用IP網絡對網關設備發送,轉變為ZigBee定義命令,之后在本地網絡中發送,從而實現信息在內外網之間的傳遞,如圖3為網關模塊軟件流程。

4 評估結果

針對系統初始化內置網關協議指令集和異構協議網關所收集的數據,本文利用BP神經網絡算法訓練模型結果集、輸入層包括家庭成員聲紋編號、語音指令時間等,利用神經網絡訓練學習對各個連接權值和激活閾值進行自動確定,使期望輸出與想要結果逐漸接近。也就是能夠實現人在廚房或者客廳,只要說出開燈指令,就能夠將燈打開。表1為模型訓練后結果。

5 結束語

本文實現了系統硬件電路和系統軟件的設計,通過測試表示,本系統的穩定性和識別率較高,能夠為人們在家居生活中提供便利,從而實現人們家居生活的智能化。但是,本系統還需要完善,例如存在無法自定義控制端口用戶等。為了保證PC能夠和單片機通信,在設計過程中預留USART接口,后續為能夠在PC機中使用串口通信方式實現單片機軟件升級,要對系統功能進行完善。

參考文獻:

[1] 陳希祥,黃伍,李德英.基于語音識別的智能家居控制系統設計[J].自動化與儀表,2021,36(7):91-95.

[2] 薛輝.基于語音識別的智能家居控制系統的研究與設計[J].微型電腦應用,2020,36(2):149-151.

[3] 宋朝霞,舒瑞康.基于LD3320的語音識別智能家居控制系統的設計[J].信息與電腦(理論版),2020,32(20):105-106.

[4] 王平,王焱.基于物聯網平臺的智能家居中心控制系統設計[J].計算機測量與控制,2020,28(11):79-83.

[5] 王光艷,楊秀芬,周慧敏,等.一種智能家居的語音交互方案設計[J].新一代信息技術,2021,4(2):11-19.

[6] 林學偉,嚴明忠.基于STM32單片機的智能家居控制系統設計[J].廊坊師范學院學報(自然科學版),2020,20(4):35-38.

[7] 王俊之,王彥,孫毅.基于語音交互的智能家居系統[J].南華大學學報(自然科學版),2020,34(1):60-67.

[8] 岳麗穎.基于無線Wi-Fi技術的智慧家居控制系統的研究與設計[J].遼寧科技學院學報,2022,24(4):15-19.

[9] 梁浩林,何永玲,馮博華.基于STM32的室內物聯網控制系統[J].物聯網技術,2022,12(8):97-99.

【通聯編輯:代影】

猜你喜歡
語音識別系統設計智能家居
基于Zigbee的無線通信技術在智能家居中的應用
通話中的語音識別技術
基于LD3320的智能家居控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合