基于ESP8266協(xié)議的智能脫機(jī)模塊,可以像集線器一樣向不同的從設(shè)備發(fā)送命令
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一個(gè)離線語音識(shí)別中心,沒有網(wǎng)絡(luò)連接,沒有無線路由器。只要一對(duì)運(yùn)行ESPNOW協(xié)議的ESP8266。這就是我想要的房間。這些設(shè)備既可以通過按開關(guān)控制,也可以通過聲音控制。像alexa這樣的中央集線器可以響應(yīng)你的命令。這篇文章解釋了事情是如何運(yùn)作的。當(dāng)我用紅外遙控器操作我的實(shí)驗(yàn)室燈時(shí),我想到了這個(gè)想法,這可以在我之前的一篇文章中看到。然后,為了稍微轉(zhuǎn)向智能家居,讓我的每一個(gè)數(shù)據(jù)都是私人的,我制定了一個(gè)計(jì)劃,讓它離線。由于我已經(jīng)有了一個(gè)語音識(shí)別模塊,圍繞著DF,重力:離線語言學(xué)習(xí)語音識(shí)別。
我還做了一個(gè)關(guān)于這個(gè)模塊的入門教程,可以從這里看到。它解釋了傳感器所需的命令和預(yù)編程類型。盡管本文提供了所有必需的信息。我做了一個(gè)固態(tài)繼電器PCB與交流電源一起使用,非常感謝PCBWay贊助這個(gè)項(xiàng)目的PCB !他們的高質(zhì)量制造和快速周轉(zhuǎn)使這一建設(shè)成為可能。
語音識(shí)別模塊:
這種離線語音識(shí)別傳感器是圍繞離線語音識(shí)別芯片構(gòu)建的,無需互聯(lián)網(wǎng)連接即可直接使用。它帶有121個(gè)內(nèi)置的固定命令字,并支持添加17個(gè)自定義命令字。
這種小型傳感器可以與任何微控制器板接口,然后可以通過語音執(zhí)行不同的動(dòng)作。它將與Alexa相同,但有更多限制的命令和答案。因?yàn)榭偟膩碚f,它是一個(gè)小的機(jī)器學(xué)習(xí)模型,在一個(gè)小的微控制器上工作。一些流行的應(yīng)用包括各種智能家電、玩具、照明裝置和機(jī)器人項(xiàng)目等。
命令類型:
我會(huì)盡量讓它保持簡單,我將所有的單詞按照每個(gè)動(dòng)作分成3個(gè)部分。請(qǐng)看下面給出的框圖。
1)喚醒字:喚醒字是指將產(chǎn)品從待機(jī)模式切換到工作模式的字。這是用來喚醒模塊的第一個(gè)命令。這類似于說“Alexa”,“嘿Siri”,“OK谷歌”。和這里一樣,默認(rèn)的喚醒詞是“Hello Robot”,它是默認(rèn)的。我們還可以再添加一個(gè)wake work,如下所示為“JARVIS”。
2)命令詞:固定命令詞是指用戶發(fā)出特定指令時(shí)使用的指定詞匯。這里這些詞是必不可少的,因?yàn)?,畢竟,這是一個(gè)離線模塊,沒有來自互聯(lián)網(wǎng)的外部數(shù)據(jù)/服務(wù)器來處理。這些是已經(jīng)處理過的、訓(xùn)練過的單詞,存儲(chǔ)在模塊的內(nèi)存中,無論何時(shí)觸發(fā),都會(huì)產(chǎn)生相應(yīng)的ID,可以用來指定以后的不同動(dòng)作。已經(jīng)為不同ID的特定功能定義了總共121個(gè)單詞。
現(xiàn)在,無論何時(shí)在一個(gè)項(xiàng)目中工作,這些命令對(duì)您來說并不總是好的運(yùn)氣。意味著有時(shí)我們需要一些其他的命令。這在這里是可以做到的,稱為自定義命令字??偣灿?7個(gè)自定義命令詞可以訓(xùn)練模型。從這里查看所有命令。
3)學(xué)習(xí)相關(guān)命令(控制命令):這些是用于與機(jī)器學(xué)習(xí)模型交互的命令詞。這些是控制命令,啟動(dòng)喚醒詞和命令詞的學(xué)習(xí)和刪除。
什么是ESP NOW?
ESP-NOW是一種基于數(shù)據(jù)鏈路層的無線通信協(xié)議,它將OSI模型的五層簡化為一層。這樣,數(shù)據(jù)就不需要通過網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層進(jìn)行傳輸。此外,每層不需要數(shù)據(jù)包頭或拆包器,這導(dǎo)致快速響應(yīng),減少了擁塞網(wǎng)絡(luò)中丟包造成的延遲。有關(guān)協(xié)議的更多細(xì)節(jié)可以在官方網(wǎng)站上找到。
系統(tǒng)集成,本地和無線主機(jī):
這個(gè)想法是首先將本地主機(jī)連接到離線語音識(shí)別模塊,然后通過ESPNOW連接無線主機(jī)。通過這種方式,多個(gè)gpio可以用來控制不同的設(shè)備。通過這種方式,可以將多個(gè)無線主機(jī)連接到網(wǎng)絡(luò),中央本地語音識(shí)別集線器向每個(gè)主機(jī)發(fā)送命令以切換開/關(guān)。但那是另一天的話題了。
發(fā)送器ESP代碼:
在下面的代碼中,發(fā)射器(本地主機(jī))有兩個(gè)控制單元,定義為CAMERA和SPEAKER。和四個(gè)控制單元光示波器焊接電源無線(接收器)主機(jī)。說明這種連接的電路圖可供參考。
接收ESP代碼:
交流繼電器開關(guān)用PCB板:
我設(shè)計(jì)了一個(gè)固態(tài)繼電器連接接收器esp,以控制交流電源。這是一個(gè)簡單和最小的設(shè)計(jì),設(shè)計(jì)在一個(gè)小的形式因素,以適應(yīng)任何住房。固態(tài)繼電器的主要優(yōu)點(diǎn)是,它不會(huì)產(chǎn)生這樣的噪音。整體較小,并以更好的方式控制應(yīng)用程序。
特別感謝PCBWay對(duì)pcb的贊助。他們的質(zhì)量和服務(wù)在業(yè)內(nèi)是無與倫比的!現(xiàn)在注冊(cè),并在您的下一個(gè)訂單獲得免費(fèi)優(yōu)惠券。所有需要的文件Gerber, BOM和CPL都上傳到GITHUB上,可以從那里下載。
工作:
ESPNOW是一種很好的無線協(xié)議,但是在ESP8266中使用它會(huì)有一些困難,如果在程序中沒有正確地編寫,它會(huì)破壞一切。我測(cè)試了我的設(shè)備很多次,很高興看到它們每次都處于工作狀態(tài)。
我已經(jīng)測(cè)試了語音命令,它們工作得很好,同樣的視頻附在這里供您參考。ESPNOW很容易使用,只需插入和電源兩個(gè)esp,它會(huì)自動(dòng)建立連接,見wifi MAC設(shè)置的代碼。連接成功后,串行打印相同的信息以驗(yàn)證連接。
本文編譯自hackster.io