<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用ESP32制作您自己的Alexa

CDCNKA ? 來源:CDCNKA ? 作者:CDCNKA ? 2022-07-26 10:19 ? 次閱讀

人機界面技術 (HMI) 在過去 10 到 15 年取得了長足的進步:直到 2000 年代初,嵌入式設備(最早的手持電話,然后被智能手機取代)上的彩色屏幕和觸摸屏絕對不是那么-負擔得起的加。隨著處理性能的提高、成本的降低以及新的通信技術的出現,能夠將用戶想要的內容轉換為命令的設備已經出現。

直到幾年前,能夠連接到云并允許通過使用語音命令(如亞馬遜的 Alexa)遠程控制物聯網設備的設備都是純粹的科幻小說。迄今為止,智能傳感器和智能音頻設備使您可以輕松地為您的語音控制個人助理創建硬件。

本文將指導您選擇最佳組件來設計您獨特的“Alexa”版本

語音助手:系統概覽

數字語音輔助系統是一種能夠執行以下步驟的電子設備:

  • 捕捉語音信息
  • 將語音消息轉換為音頻
  • 通過復雜的算法處理音頻流,將其解釋為一個獨特的命令
  • 將命令與動作相關聯
  • 播放音頻反饋消息

這一切的背后,是一整套的軟硬件技術。

圖 1 顯示了語音助手的框圖。

pYYBAGLeDZ2AK_L1AACIcO8cR1M418.png

圖1:語音助手框圖(來源:作者)

與任何其他通信通道一樣,該通道也涉及源信號、采集和轉換系統、編碼系統、處理系統、解碼系統和輸出信號發射系統。

在語音輔助系統的情況下,源信號是語音信息,它是通過我們的聲帶調制并作為振動在空氣(通信方式)中傳播的機械波。振動由充當信號傳感器的麥克風獲取。然后,對信號進行調節和編碼以進行處理。此時,編碼的音頻流可以在本地(通過微控制器微處理器)進行操作,也可以通過語音識別算法和云端 AI 以更有效的方式遠程發送以進行處理。因此,處理輸出將是提供給致動系統的命令。

至于音頻反饋,路徑類似但相反:將流解碼并發送到放大器,放大器將通過揚聲器再現音頻。

系統組件

從頭開始設計語音輔助系統是一項復雜的任務。直到幾十年前,只有擁有出色音頻設計技能的工程師團隊才可行。如今,我們很幸運能夠利用一系列硬件和軟件組件,這無疑使任務變得更簡單。

該項目最關鍵的部分之一是音頻采集和再現部分,這需要應用領域的出色知識以及模擬電子技能。為了簡化任務,我們可以使用數字傳感器,它集成了必要的模擬組件并傳輸已經數字編碼的數據。

至于輸入部分,我們可以使用全向麥克風INMP441,它采用MEMS技術(Micro Electro-Mechanical Systems)進行轉換,實現了I2S數字接口進行數據交換。這樣就避免了有關信號調節的問題,并且與處理單元的接口不受噪聲影響。此外,要處理的信號已經是數字格式。

至于音頻輸出級,我們可以使用 MAX98357A,它是一個 2 通道 3W D 類放大器,也配備了一個 I2S 接口。與輸入級類似,硬件設計極為簡化:放大器通過 I2S 接口在輸入端接收數字信號,解碼音頻樣本并將其再現為芯片 L 和 R 端的電壓,只需簡單連接給揚聲器。

此時,您需要選擇的最后一個設備是微控制器,它必須能夠處理(或發送到云端)來自麥克風的音頻流,并發送音頻流以供放大器再現。最適合這個用途的 MCU 當然是樂鑫的ESP32模塊(最好是 WROVER 模塊,配備 8MB 的 RAM,以及高達 16MB 的閃存)。由于其高連接性(BLE 和 WiFi)和高性能以及極低的價格,該模塊是智能家居應用的正確選擇。它還具有兩個獨立的 I2S 接口,非常適合該項目的目的。

圖 2 顯示了該項目中使用的三個主要組件。

poYBAGLeDaqAIRG-AABuLws9GzY817.jpg

圖 2:MAX98357A(左)、ESP32-WROVER(中)、INMP441(右)(來源:網絡

I2S 通信總線

I2S 接口協議是該項目的關鍵點,因為它使硬件和軟件都變得簡單,使設計人員和開發人員從與模擬采集和再現相關的一系列問題中解脫出來。

I2S 代表 Inter-IC Sound,它是為連接數字音頻設備而創建的串行接口的電氣標準。它在音頻應用中用于在集成電路之間傳輸 PCM 音頻樣本,如我們的例子(MCU 和麥克風/放大器)。I2S 創建于 1986 年,是飛利浦半導體(現為 NXP 半導體)的產品。

I2S 總線是同步的,因為它從數據線提供不同的時鐘信號,這比異步設備更容易接收,在異步設備中,通信系統直接從數據流中獲取時鐘。它還在同一條數據線上提供最多兩個多路復用通道(右通道和左通道)。

I2S至少包括以下三行:

  • 時鐘線(BCLK):用于標記位時間并允許連接設備之間的同步
  • 字選擇(WS)或左右時鐘(LRCLK)線:用于復用左聲道(WS低)和右聲道(WS高)。因此,它呈現為占空比為 50% 的方波
  • 數據線:用于PCM樣本的傳輸,根據WS的狀態復用;數據以 2 的補碼編碼

時鐘切換頻率(f ck)不能任意選擇,而是根據輸入信號的采樣頻率(f s)、通道數(n ch)和單個采樣的位數(n bit ),其中 f ck結果是

f ck = f s *n*n ch

例如,要傳輸 2 個 8kHz 采樣數據流,每個采樣有 12 位,我們需要設置

f ck = 8000 * 12 * 2 = 192000 次/秒。

圖 3 顯示了總線線路的時序圖示例。

pYYBAGLeDbWAKYZpAAB3B2hVs3k050.png

圖3:I2S總線時序圖(來源:hackaday.com)

電氣連接和軟件片段

圖 4 顯示了系統三個主要組件之間的連接。這些連接非常容易理解,因為它足以連接麥克風/放大器和 MCU 之間的時鐘信號、字同步和數據線。所有模擬調節、濾波和放大都集成到數字設備中。

pYYBAGLeDcGAIUMCAAGJQKHnldE847.png

圖 4:連接數字組件(來源:作者)

最后,圖 5 顯示了在 ESP32 的 ESP-IDF 環境中正確使用 I2S 總線的結構配置。該配置是指輸入信號以 8kHz 采樣,每個單通道采樣 16 位,作為輸入和輸出(因為有一個麥克風,并且有一個單聲道輸出)。

poYBAGLeDc2AJnEoAAC-mG6trTo939.png

圖 5:I2S 總線配置示例(來源:作者)

一個項目,千種可能

該項目是任何需要音頻輸入、放大輸出以及處理和通信系統的設備的起點:類似的平臺可以在大量應用中實現,例如智能家居助手、音頻播放器、環境警報系統,嬰兒監視器和許多其他。

您將使用該平臺用于什么類型的應用程序?

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Alexa
    +關注

    關注

    2

    文章

    195

    瀏覽量

    23180
  • ESP32
    +關注

    關注

    13

    文章

    901

    瀏覽量

    16056
收藏 人收藏

    評論

    相關推薦

    如何使用ESP32和STC51芯片制作一個小小光立方呢?

    分享一個用ESP32和STC51芯片,以及0805貼片燈珠,手工焊接制作的小小光立方。
    的頭像 發表于 01-09 15:37 ?1244次閱讀
    如何使用<b class='flag-5'>ESP32</b>和STC51芯片<b class='flag-5'>制作</b>一個小小光立方呢?

    ESP32-PICO-V3-ZERO技術規格書

    的特點。 ESP32-PICO-V3-ZERO 支持 Alexa Connect Kit (ACK),可以將 Alexa 語音服務輕松集成到的產品中,實現語音控制
    發表于 09-18 07:07

    帶有Alexa App和手動開關的ESP32智能家居系統設計方案

    在此物聯網項目中,我展示了如何使用Amazon AlexaESP32來控制8個家用電器,從而使基于物聯網的智能家居自動化。 硬件部件: ·? ESP32 DEVKIT V1
    的頭像 發表于 01-18 18:03 ?4352次閱讀

    制作 NodeMCU ESP32 自定義固件

    最近嘗試在 Mac 下制作 nodemcu ESP32 的自定義固件。本文就來介紹nodemcu ESP32 自定義固件的編譯、燒寫、測試的全部過程。準備固件源碼包從nodemcu-firmware
    發表于 10-28 09:40 ?22次下載
    <b class='flag-5'>制作</b> NodeMCU <b class='flag-5'>ESP32</b> 自定義固件

    ESP8266/ESP32自動下載原理

    前一段時間需要自己制作一片ESP32單板,成本和封裝考慮,計劃選擇CH340E作為USB轉串口芯片,ESP8266/ESP32的單板一般都有
    的頭像 發表于 10-10 15:06 ?3777次閱讀

    使用ESP32制作ESP RainMaker IoT項目

    電子發燒友網站提供《使用ESP32制作ESP RainMaker IoT項目.zip》資料免費下載
    發表于 10-24 10:54 ?9次下載
    使用<b class='flag-5'>ESP32</b><b class='flag-5'>制作</b><b class='flag-5'>ESP</b> RainMaker IoT項目

    使用Websockets創建自己ESP32機器人汽車

    電子發燒友網站提供《使用Websockets創建自己ESP32機器人汽車.zip》資料免費下載
    發表于 11-04 09:40 ?0次下載
    使用Websockets創建<b class='flag-5'>自己</b>的<b class='flag-5'>ESP32</b>機器人汽車

    使用ESP32和IR Remote的Alexa家庭自動化

    電子發燒友網站提供《使用ESP32和IR Remote的Alexa家庭自動化.zip》資料免費下載
    發表于 11-15 09:43 ?0次下載
    使用<b class='flag-5'>ESP32</b>和IR Remote的<b class='flag-5'>Alexa</b>家庭自動化

    使用ESP 01制作自己的索諾夫

    電子發燒友網站提供《使用ESP 01制作自己的索諾夫.zip》資料免費下載
    發表于 11-16 14:46 ?0次下載
    使用<b class='flag-5'>ESP</b> 01<b class='flag-5'>制作</b>你<b class='flag-5'>自己</b>的索諾夫

    使用ESP8266或ESP32通過Alexa控制家用電器

    電子發燒友網站提供《使用ESP8266或ESP32通過Alexa控制家用電器.zip》資料免費下載
    發表于 12-15 07:52 ?2次下載
    使用<b class='flag-5'>ESP</b>8266或<b class='flag-5'>ESP32</b>通過<b class='flag-5'>Alexa</b>控制家用電器

    使用M5StickC ESP32制作WiFi掃描儀

    在這個項目中,我們將學習如何使用M5StickC ESP32模塊制作WiFi掃描儀,以顯示周圍的WiFi網絡。硬件組件:M5StickC ESP32-PICO迷你物聯網開發板×1個軟件應用程序和在線服務:Arduino IDE
    發表于 01-04 17:34 ?0次下載

    使用M5StickC ESP32模塊制作WiFi掃描儀

    在這個項目中,我們將學習如何使用M5StickC ESP32模塊制作WiFi掃描儀,以顯示周圍的WiFi網絡。硬件組件:M5StickC ESP32-PICO迷你物聯網開發板×1個軟件應用程序和在線服務:Arduino IDE
    發表于 01-05 16:47 ?0次下載

    如何使用AlexaESP32控制

    電子發燒友網站提供《如何使用AlexaESP32控制.zip》資料免費下載
    發表于 06-07 11:02 ?0次下載
    如何使用<b class='flag-5'>Alexa</b>和<b class='flag-5'>ESP32</b>控制

    智能家居:帶Alexa和Amazon Echo的ESP8266/ESP32

    電子發燒友網站提供《智能家居:帶Alexa和Amazon Echo的ESP8266/ESP32.zip》資料免費下載
    發表于 06-19 10:46 ?0次下載
    智能家居:帶<b class='flag-5'>Alexa</b>和Amazon Echo的<b class='flag-5'>ESP</b>8266/<b class='flag-5'>ESP32</b>

    Arduino IoT Cloud ESP32 Alexa Control智能家居

    電子發燒友網站提供《Arduino IoT Cloud ESP32 Alexa Control智能家居.zip》資料免費下載
    發表于 06-26 14:49 ?0次下載
    Arduino IoT Cloud <b class='flag-5'>ESP32</b> <b class='flag-5'>Alexa</b> Control智能家居
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>