Потоковое аудио на ESP8266 через WiFi
Я думаю сделать беспроводную колонку на чипе ESP8266. У меня есть несколько вопросов по этому поводу.
Какой вывод микросхемы ESP8266 можно использовать в качестве выхода I²S? У меня есть чип ESP такого типа :
Какой чип ESP лучше всего подходит для этой цели?
Я знаю о MAX98357A, который используется для преобразования цифровых данных I²S в аналоговые. Но для стерео выхода мне нужно использовать 2 из них. Есть ли альтернатива этому чипу, поддерживающему стереовыход по умолчанию?
Я нашел много руководств, в которых показано, как воспроизводить звук с SD-карты ESP8266. Но как я могу передавать аудио через стандартное соединение WiFi?
@Puspam, 👍0
1 ответ
Какой вывод микросхемы ESP8266 можно использовать в качестве выхода I²S?
Я использую GPIO 2, 3 и 15. Вам доступен только GPIO2, и это также половина интерфейса UART. Также вам обычно нужно генерировать «главные» часы (обычно что-то вроде 256-кратных битовых часов) для передискретизации. Так что вы не можете с этим модулем.
Какой чип ESP лучше всего подходит для этой цели?
ESP32, без тени сомнения.
Я знаю о MAX98357A, который используется для преобразования цифровых данных I²S в аналоговые. Но для стерео выхода мне нужно использовать 2 из них. Есть ли альтернатива этому чипу, поддерживающему стереовыход по умолчанию?
Да, их много. Критерий поиска, который вы хотите, это "КОДЕК". Лично я использую TLV320DAC3101.
Вы никогда не используете два отдельных монофонических кодека для стерео, поскольку I²S — это (обычно) стереопротокол для подключения к стереофоническому кодеку. Надежно разделить стереопоток I²S на два монофонических потока непросто.
Я нашел много руководств, в которых показано, как воспроизводить звук с SD-карты ESP8266. Но как я могу передавать аудио через стандартное соединение WiFi?
Внедрив подходящий протокол, а это полностью зависит от того, что представляет собой ваш звук и как он генерируется.
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Для номера 3 я думаю об этой технике: https://electronics.stackexchange.com/questions/295889/using-two-mono-amplifiers-to-make-one-stereo-amplifier, @Puspam
Не могли бы вы уточнить последний ответ? Я просто хочу транслировать аудио в формате MP3., @Puspam
Не существует такой вещи, как «просто» потоковое воспроизведение MP3. Потоковая передача включает в себя буферизацию, а затем своевременное декодирование аудио из сжатого формата MP3 в формат PCM. Затем подача этого через другие буферы на оборудование I²S. Если вы транслируете прямую трансляцию (например, радио), вы должны иметь возможность четко обрабатывать «xruns» (недостаток или превышение буфера), когда отправитель не отправляет на той же скорости, что и вы. . Таким образом, ваш проект действительно состоит из трех частей: 1. Получение данных. 2. Расшифровка данных. 3. Отправка данных в I²S. Все три из них являются трудными задачами., @Majenko
Что вы имели в виду под ** обычно что-то вроде 256-кратного увеличения частоты) для передискретизации. Значит, с этим модулем нельзя.**?, @Puspam
У вас нет необходимых контактов. Так что вы не можете с этим модулем. Вдобавок ко всему, вы обычно должны генерировать главные часы. И на этом модуле нет штифта для этого. Так что вы не можете с этим модулем. Вы просто не можете с этим модулем., @Majenko
Сможет ли ESP32 выполнить **все** эти требования?, @Puspam
Более чем вероятно, да. Google для некоторых проектов., @Majenko