Прошивка Melody Machine превращает LILYGO T-LoRa Pager в портативный MP3-плеер и интернет-радио

Melody Machine — это прошивка с открытым исходным кодом, которая преобразует LILYGO T-LoRa Pager на базе ESP32-S3 LILYGO T-LoRa Pager в портативный MP3-плеер и интернет-радио, а не в мессенджер на базе LoRa с Meshtastic или Meshcore.

LILYGO T-LoRa Pager Melody Music
Иллюстрация. Для реальной демонстрации смотрите видео в конце поста

Основные возможности прошивки Melody Machine:

  • Графический интерфейс на базе LVGL с четырьмя темами
  • WiFi Manager — неблокирующий WiFi со списком сетей, вводом пароля через экранную клавиатуру и автоматическим переподключением
  • Воспроизведение MP3 с SD-карты с обзором папок, перемешиванием, повтором и перемоткой
  • Интернет-радио через M3U по WiFi (поддержка метаданных ICY)
  • Перемотка — перемотка назад/вперёд MP3-треков с помощью энкодера (±5 секунд на шаг)
  • Двухъядерная архитектура аудио/задач
    • Декодирование MP3 выполняется на Core 0 через FreeRTOS
    • UI и WiFi менеджер на Core 1
  • Настройки — сохраняются в формате JSON на SD-карте в /melody_machine/settings.json; сохраняются после перезагрузок и перепрошивок
  • Автоотключение — настраиваемый таймер отключения при бездействии: от 15 минут до 2 часов
Melody Machine UI
Загрузочный логотип
T-LoRa Pager MP3 player
Режим MP3-плеера

Энкодер и встроенная клавиатура предоставляют множество элементов управления:

  • Энкодер
    • Просмотр списка
    • Вход в папку / воспроизведение трека / подтверждение (встроенная кнопка)
  • Q / A — громкость +5 / -5
  • W / D — предыдущий/следующий трек
  • Space — воспроизведение/пауза
  • B/Backspace – Стоп · подняться в папке · выйти из режима поиска
  • R – Циклическое повторение: выкл → один → все
  • H – Переключение перемешивания
  • N – Переключение режима поиска (только MP3, во время воспроизведения/паузы)
  • S – Открыть настройки
  • S + H – Снимок экрана на SD
  • i – Открыть справку по управлению

Также необходимо скопировать музыку в папку mp3 и файлы плейлистов интернет-радио M3U в папку m3u:

SD:/
└── melody_machine/
    ├── settings.json        ← auto-created on first boot
    ├── mp3/
    │   ├── song1.mp3
    │   └── subfolder/
    │       └── song2.mp3
    └── m3u/
        ├── rock.m3u
        └── jazz.m3u

Файл settings.json содержит настройки приложения, и туда также можно добавить учетные данные WiFi вместо ввода во время работы прошивки.

{
  "wifi": {
    "networks": [
      { "ssid": "MyNetwork", "pass": "mypassword" }
    ]
  }
}

Исходный код (Arduino) и готовую прошивку можно найти на GitHub . Прошить прошивку можно с помощью esptool или запустить melody_flasher.py для запуска графического интерфейса прошивщика.

Melody Machine Flasher

Как и большинство программных проектов в наши дни, Melody Machine была разработана с помощью ИИ, а именно Anthropic Claude. Тем не менее, прошивка работает, что видно по видео демонстрации с использованием Melody Machine v0.1 ниже (примечание: уровень звука в этом видео очень низкий). Последняя прошивка v0.2 добавляет более плавный и четкий интерфейс и улучшенное управление. Радиомодуль LoRa здесь вообще не используется.

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

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

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

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

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