新四季網

一種基於NodeJS的智能家居語音控制系統的製作方法

2023-05-29 19:38:21


本發明涉及計算機技術領域,特別是涉及一種基於NodeJS的智能家居語音控制系統。



背景技術:

智能家居在實現高效便捷的基礎上,被賦予語音控制的功能,這無疑會使得智能家居有一個更大的發展空間和更廣闊的平臺。

隨著NodeJS的不斷發展,NodeJS漸漸演變成一種構建網絡應用的基礎框架,並發展為一個不共享任何資源的單線程、單進程系統。NodeJS包含了很適合網絡的庫,這樣NodeJS就為構建大型分布式應用提供了基礎設施。它的目標都是為了構建快速、可伸縮的網絡應用平臺。它自身非常簡單、採用通信協議來組織許多的Node,非常容易通過拓展來達成構建大型網絡應用的目的。NodeJS是谷歌V8引擎、libuv平臺抽象層以及主體使用Javscript編寫的核心庫三者集合的一個包裝外殼。對性能的苛求是Node的一個關鍵因素。Javascript是一個事件驅動語言,Node利用了這個優點,編寫出可擴展性高的伺服器。NodeJS採用事件驅動、異步編程,為網絡服務而設計。NodeJS非阻塞模式的IO處理給NodeJS帶來在相對低系統資源耗用下的高性能與出眾的負載能力。

NodeJS具有以下幾個特點:

1)它是一個Javascript運行環境。NodeJS是伺服器端的JavaScript運行環境,NodeJS是一套用來編寫高性能網絡伺服器的JavaScript工具包。

2)依賴於v8引擎進行代碼解釋。v8對JS的解析不是基於反覆loop原始碼進行解釋而是直接將JS代碼編譯成機器碼運行。

3)事件驅動機制。事件由事件處理器或事件回調來處理,事件回調是當某個特定事件發生時被調用的函數。

4)非阻塞l/O。l/O操作不會阻塞程序的執行,也就是在l/O操作的同時,繼續執行其他代碼。

5)輕量、可伸縮,適於實時數據交互應用。NodeJS在實時的Web應用上採用了基於WebSocket的推送技術。

6)單進程,單線程。不管有多麼的強大硬體,只能利用到單個CPU進行計算。NodeJS代碼,是在單線程的環境中執行,但NodeJS本身不是單線程的。



技術實現要素:

本發明的目的是提供一種基於NodeJS的智能家居語音控制系統。

本發明的目的可以通過以下技術方案實現:

一種基於NodeJS的智能家居語音控制系統,包括數據模塊、雲端識別模塊、項目產品化模塊;

所述的數據模塊,用於實現語音數據的接收、保存和刪除;

所述的雲端識別模塊,用於對訊飛語音的參數配置提供識別權限,進行訊飛語音雲端識別權限、語音識別相關參數的設置,以及NodeJS的http請求實現;

所述的項目產品化模塊,用於崩潰日誌和系統運行日誌的記錄,對系統運行出錯時進行系統崩潰處理和系統的內存控制。

進一步地,所述的項目產品化模塊包括工作日誌和內存監控子模塊,進程守護子模塊和異常捕獲子模塊;

所述的工作日誌和內存監控子模塊,採用一個常用的第三方包Log4js,引入Log4js模塊,最後在需要記錄重要信息的時候,使用Log4js模塊把工作日誌記錄到本地文件夾;

所述的進程守護子模塊,採用NodeJS的伺服器管理模塊forever,能夠啟動、停止、重啟App應用;

所述的異常捕獲子模塊,採用模塊domain,捕捉異步回調中出現的異常,把處理多個不同的JO的操作作為一個組,註冊事件和回調到domain,當發生一個錯誤事件或拋出一個錯誤時,domain對象會被通知,不會丟失上下文環境,也不導致程序錯誤立即推出。

本發明的有益效果:

本發明所提供的一種基於NodeJS的智能家居語音控制系統,實現了基於NodeJS的智能家居語音控制系統伺服器端總體結構、技術手段和主要功能模塊。伺服器端主要實現實時語音識別,通過把接收的語音數據發送給訊飛語音雲端識別,把識別結果返回給客戶端。此外,NodeJS採用事件驅動、異步編程,其突出的優點使得程序能夠實現高並發處理。NodeJS非阻塞模式的J0處理給NodeJS帶來在相對低系統資源耗用下的高性能與出眾的負載能力。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。

圖1是本發明的系統示意圖;

具體實施方式

本發明的核心是提供一種基於NodeJS的智能家居語音控制系統。

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

如圖1所示,本發明提供了一種基於NodeJS的智能家居語音控制系統,包括數據模塊、雲端識別模塊和項目產品化模塊。

所述的數據模塊,用於語音數據的接收、保存和刪除。

所述的雲端識別模塊,用於對訊飛語音的參數配置提供識別權限,主要用於配置訊飛語音雲端識別權限、語音識別相關參數的設置,以及NodeJS的http請求實現;Http協議是一個通用的應用層協議,NodeJS作為一個宿主運行環境,以JavaScript為宿主語言,它也有自己實現的一套標準;NodeJS通過require引入http模塊,並調用相關接IZl函數。NodeJS請求的是事先寫好的用於設置語音識別參數和提供語音識別權限的php文件,該php採用utf一8無BOM編碼;使用訊飛語音識別時,需要提供產品的apiKey和secretKey,雲端審核通過後,返回結果。只有在審核通過後,語音文件才可以得到識別;此外,需要提交語音數據的編碼;由於單片機客戶端的數據處理能力有限,語音數據經過壓縮並編碼為Speex格式後,才上傳到訊飛語音雲端,訊飛語音要求需要識別的語音數據為8000採樣率、單聲道、16比特。

所述的項目產品化模塊,用於崩潰日誌和系統運行日誌的記錄,對系統運行出錯時進行系統崩潰處理和系統的內存控制,其包括工作日誌和內存監控子模塊,進程守護子模塊和異常捕獲子模塊。

所述的工作日誌和內存監控子模塊,採用一個常用的第三方包Log4js,引入Log4js模塊,最後在需要記錄重要信息的時候,使用Log4js模塊把工作日誌記錄到本地文件夾;

所述的進程守護子模塊,採用NodeJS的伺服器管理模塊forever,能夠啟動、停止、重啟App應用;

所述的異常捕獲子模塊,採用模塊domain,捕捉異步回調中出現的異常,把處理多個不同的JO的操作作為一個組,註冊事件和回調到domain,當發生一個錯誤事件或拋出一個錯誤時,domain對象會被通知,不會丟失上下文環境,也不導致程序錯誤立即推出。

為了描述的方便,描述以上裝置時以功能分為各種單元、模塊分別描述。當然,在實施本申請時可以把各單元、模塊的功能在同一個或多個軟體和/或硬體中實現。

通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本申請各個實施方式或者實施方式的某些部分所述的方法。

以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施方式方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。

本申請可用於眾多通用或專用的計算系統環境或配置中。例如:個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。

本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。

以上內容僅僅是對本發明結構所作的舉例和說明,所屬本技術領域的技術人員對所描述的具體實施例做各種各樣的修改或補充或採用類似的方式替代,只要不偏離發明的結構或者超越本權利要求書所定義的範圍,均應屬於本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀