0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內不再提示

一款基于ESP32的對講機傳輸音頻介紹

電子設計 ? 來源:電路城 ? 作者:電路城 ? 2021-04-29 09:04 ? 次閱讀

這是一款基于ESP32的對講機。它使用UDP廣播或ESP-NOW傳輸音頻。

一款基于ESP32的對講機傳輸音頻介紹

硬件部件

Adafruit I2S 3W D類放大器突破-MAX98357A × 1個

I2S MEMS麥克風突破無聊× 1個

通用4ohm或8ohm揚聲器 × 1個

通用ESP32開發(fā)板× 1個

按鈕開關(可選)× 1個

描述

我們使用ESP32制作了一個Walkie-Talkie。音頻數(shù)據通過UDP廣播或ESP-NOW傳輸。因此,對講機甚至可以在沒有WiFi網絡的情況下工作!我以I2S麥克風和I2S放大器為基礎-只需稍作改動,它就可以與模擬麥克風和頭戴式耳機同樣工作。

細節(jié)

下方錄像帶,概述了該項目詳情。

您可以在以下位置訪問Fusion360項目:https ://a360.co/2PXgAUS-因此,如果需要,可以隨時打印自己的版本。

對于視頻中的麥克風,我使用的是我自己的ICS-43434麥克風板,但它可以與INMP441麥克風板同樣良好地工作。

這兩個都是直接與ESP32交互的I2S麥克風。

I2S 3W放大器板來自Adafruit,并為揚聲器供電。這也直接與ESP32交互。對于ESP32開發(fā)板,我使用的是TinyPICO,但是可以使用任何通用開發(fā)板,因為我們在此項目中未使用任何特殊功能。

我使用的是定制PCB-(由PCBWay的優(yōu)秀人才制作),與往常一樣,他們做得很好,而且我對這些板的外觀感到非常滿意。我有很多音頻項目,能夠將所有東西連接在一起而不用擔心電線到處都是很好,這真是太好了。我所做的僅有的一點遺漏是不會斷開其余的GPIO引腳-因此,我認為我將盡快開發(fā)該板的版本2。

一款基于ESP32的對講機傳輸音頻介紹

這是指向EasyEDA上的原理圖和PCB 的鏈接,如果需要,可以直接從PCBWay訂購該板的鏈接。

話雖如此,您實際上不需要PCB,您可以輕松地將所有東西連接到面包板上,而這正是我制作原型時所做的。

一款基于ESP32的對講機傳輸音頻介紹

原理圖非常簡單-麥克風和揚聲器都使用I2S板,這使它們與ESP32的接線非常簡單。

當然,您可以修改代碼以將內置ADC用于輸入,將內置DAC用于輸出。如果要使用模擬麥克風板和耳機插孔進行輸出,則非常方便。

我在板上添加了一些額外的電路,以為麥克風創(chuàng)建干凈的電源。如果您觀看了我以前的一些視頻,那么您會想起來,使用WiFi時,我們在麥克風上會聽到很多噪音。

為解決此噪聲問題,我們通過從電池直接饋電為麥克風創(chuàng)建干凈的3.3v電源,我們使用LC濾波器對其進行濾波,然后將其傳遞至低壓降穩(wěn)壓器。這為我們提供了一個非常好的,干凈的麥克風電源,從而消除了很多噪音問題。

所有的代碼都在GitHub上-它應該是不言自明的,但是我將在這里給出高層次的概述。

這個項目的主要挑戰(zhàn)是如何將音頻從一個對講機廣播到所有其他對講機。

我已經以兩種不同的方式實現(xiàn)了這一點。您可以使用簡單的哈希定義輕松地在代碼之間切換。

第一種方法是使用UDP廣播。UDP廣播是一種非常簡單的機制。您將UDP數(shù)據包發(fā)送到一個特殊的IP地址,并且您的路由器將該數(shù)據包廣播到網絡上的所有其他設備。

我們可以安全地在UDP數(shù)據包中發(fā)送多達1436個字節(jié),因此,如果我們以16KHz采樣并使用大約90ms音頻數(shù)據的8位采樣。因此,我們需要每秒發(fā)送大約11個數(shù)據包。這完全在ESP32的功能范圍內。

使用廣播UDP的最大優(yōu)點是,我們不需要了解對等方,我們只需廣播一條消息,任何正在監(jiān)聽它的人都會收到它。我們也不需要所有都連接到的集中式服務器。所有繁重的工作都由路由器完成。

但是,我們應該意識到UDP的一些缺點:

UDP數(shù)據包的傳遞僅是最大的努力-無法保證有人會收到您發(fā)送的數(shù)據包。

也無法保證數(shù)據包的順序-有人可能會完全隨機地接收您發(fā)送的數(shù)據包。

對于這個項目,我選擇忽略這兩個問題。對于廣播數(shù)據包,我們通常會停留在同一網絡中,因此我們可能不會丟失太多數(shù)據包,并且我們的數(shù)據包也可能會以正確的順序出現(xiàn)。如果他們不這樣做,那么我們只會在音頻上產生一點噪音和失真。

UDP廣播的另一個主要優(yōu)點是您可以在臺式計算機或電話上接收數(shù)據包-因此創(chuàng)建不基于ESP32的其他客戶端非常容易。

我實現(xiàn)傳輸?shù)牡诙N方法是使用ESP-NOW。ESP-NOW是Esppresif開發(fā)的協(xié)議,它使多個ESP設備無需WiFi即可相互通信

這給我們提供了一個比UDP選項更大的優(yōu)勢,因為我們不需要WiFi網絡就可以使Walkie-Talkie正常工作。ESP-NOW的缺點是它具有250字節(jié)的小得多的數(shù)據包大小。這意味著我們需要每秒發(fā)送64次數(shù)據包。我們還具有與UDP相同的缺點-盡最大努力發(fā)送數(shù)據包,并且不能保證數(shù)據包將以什么順序到達。

但是,在我的測試中,它的表現(xiàn)還算不錯。運輸問題解決后,我們只需要掛接所有物品即可。我們有I2S輸入-它從麥克風讀取樣本并將它們傳遞到我們的運輸工具。一旦傳輸積累了足夠的數(shù)據以填充數(shù)據包,它將通過UDP或ESP-NOW發(fā)送數(shù)據。

另一方面,我們有相同的傳輸監(jiān)聽數(shù)據包。每次接收到數(shù)據包時,它都會通過我們的I2S輸出將數(shù)據排隊等待播放。I2S輸出只是將采樣輸出到I2S放大器。

為了允許數(shù)據包花費更長的時間到達,我們在傳輸和I2S輸出之間有一個緩沖區(qū)。在開始播放樣本之前,我們花了少量時間-這給了我們一些空閑時間以允許數(shù)據包抖動。確實要付出一些音頻延遲的代價-考慮到所有因素,音頻在制作后大約半秒鐘就會播放。

總而言之,盡管該項目可行。質量并不令人驚奇,但是對于一個業(yè)余項目來說肯定足夠了。

與往常一樣,代碼全部在GitHub上。讓我知道您在評論中的想法。如果您有任何改進,請打開請求。

可以看一下的一些想法:

壓縮音頻以減少帶寬。

自動增益控制

消除回聲

如上分享可能還有很多不完善,請隨時留言交流~

附:

源代碼:https://github.com/atomic14/esp32-walkie-talkie

原理圖:

一款基于ESP32的對講機傳輸音頻介紹

責任編輯:pj

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

    關注

    143

    文章

    13528

    瀏覽量

    212905
  • 麥克風
    +關注

    關注

    15

    文章

    630

    瀏覽量

    54744
  • 對講機
    +關注

    關注

    33

    文章

    544

    瀏覽量

    48365
收藏 人收藏

    評論

    相關推薦

    使用ESP-32的內置ADC采集對講機音頻,有嚴重干擾怎么解決?

    我正在嘗試使用ESP-32的內置ADC采集對講機音頻(采集對講機耳機的音頻輸出),但發(fā)現(xiàn)在對講機
    發(fā)表于 06-28 07:13

    對講機模塊/對講機方案/對講機

    、概述: 該對講機模塊是一款性價比極高的全集成對講機Module,內置高性能射頻收發(fā)芯片、微控制器以及射頻功放(PA)。外部控制器通過標準的異步串行接口(RS232)設置模塊的參數(shù)、
    發(fā)表于 09-08 12:51

    分享一款不錯的多功能對講機通信系統(tǒng)設計方案

    分享一款不錯的多功能對講機通信系統(tǒng)設計方案
    發(fā)表于 05-20 06:45

    構建個基于ESP32對講機

    描述我正在構建個基于ESP32對講機。該 PCB 將所有需要的模塊連接在起,并為麥克風板添加了獨立電源,因此您可以在使用 WiFi 時最大限度地減少噪音。我制作了這個 PCB,因
    發(fā)表于 07-15 08:32

    [圖文]一款對講機電路

    一款對講機電路
    發(fā)表于 04-15 20:58 ?1833次閱讀
    [圖文]<b class='flag-5'>一款</b><b class='flag-5'>對講機</b>電路

    如何選購對講機?

    如何選購對講機? 對講機種類繁多,購買時如何選購對講機非常重要。對講機分為專業(yè)和民用
    發(fā)表于 02-07 11:37 ?4670次閱讀

    談談對講機耳機的類別

    談談對講機耳機的類別 摩托羅拉對講機原裝音頻附件全系列
    發(fā)表于 02-08 08:37 ?2541次閱讀

    警用無線對講機介紹

    警用無線對講機介紹 警用無線對講機是專門為公安、檢察、法院、司法、安全、海關、軍隊、武警八個部門進行
    發(fā)表于 02-08 08:41 ?3585次閱讀

    對講機是怎么分類的_對講機分類大全_對講機的工作原理介紹

    本文首先介紹了什么是對講機,其次介紹對講機的工作原理和對講機的分類大全,最后介紹
    發(fā)表于 01-15 08:33 ?1.5w次閱讀

    新買的對講機怎么用_怎么知道對講機的頻率_對講機頻率設置

    本文介紹了什么是對講機對講機的工作原理和簡易調頻對講機電路,其次介紹對講機使用方法
    發(fā)表于 01-15 11:20 ?8.1w次閱讀

    什么是全國對講機_全國對講機的原理_全國對講機怎么用

    本文介紹了什么是全國對講機和全國對講機產品優(yōu)勢,其次介紹了全國對講機的原理,最后介紹了全國
    發(fā)表于 01-15 11:41 ?5.2w次閱讀

    防爆對講機與普通對講機如何區(qū)別?

    對講機從使用環(huán)境分為防爆和非防爆對講機兩種,但是般的用戶選擇防爆對講機的意義不是很大,如果對于特殊的環(huán)境來說就必須使用防爆對講機了,今天小
    的頭像 發(fā)表于 09-03 10:06 ?1.3w次閱讀

    ESP32對講機音頻

    電子發(fā)燒友網站提供《ESP32對講機音頻板.zip》資料免費下載
    發(fā)表于 07-18 16:28 ?5次下載
    <b class='flag-5'>ESP32</b><b class='flag-5'>對講機</b><b class='flag-5'>音頻</b>板

    ESP32業(yè)余無線電板可實現(xiàn)語音和數(shù)據通信

    CrowdSupply上即將上線眾籌的一款產品 - 開源的ESP32業(yè)余無線電板,能支持對講機功能以及數(shù)據傳輸。
    的頭像 發(fā)表于 08-17 14:15 ?2750次閱讀

    ESP32傳輸您的音頻

    電子發(fā)燒友網站提供《在ESP32傳輸您的音頻.zip》資料免費下載
    發(fā)表于 12-09 10:13 ?1次下載
    在<b class='flag-5'>ESP32</b>上<b class='flag-5'>傳輸</b>您的<b class='flag-5'>音頻</b>