• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
Искать на DESSY.RU
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Интересно
Немного подработать
Есть свободное время?
Можешь немного подработать.


Друзья JR



JUNIOR RADIO

 

ESP32 Internet Radio



 

 

Говорят, что дешевый процессор кодеков MP3 VS1053 от aliexpress.com способен декодировать различные музыкальные форматы, включая аудио Ogg Vorbis / MP3 / AAC / WMA / MIDI. VS1053 также способен записывать в файл Ogg Vobis, но все рекомендации, доступные в Интернете, относятся либо к проприетарным платам, либо к ESP32-IDF, которые не рекомендуется использовать из-за чрезмерного кодирования

Принцип, лежащий в основе проекта, заключается в том, что если мы сможем доставить на плату кусок потоковых данных в точном количестве 32 байта в виде потока, он просто продолжит играть.

Это означает, что ESP32 должен подключить потоковый узел к фиксированному порту и затем получать потоковые данные с точностью до 32 байтов за раз. С другой стороны, плата будет продолжать обрабатывать данные, как машина притока / оттока, и поток продолжит воспроизводиться.

Основной код длиной почти 15 строк!

 

Используется библиотека с открытым исходным кодом ESP32 VS1053. Вы можете найти несколько примеров, включенных в библиотеку. Для смены станций я использовал вывод GPIO (D13) в качестве нажимного переключателя для программного сброса Сбросьте плату VS1053 для настройки на следующую станцию. Для операции переключения без дребезга я выгнал логического оператора, чтобы он стал «ложным» и «верным» в качестве альтернативы, чтобы предотвратить многократное переключение одним нажатием кнопки.

VS1053 - это устройство на 5 Вольт, но вы также можете легко настроить его на 3,3 Вольт. Таким образом, на радио ESP32 у вас будет только одно напряжение питания - 3,3 Вольт, которое может питаться от одной батареи LiPo. На плате VS1053 имеется два регулятора напряжения [AM1117] - 3,3 В и 2,5 В. С помощью цифрового мультиметра сначала выясните, какой из них предназначен для чего, а затем подключите перемычку с напряжением 3,3 В к входу регулятора 2,5 В и подключите этот провод в качестве входа 3,3 В к плате.

 

Держите соединительные провода как можно меньше. Более длинные, длинные и перекрывающиеся провода могут издавать гудящий шум на выходе звука, который обычно наблюдается на таких платах. Вывод звука стереофонический и достаточно усиленный для питания небольших колонок или наушников, но для работы с громкоговорителями большего размера вам, возможно, придется добавить усилители / усилители.

Li-Ion / Li-Po или Li-Ion при полной зарядке могут увеличить напряжение до 4, что не повредит ESP32, но вы можете потерять плату VS1053, а затем ждать еще 40 дней с aliexpress.com. Поэтому рекомендуется использовать 3-контактный регулятор напряжения HT7333-1 с низким энергопотреблением и малыми потерями, который имеет очень низкое падение напряжения и очень низкую потерю тока покоя. Но единственная проблема - HT7111-1 - крошечное устройство для поверхностного монтажа.

Схема с OLED

Оснащенный 3.3 Вольт подключен к выходу HT7333-1, который также является источником питания для ESP32.

 

 

Соединение в красном кружке перейдет к переключателю «нажми и включи» - теперь это временный нажимной выключатель. Для подключения к системе WiFi замените SSID и пароль на начало кода, а затем загрузите обычным способом Arduino. После загрузки ESP32 сначала скажет «Hello», чтобы указать, что VS1053 запущен и готов. Затем он подождет пару секунд, чтобы подключиться к компьютеру (следите за последовательным выходом). После подключения к Интернету он настроится на станцию ​​в хосте [6], а затем начнёт звучать красивый потоковый голос «Битлз». Нажмите один раз переключатель [подключен к D13], и будет настроена следующая станция. Переменная char * sname [7] является необязательной. Вы можете иметь выбранные имена для каждой установленной радиостанции. Дополнительные имена станций могут быть добавлены в массивы хоста, пути и порта.

Радио ESP32 с OLED (опционально): Единственная проблема, которая остается - нет дисплея, который бы знал, какая станция играет! Универсальный дисплей I2C - это все, что требуется сейчас, чтобы завершить его сейчас. Но проблема в том, что тяжеловесный Adafruit SSD1306 вместе с библиотекой Adafruit_GFX, если он будет использоваться, создаст неприятный звук. Поэтому я использовал облегченную библиотеку SSD1306 esp8266-oled-ssd1306-master, которая специально создана для ESP8266 для запуска общих OLED-дисплеев SSD1306. С этой библиотекой дисплей I2C прекрасно работает без какого-либо влияния на вывод звука. Однако OLED не обязателен - без него радио работает просто отлично!

 

Есть два эскиза - bare_minimum_radio_player.ino & simple_esp32_radio_mod3.ino Первый - это всего лишь несколько строк кода для получения 32-байтовых данных с потокового сайта и последующего воспроизведения. Второй - это сложный эскиз для запуска радио вместе с OLED-дисплеем и нажимным переключателем для смены станции. Каждый эскиз сопровождается небольшим файлом «helloMP3.h», который фактически кодирует небольшую музыку или звуковое приветствие. Скомпилируйте эскиз вместе с этим файлом.

Необходимые библиотеки Arduino также добавляются в комплект программного обеспечения.

 

Скачать файлы


 

 

В начало обзора



Купить радиодетали для ремонта
 



Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 317



          

Радио для всех© 2020