Skip to content

Witaliy76/JC3248W535C

Repository files navigation

JC3248W535C - WiFi Интернет Радио по проекту yoradio

для PLATFORMIO (!) Ядро 2.0.17 (зафиксировано в platformio.ini) на основе версии 0.9.434m

Рефакторинг на библиотеку Ardiuno_GFX

📝 Лог изменений

28.09.2025

  • Исправлен виджет битрейта - устранено переполнение текста для значений типа "62.5"

07.09.2025

  • Зафиксированы ядра в PlatformIO.ini - установлены стабильные версии ESP32 Core 2.0.17 и PlatformIO Platform 6.4.0 изза ошибок компиляции у пользователей.
  • Добавлены файлы для замены для воспроизведения FLAC радиостанций без заиканий (см. инструкцию ниже)

06.09.2025

  • Добавление компилированных файлов в каталог build_bin/ для удобства развертывания

31.08.2025

  • Исправлено зависание при создании индексного файла для SD карты
  • Добавлена система мониторинга памяти с критическими порогами
  • Оптимизированы логи - убраны избыточные предупреждения
  • Автоматическая очистка памяти при критических ситуациях
  • Проверки целостности heap для стабильной работы ++++
  • Исправлен параметр uppercase в настройках дисплея для корректного отображения регистра
  • Единообразное отображение плейлиста - все элементы используют одинаковые настройки регистра из конфигурационного файла
  • Корректное отображение даты и дня недели в верхнем регистре- можно настроить в файле display (см комментарии)

28.08.2025

  • Исправлен deadlock в mutex

Проект WiFi интернет-радио для модуля JC3248W535C на базе ESP32-S3 с дисплеем AXS15231B. photo_2025-06-20_19-28-12

🚀 Описание

Этот проект представляет собой WiFi интернет-радио, специально адаптированное для модуля JC3248W535C. Проект основан на YoRadio и включает поддержку различных дисплеев, включая AXS15231B.

📋 Характеристики модуля JC3248W535C

  • Процессор: 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages