для PLATFORMIO (!) Ядро 2.0.17 (зафиксировано в platformio.ini) на основе версии 0.9.434m
Рефакторинг на библиотеку Ardiuno_GFX
- ✅ Исправлен виджет битрейта - устранено переполнение текста для значений типа "62.5"
- ✅ Зафиксированы ядра в PlatformIO.ini - установлены стабильные версии ESP32 Core 2.0.17 и PlatformIO Platform 6.4.0 изза ошибок компиляции у пользователей.
- ✅ Добавлены файлы для замены для воспроизведения FLAC радиостанций без заиканий (см. инструкцию ниже)
- ✅ Добавление компилированных файлов в каталог build_bin/ для удобства развертывания
- ✅ Исправлено зависание при создании индексного файла для SD карты
- ✅ Добавлена система мониторинга памяти с критическими порогами
- ✅ Оптимизированы логи - убраны избыточные предупреждения
- ✅ Автоматическая очистка памяти при критических ситуациях
- ✅ Проверки целостности heap для стабильной работы ++++
- ✅ Исправлен параметр uppercase в настройках дисплея для корректного отображения регистра
- ✅ Единообразное отображение плейлиста - все элементы используют одинаковые настройки регистра из конфигурационного файла
- ✅ Корректное отображение даты и дня недели в верхнем регистре- можно настроить в файле display (см комментарии)
- ✅ Исправлен deadlock в mutex
Проект WiFi интернет-радио для модуля JC3248W535C на базе ESP32-S3 с дисплеем AXS15231B.

Этот проект представляет собой WiFi интернет-радио, специально адаптированное для модуля JC3248W535C. Проект основан на YoRadio и включает поддержку различных дисплеев, включая AXS15231B.
- Процессор: ESP32-S3-WROOM-1-N8R4 (240MHz, dual-core)
- Память: 520K Byte RAM + 8 MB PSRAM + 4 MB Flash
- Дисплей: 3.5" LCD-TFT с драйвером AXS15231B
- Разрешение: 320 x 480 (портретный режим)
- Интерфейс: QSPI (оптимизированный)
- Поддержка: Сенсорный экран
- PlatformIO (рекомендуется) или Arduino IDE
- Ядро ESP32: 2.0.xx
- Платформа: espressif32
- Arduino_GFX Library
- AsyncWebServer
- IRremoteESP8266
- Другие библиотеки указаны в
platformio.ini
JC3248W535C/
├── src/ # Исходный код
│ ├── displays/ # Драйверы дисплеев
│ │ ├── displayAXS15231B.cpp # Основной драйвер AXS15231B
│ │ └── conf/ # Конфигурации дисплеев
│ ├── core/ # Основные компоненты
│ ├── audioI2S/ # Аудио декодеры
│ └── tools/ # Вспомогательные инструменты
├── boards/ # Конфигурации плат
├── data/ # Веб-интерфейс
└── platformio.ini # Конфигурация PlatformIO
Для русской локализации заменяем файл fonts/glcdfont.h по адресу: pio\libdeps\yoradio-esp32s3\GFX Library for Arduino\src\font
Настройки дисплея находятся в файле:
src/src/displays/conf/displayAXS15231Bconf.h
Для кастомизации создайте файл:
src/src/displays/conf/displayAXS15231Bconf_custom.h
## 🔧 Основные функции
- **WiFi интернет-радио** с поддержкой множества станций
- **Веб-интерфейс** для управления
- **Поддержка различных аудио форматов** (MP3, AAC, FLAC, OGG)
- **Сенсорный экран** с красивым интерфейсом
- **VU-метр** и визуализация
- **Spectrum Analyzer** - анализатор спектра (заменяет VU-метр)
- **Часы и дата** с поддержкой NTP
- **Погода** (опционально)
- **MQTT** поддержка
- **SD карта** для локальных файлов с исправленной индексацией
## 🎨 Поддерживаемые дисплеи
- **AXS15231B** (основной для JC3248W535C)
## 🌐 Веб-интерфейс
Встроенный веб-сервер предоставляет:
- Управление радиостанциями
- Настройки WiFi
- Конфигурация системы
- Обновление прошивки
## 📱 Сенсорный экран
Дисплей AXS15231B поддерживает:
- Касания и жесты
- Красивый пользовательский интерфейс
- Анимации и переходы
- Адаптивную яркость
- Одновременное нажатие двумя пальцами на экран - переключение SD<>Radio
## 🔌 Подключение
### Основные пины ESP32-S3:
- **SPI**: QSPI интерфейс для дисплея
- **Touch**: I2C для сенсорного экрана
- **Audio**: I2S для вывода звука
- **SD Card**: SPI для SD карты
## 📖 Документация
- [Документация AXS15231B](15231doc/AXS15231_Datasheet_V0.5_20230306.pdf)
- [Wiki YoRadio](https://github.com/e2002/yoradio/wiki)
- [PlatformIO документация](https://docs.platformio.org/)
🎵 Переключение режимов визуализации
Для переключения из режима **Spectrum Analyzer** в режим обычного **VU-метра** закомментируйте эти строки в `src/myoptions.h`:
// #define SPECTRUM_ENABLED true
// #define SPECTRUM_REPLACE_VU true
// #define HIDE_VU
**Режимы работы:**
- **Spectrum Analyzer**: Анализ частотного спектра аудио (упрощенный)
- **VU-метр**: Классический горизонтальный Vu метр
## 🤝 Вклад в проект
Приветствуются:
- Исправления ошибок
- Улучшения интерфейса
- Поддержка новых дисплеев
- Оптимизация производительности
## 📄 Лицензия
Проект основан на YoRadio и распространяется под соответствующей лицензией.
## 🙏 Благодарности
- [YoRadio](https://github.com/e2002/yoradio) - основа проекта
- [Arduino_GFX](https://github.com/moononournation/Arduino_GFX) - графическая библиотека
- Сообщество Yoradio 4pda.to разработчиков
## 🔧 Инструкция по замене библиотек для улучшения воспроизведения FLAC
Для устранения заиканий и прерываний при воспроизведении интернет-радио (особенно FLAC станций) необходимо заменить библиотеку `liblwip.a`:
### Шаги замены:
1. **Найдите файл для замены** в проекте:
C:\project\JC3248W535C\lib_for_flac\2_0_17\liblwip.a
2. **Замените файлы** в следующих директориях PlatformIO:
**Для ESP32-S3:**
C:\Users<User name>.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32s3\lib\
**Для ESP32:**
C:\Users<User name>.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32\lib\
3. **Скопируйте** файл `liblwip.a` из папки проекта в обе директории, заменив существующие файлы
4. **Перекомпилируйте** проект
### Что это дает:
- ✅ Устранение заиканий при воспроизведении
- ✅ Стабильная работа с FLAC радиостанциями
- ✅ Улучшенная производительность TCP соединений
- ✅ Оптимизированные настройки LWIP библиотеки
**Примечание**: Замена работает с ESP32 Arduino Core версий 2.0.6 - 2.0.17
## 📞 Поддержка
- **Issues**: [GitHub Issues](https://github.com/Witaliy76/JC3248W535C/issues)
- **Discussions**: [GitHub Discussions](https://github.com/Witaliy76/JC3248W535C/discussions)
---
**Версия**: beta
**Последнее обновление**: 28.09.2025
**Автор**: W76W
**Платформа**: PlatformIO + ESP32 Arduino Core 2.0.xx