Volos Projects недавно продемонстрировал простой в повторении и недорогой DIY-проект интернет-радио на базе платы для разработки Waveshare ESP32-S3-LCD-1.54 и скетча Arduino с пользовательским интерфейсом в стиле Winamp.
Как следует из названия, аппаратная часть основана на однокристальной системе ESP32-S3 с WiFi и Bluetooth, подключенной к цветному дисплею размером 1,54 дюйма с разрешением 240×240 и динамику, который, по словам Volos Projects, обеспечивает неожиданно высокое качество звука.
Характеристики 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 предоставляет 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.
Оригинал статьи вы можете прочитать здесь.

