Як зібрати власне інтернет-радіо на ESP32 з прошивкою KaRadio32

Як зібрати власне інтернет-радіо на ESP32 з прошивкою KaRadio32

Слухати улюблені інтернет-станції можна не лише з комп’ютера чи смартфона. Завдяки мікроконтролерам нового покоління будь-хто може зібрати повноцінне інтернет-радіо своїми руками — дешеве, компактне та з хорошою якістю звуку. Одне з найпопулярніших рішень для цього — KaRadio32, прошивка для ESP32, яка перетворює маленьку плату у потужний мережевий плеєр з веб-інтерфейсом. Створіть повнофункціональне інтернет-радіо за 10 доларів. Цей пристрій відтворюватиме тисячі радіостанцій з усього світу, матиме веб-інтерфейс для управління та якісний звук 16-біт/44кГц.

Що таке KaRadio32

KaRadio32 — це проєкт з відкритим кодом, створений французьким інженером Жан-П'єром Кокатрі (Jean-Pierre Cocatrix) спеціально для мікроконтролера ESP32. Цей проєкт дозволяє:

  • відтворювати інтернет-радіо у форматах MP3, OGG, AAC, WMA;
  • працювати з плейлистами (.pls, .m3u, .xspf);
  • керувати плеєром кнопками, енкодерами, а також через веб-інтерфейс, Telnet або UART;
  • зберігати у пам’яті список станцій та налаштування;
  • оновлювати прошивку через Wi-Fi (OTA).

Простіше кажучи, це готова операційна система для вашого DIY-радіо.


Що потрібно купити

Основні компоненти:

Компонент Ціна Де купити Примітки
ESP32 DevKit V1 $4 AliExpress Оберіть з роз'ємами вже припаяними
ЦАП модуль (PCM5102A) $3 AliExpress I2S аудіо декодер
TFT дисплей 2.8" ILI9341 $6 AliExpress З тачскріном (необов'язково)
Енкодер KY-040 $2 AliExpress Для регулювання гучності та каналів (необов'язково)
Кнопки тактові (5шт) $1 AliExpress
12x12мм (необов'язково)

Схема підключення

Схема підключення

Аудіо модуль PCM5102A до ESP32

PCM5102A → ESP32
VCC → 3.3V
GND → GND
BCK → GPIO26 (I2S Bit Clock)
LCK → GPIO25 (I2S Word Select)
DIN → GPIO22 (I2S Data)

Дисплей TFT до ESP32

TFT ILI9341 → ESP32
VCC → 3.3V
GND → GND
CS → GPIO15
RESET → GPIO4
DC/RS → GPIO2
MOSI → GPIO23
SCK → GPIO18
LED → 3.3V

Кнопки управління

Функція → GPIO → Резистор 10кОм до 3.3V
Енкодер CLK → GPIO12 → Так
Енкодер DT → GPIO13 → Так
Енкодер SW (натискання) → GPIO14 → Так
Кнопка "Меню" → GPIO0 → Так
Кнопка "Вгору" → GPIO35 → Так
Кнопка "Вниз" → GPIO34 → Так

Прошивка і налаштування KaRadio32

1. Підготовка

  1. Завантажте ESP32 Flash Download Tool з офіційного сайту Espressif
  2. Скачайте готову прошивку KaRadio32 з GitHub (файл .bin)
  3. Підключіть ESP32 до комп'ютера через USB

2. Прошивка

  1. Запустіть ESP32 Flash Download Tool
  2. Оберіть режим "Developer Mode"
  3. Встановіть параметри:
    SPI SPEED: 40MHz
    SPI MODE: DIO
    FLASH SIZE: 4MB
  4. Вкажіть шлях до файлу karadio32.bin та адресу 0x1000
  5. Натисніть START

3. Підключення до Wi-Fi

  1. Після прошивки ESP32 створить точку доступу "KaRadio32"
  2. Підключіться до неї з телефона/ноутбука (пароль: karadio1)
  3. Відкрийте браузер та перейдіть на 192.168.4.1
  4. У веб-інтерфейсі введіть дані вашої домашньої Wi-Fi мережі
  5. Перезавантажте пристрій

4. Додавання радіостанцій

Тепер радіо підключиться до вашої мережі. Знайдіть його IP-адресу в роутері або на дисплеї, відкрийте у браузері та додайте улюблені станції:

Приклади URL українських радіостанцій:
УХ Радіо: http://193.169.80.7:8001/efir48
Радіо Промінь: http://91.218.213.49:8000/ur2-mp3
Українське Радіо: http://91.218.213.49:8000/ur1-mp3

Користування готовим пристроєм

Органи управління:

  • Енкодер (поворот): регулювання гучності
  • Енкодер (натискання): пауза/відтворення
  • Кнопка "Вгору/Вниз": перемикання станцій
  • Кнопка "Меню": викликати налаштування

Що показує дисплей:

  • Назва поточної радіостанції
  • Інформація про композицію (якщо передає станція)
  • Рівень гучності
  • Якість з'єднання Wi-Fi
  • Час відтворення

Веб-інтерфейс

Через браузер ви можете:

  • Управляти відтворенням дистанційно
  • Додавати нові радіостанції
  • Налаштовувати еквалайзер
  • Переглядати логи системи
  • Оновлювати прошивку через OTA

REST API

Для інтеграції з розумним домом доступні команди:

http://IP_АДРЕСА/api/play - відтворення
http://IP_АДРЕСА/api/stop - зупинка
http://IP_АДРЕСА/api/vol?vol=50 - встановити гучність 50%
http://IP_АДРЕСА/api/station?id=5 - переключити на станцію №5

Типові проблеми та рішення

Звук перериває або тріщить

  • Перевірте якість Wi-Fi сигналу
  • Спробуйте радіостанції з меншим бітрейтом (64-128 kbps)
  • Перемістіть пристрій ближче до роутера
  • Використовуйте окреме живлення 5В/1А замість USB комп'ютера

Дисплей не працює

  • Перевірте підключення SPI (особливо CS, DC, RESET)
  • Переконайтесь що використовується 3.3В, а не 5В
  • Спробуйте інший дисплей - іноді трапляються браковані

Ідеї для вдосконалення

  • Корпус: Надрукуйте на 3D-принтері або використовуйте готовий пластиковий бокс
  • Батарея: Додайте Li-ion 18650 з модулем зарядки TP4056
  • Підсилювач: Підключіть модуль PAM8403 для прямого підключення колонок
  • Сенсори: Додайте датчик руху для автовключення
  • LED стрічка: Зробіть візуалізацію музики через GPIO


    Чому це краще за готові рішення

    Характеристика Саморобне на ESP32 Готове радіо $50-100
    Вартість ~$10 $50-150
    Кількість станцій Необмежено Зазвичай до 999
    Веб-управління ✓ Повнофункціональне Частково або відсутнє
    API для автоматизації ✓ REST API Зазвичай відсутнє
    Можливість модифікацій ✓ Повна свобода Обмежена або відсутня
    Оновлення прошивки ✓ OTA через Wi-Fi Зазвичай відсутнє

    Коментарі

    Написати коментар