本發明涉及網關設備技術領域,尤其涉及通過聲音進行交互的網關設備。
背景技術:
網關設備又稱網間連接器、協議轉換器,是多個網絡間提供數據轉換服務的計算機系統或設備。在使用不同的通信協議、數據格式或語言時,甚至體系結構完全不同的兩種系統之間,網關設備就是一個翻譯器,網關設備對收到的信息要重新打包,以適應目的系統的需求,同時起到過濾和安全的作用。
現有的網關設備都需要電腦或者自帶的屏幕進行交互配置,有些場景需要至少兩個人的配合才能進行調試,一個人看屏幕信息、另一個人進行設備操作,調試效率低且極為不方便。而且網關設備自帶液晶屏會增加設備的成本,
因此,如何設計通過聲音即可進行交互的網關設備是業界亟待解決的技術問題。
技術實現要素:
為了解決現有網關設備存在調試不方便等缺陷,本發明提出通過聲音進行交互的網關設備,用戶可以通過語音發送命令,設備識別到該命令后自動執行該命令,操作方便且無需另外設置顯示屏。
本發明采用的技術方案是,設計通過聲音進行交互的網關設備,包括:
網關模塊;
語音采集模塊,用于采集語音輸入信息;
語音轉文字模塊,將語音輸入信息轉換成文字命令;
執行模塊,其與網關模塊交互,執行模塊將文字命令轉換成與網關模塊匹配的協議格式并發送給網關模塊執行。
優選的,網關設備還包括:
文字轉語音模塊,將執行模塊輸出的文字信息轉換成語音輸出信息;
語音播放模塊,播放語音輸出信息。
優選的,執行模塊預置有關鍵字與協議格式的對照關系表,執行模塊接收到文字命令之后,識別文字命令中的關鍵字,根據識別到的關鍵字從對照關系表調取對應的協議格式,將文字命令轉換成協議格式發送給網關模塊執行,執行模塊將網關模塊執行文字命令之后返回的文字信息發送給文字轉語音模塊。
在一實施例中,執行模塊在未識別到文字命令的關鍵字時,向文字轉語音模塊發送識別失敗的文字信息。
在一實施例中,執行命令在未識別到文字命令的關鍵字時,查找對照關系表中與文字命令的實際聲紋相差不超過預設閾值的關鍵字,將包含關鍵字的提示文字信息發送給文字轉語音模塊。
優選的,關系對照表中每條協議格式對應的關鍵字包括動作命令字、目標字和范圍字;執行模塊識別文字命令中的動作命令字、目標字和范圍字,根據識別到的動作命令字從對照關系表中調取對應的協議格式,并將識別到的目標字和范圍字填入協議格式相應的位置,再發送給網關模塊執行。
其中,動作命令字包括:查詢命令字和設置命令字中的至少一種。
在一實施例中,執行模塊在未識別到動作命令字、目標字或者范圍字中任一個時,向文字轉語音模塊發送該字識別失敗的文字信息。
在一實施例中,執行模塊由先到后依次識別文字命令中的動作命令字、目標字和范圍字,當且僅當前一字識別成功后繼續識別下一字。
與現有技術相比,本發明將智能語音應用到網關設備中,在開通調試時用戶通過語音向網關設備發送命令,設備識別到該命令后自動執行該命令,調試過程方便。設備將執行的結果通過語音播放出來,幫助用戶了解當前設備的調試結果或工作狀態,用戶通過語音和網關設備進行交互,無需額外的電腦或顯示屏,網關設備智能化程度高。
附圖說明
下面結合實施例和附圖對本發明進行詳細說明,其中:
圖1是本發明中網關設備的模塊連接圖;
圖2是本發明中執行模塊的識別流程圖。
具體實施方式
如圖1所示,本發明提出的網關設備基于語音識別技術,網關設備包括:網關模塊、語音采集模塊、語音轉文字模塊和執行模塊等。
語音采集模塊用于采集語音輸入信息,并將語音輸入信息發送給語音轉文字模塊,語音轉文字模塊將接收到的語音輸入信息轉換成文字命令,并將文字命令發送給執行模塊。執行模塊與網關模塊進行數據交互,執行模塊將接收到的文字命令轉換成與網關模塊匹配的協議格式并發送給網關模塊執行。
較優的,網關設備還包括:文字轉語音模塊和語音播放模塊,文字轉語音模塊連接在執行模塊和語音播放模塊之間,執行模塊將網關模塊執行文字命令之后返回的文字信息發送給文字轉語音模塊,文字轉語音模塊將執行模塊輸出的文字信息轉換成語音輸出信息,并將語音輸出信息發送給語音播放模塊播放。
進一步的,執行模塊在未識別到文字命令的關鍵字時,向文字轉語音模塊發送識別失敗的文字信息,以便用戶及時了解語音命令是否輸入成功。再進一步的,為了提高網關設備的智能程度,執行命令在未識別到文字命令的關鍵字時,查找對照關系表中與文字命令的實際聲紋相差不超過預設閾值的關鍵字,將包含關鍵字的提示文字信息發送給文字轉語音模塊,用來提醒用戶,其發出的語音中應當含有這些關鍵字。
本發明的網關設備在開通調試時,只需要用戶通過語音,告訴設備需要執行的命令,經過語音采集模塊和語音轉文字模塊轉換成文字命令,執行模塊將接收到的文字命令轉換成與網關模塊匹配的協議格式并發送給網關模塊執行,網關模塊將執行的結果通過文字信息返回給執行模塊,執行模塊再經過文字轉語音模塊翻譯后,通過語音模塊播放出來,從而通過語音實現網關設備的調試。正常運行時,也可以通過語音查看設備的工作狀態,其原理與調試過程相同。
其中,執行模塊識別文字命令并轉換協議格式的原理如下:
執行模塊預置有關鍵字與協議格式的對照關系表,執行模塊接收到文字命令之后,識別文字命令中的關鍵字,根據識別到的關鍵字從對照關系表調取對應的協議格式,將文字命令轉換成協議格式之后,發送給網關模塊執行。
更詳細的說,關系對照表中每條協議格式對應的關鍵字包括動作命令字、目標字和范圍字,動作命令字是網關模塊需要執行的動作,目標字是動作的操作目標,范圍字是操作目標的范圍,動作命令字、目標字和范圍字有對應關系。動作命令字包括:查詢命令字和設置命令字中的至少一種,比如文字命令是查詢電壓,查詢是動作命令字,電壓是目標字,那還需要明確查詢第幾路電壓,第幾路即為范圍字。再比如文字命令是設置ip,設置是動作命令字,ip是目標字,還得明確ip的數值是多少,數值即為范圍字。
下面列舉進行說明,常見的查詢命令字有“是什么”、“多少”、“查詢”、“讀取”、“調閱”等,查詢命令字對應的目標字有“電壓”、“電流”、“濕度”、“狀態”、“溫度”、“告警”、“網絡”、“ip”、“時間”、“系統”等,查詢命令字對應的范圍字有“第x路”、“傳感器”、“串口x”、“電表”、“空調”等。常見的設置命令字有“為”、“設置”、“改變”、“重啟”、“置為”等,設置命令字對應的目標字有“通道x”、“告警yy”、“ip”、“平臺”、“網絡”、“時間”、“第x路”等,設置命令字對應的范圍字為“z”,當目標字是“通道x”時,此處z是數字,當目標字是“ip”時,此處z是ip地址、子網掩碼、網關等一串數字,當目標字是“時間”時,此處z是時間格式的數字,當目標字是“告警yy”時,此處z是浮點數,浮點數可以精確到小數點之后。上文中出現的yy表示電壓、電流、溫度、級別等,x表示數字,其范圍從0到65535,yy、x是整型數。
在優選實施例中,執行模塊由先到后依次識別文字命令中的動作命令字、目標字和范圍字,當且僅當前一字識別成功后繼續識別下一字,執行模塊識別文字命令中的動作命令字、目標字和范圍字,根據識別到的動作命令字從對照關系表中調取對應的協議格式,并將識別到的目標字和范圍字填入協議格式相應的位置,再發送給網關模塊執行。在識別過程中,執行模塊在未識別到動作命令字、目標字或者范圍字中任一個時,向文字轉語音模塊發送該字識別失敗的文字信息,及時通知用戶語音輸入錯誤。
如圖2所示,文字命令識別的流程如下:
第一步,匹配到動作命令字;
當文字命令中匹配到‘是什么’,‘多少’‘查詢’,‘讀取’‘調閱’等關鍵字時,則是查詢命令;當文字命令中匹配到‘為’,‘設置’,‘改變’‘重啟’‘置為’等關鍵字時,則是設置命令;
動作匹配成功后執行第二步。
第二步,匹配到目標字;
如果動作命令字為查詢命令,則繼續匹配“電壓”、“電流”、“濕度”、“狀態”、“溫度”、“告警”、“網絡”、“ip”、“時間”、“系統”等目標字,如果匹配成功,則匹配到查詢的目標,否則執行模塊向文字轉語音模塊發送“沒匹配到查詢目標”的文字信息,并通過語音播放模塊播放出來;
如果動作命令字為設置命令,則繼續匹配“通道x”、“告警yy”、“ip”、“平臺”、“網絡”、“時間”、“第x路”等目標字,如果匹配成功,則匹配到設置的目標,否則執行模塊向文字轉語音模塊發送“沒匹配到設置目標”的文字信息,并通過語音播放模塊播放出來;
目標字匹配成功后,將目標的文字轉換為預置的16進制數字,并執行下面第三步。
第三步,匹配到范圍字;
如果動作命令字為查詢命令,則匹配“第x路”、“傳感器”、“串口x”、“電表”、“空調”等范圍字;
如果動作命令字為設置命令,則匹配“z”;
如果范圍字匹配成功,則將查詢或者設置這個動作命令字對應的預置格式協議調取出來,將匹配的目標字、范圍字的16進制數填入到格式協議相應的位置,然后將該整條協議發給網關模塊,網關模塊就可執行該命令。
網關模塊執行后會返回響應結果,這些結果是特定協議格式的數據,有效數據的位置和標志也是固定的,執行模塊提取出這些有效數據后,再結合上面識別到的目標字和范圍字一起作為文字信息發給文字轉語音模塊。比如有效數據是3.3,上一步識別到的目標字是電壓,范圍字是第1路,則將“第1路電壓3.3v”作為文字信息發給文字轉語音模塊,通過語音播放模塊進行播放。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。