Интернет-радио на ESP32 своими руками


Превратите свой ESP32 в полнофункциональное портативное интернет-радио! Транслируйте прямые трансляции станций из любой точки мира без необходимости использования традиционных радиочастот. Независимо от того, являетесь ли вы любителем или энтузиастом технологий, этот проект — увлекательный и практичный способ изучить технологии Интернета вещей (IoT), радиоволны и технологию Wi-Fi. Идеально подходит для обучения, экспериментов и создания чего-то, что вы действительно будете использовать!

Интернет-радио на ESP32 своими руками

Также на нашем сайте вы можете посмотреть и другие аналогичные проекты:

Необходимые компоненты

  1. Модуль ESP32 (купить на AliExpress).
  2. Усилитель PAM8403 + регулятор громкости (купить на AliExpress).
  3. Декодер MP3 VS1053 (купить на AliExpress).
  4. Микродинамик 2 Вт.
  5. OLED дисплей 128х32 I2C 0,91'' (купить на AliExpress).
  6. TP4056 - микросхема зарядного устройства для литий-ионных аккумуляторов — x1 (купить на AliExpress).
  7. Аккумулятор LiPo 3,7 В (купить на AliExpress).
  8. Ручка потенциометра.
  9. Кнопки.
  10. Аудиоразъем 3,5.
  11. Микропереключатель.
  12. Черная ткань (для решетки динамика).
  13. Прототип печатной платы 6х8 см.
  14. Деревянный корпус, изготовленный с помощью лазерного резака (можно использовать свой любой доступный корпус, в том числе и напечатанный на 3D принтере).
  15. 8-омный громкоговоритель (динамик).
  16. Соединительные провода.
  17. PLA-нить.
  18. Термоусадочные трубки, разные размеры.
  19. Лист фанеры.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Обзор проекта

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

Внешний вид собранной конструкции данного проекта показан на следующем рисунке.

Внешний вид собранной конструкции данного проекта

Как это работает

Микроконтроллер ESP32 подключается к интернету через WiFi. Он получает доступ к потоковым веб-сайтам, на которые я указываю ему зайти на хост радиостанции, захватывает аудиоданные и отправляет их на декодер MP3 VS1053 для декодирования аудиосигнала. Декодированный аудиосигнал усиливается с помощью усилителя PAM8403 и воспроизводится через динамик мощностью 2 Вт. Экран OLED 128х32 используется для отображения текущей информации о станции и статусе подключения.

Структурная схема работы интернет радио на основе ESP32 показана на следующем рисунке. 

Назначение компонентов данной схемы:

  • ESP32: управляет подключением к интернету и потоковой передачей данных.
  • VS1053: декодирует аудиосигналы.
  • PAM8403: усиливает декодированный звук для динамика.
  • TP4056: управляет зарядкой аккумулятора.
  • Кнопки: используются для навигации между радиостанциями.
  • Микропереключатель: для включения/выключения устройства.

Схема проекта

Схема интернет-радио на основе микроконтроллера ESP32 представлена на следующем рисунке.

Схема интернет-радио на основе микроконтроллера ESP32

После того как вы убедились что все работает на макетной плате, вы можете спаять все компоненты вместе. Будьте осторожны при пайке поскольку контакты ESP32 маленькие и плату легко повредить.

Спаянная конструкция проекта показана на следующем рисунке.

Корпус и окончательная сборка

Я использовал лазерный резак для создания деревянного корпуса для проекта интернет радио. Или вы можете использовать корпус, напечатанный на 3D принтере.

Эскиз деревянного корпуса для проекта интернет радио

Окончательное тестирование

После сборки проверьте устройство, чтобы убедится что все работает как положено. Проверьте что:

  • радио транслируется плавно, без прерываний;
  • кнопки переключают радиостанции правильно;
  • аккумулятор правильно заряжается и питает устройство.

Исходный код программы

Видео, демонстрирующее работу интернет радио

(Проголосуй первым!)
Загрузка...
110 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *