Самодельное интернет-радио на ESP32-S3 имеет пользовательский интерфейс в стиле Winamp

Volos Projects недавно продемонстрировал простой в повторении и недорогой DIY-проект интернет-радио на базе платы для разработки Waveshare ESP32-S3-LCD-1.54 и скетча Arduino с пользовательским интерфейсом в стиле Winamp.

Как следует из названия, аппаратная часть основана на однокристальной системе ESP32-S3 с WiFi и Bluetooth, подключенной к цветному дисплею размером 1,54 дюйма с разрешением 240×240 и динамику, который, по словам Volos Projects, обеспечивает неожиданно высокое качество звука.

DIY ESP32-S3 Internet Radio

Характеристики Waveshare ESP32-S3-LCD-1.54:

  • Однокристальная система – Espressif ESP32-S3R8
    • ЦП – двухъядерный микроконтроллер Tensilica LX7 с частотой до 240 МГц и векторными инструкциями для ускорения ИИ
    • Память – 512 КБ SRAM, 8 МБ PSRAM
    • Беспроводная связь – WiFi 4 и Bluetooth 5.0 LE + Mesh
  • Хранилище
    • 16 МБ NOR flash
    • Слот для карт MicroSD
  • Дисплей
    • IPS-дисплей 1,54 дюйма с разрешением 240×240, 262 тыс. цветов
    • Драйвер ST7789 с 4-проводным SPI
    • Опциональный емкостный сенсорный контроллер CST816 (не используется в проекте DIY Radio)
  • Аудио
    • Динамик
    • 2 микрофона
    • Аудиоусилитель NS4150B
    • Энергоэффективный аудиокодек ES8311
    • Микросхема ES7210 с функцией AEC (акустическое эхоподавление)
  • USB – порт USB Type-C для питания и программирования
  • Сенсор – 6-осевой IMU QMI8658 с гироскопом и акселерометром
  • Прочее
    • Кнопки пользователя: питания, загрузки (Boot) и «PLUS»
    • Керамическая антенна
  • Питание
    • 5 В через порт USB Type-C
    • 2-контактный разъем для литий-ионного аккумулятора 3,7 В; поддерживает зарядку и разрядку
  • Габариты – 46 x 46 x 22,5 мм
Waveshare ESP32-S3-LCD-1.54
Waveshare ESP32-S3-LCD-1.54
ESP32-S3-LCD-1.54 board
Плата ESP32-S3-LCD-1.54

Waveshare предоставляет basic instructions и несколько примеров кода для использования устройства с Arduino IDE и фреймворком ESP-IDF. Компании, такие как Waveshare и LILYGO, предлагают множество недорогих плат с микроконтроллерами, обладающих рядом интересных функций, но их следует рассматривать как наборы для разработки, поскольку пользователям необходимо разрабатывать собственное прошивки.

Что интересно для ESP32-S3-LCD-1.54, так это наличие ready-to-use Arduino sketch для легкого преобразования набора в интернет-радио с ретроинтерфейсом, похожим на Winamp. Нужно лишь изменить код, чтобы добавить свои учетные данные WiFi и массив со списком радиостанций:

String ssid = "xxxxxxxxx";    // ################### DONT FORGET EDIT THIS
String password = "xxxxxxxxxx";

....

#define ns 6 //number of stations max 9

String stations[ns]={
                "https://discodiamond.radioca.st/autodj",
                "https://listen.radioking.com/radio/175279/stream/216784",
                "http://sc6.radiocaroline.net:8040/stream",
                "https://club-high.rautemusik.fm/;",
                "http://greece-media.monroe.edu/wgmc.mp3",
                 "https://audio.radio-banovina.hr:9998/;"
                 };

Необходимые библиотеки: esp32-audio-I2S-master 3.4.0, GFX Library for Arduino 1.6.0, LovyanGFX 1.2.19 и Arduino WiFiMulti 1.0.0.

Как выглядит самодельное интернет-радио на ESP32-S3 в работе, можно посмотреть в видео ниже.

ESP32-S3-LCD-1.54 продается for just $14.99 on the Waveshare store без аккумулятора или за $15,99 с аккумулятором. Набор для разработки также можно приобрести on Amazon ($27.99) и AliExpress (~$16) . Теоретически проект DIY-радио должен работать и на других платформах ESP32 с дисплеем и аудиокодеком ES8311, таких как M5Stack CardPuter-Adv , Waveshare ESP32-C6-Touch-AMOLED-1.8 , Espressif EchoEar и подобных, но потребуется изменить пины для кодеков и дисплея, а также весь интерфейс, если разрешение не 240×240, поскольку все жестко прописано в коде.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments