Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Internet Radio ESP8266 + VS1003

Тема в разделе "Другие проекты", создана пользователем idnull, 16 июл 2015.

Метки:
  1. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Добрый день !! Хочу представить свой проект проигрывытеля интерент радиостанций на esp8266 и mp3 декодере vs1003. Проект пока что не закончен до конца, но уже позволяет проигрывать одну радиостанцию. На данный момент написан драйвер дисплея i2c oled дисплея ssd1306, и в процессе написание локальный веб сервер для управления.
    Stm32 на макетке только для прошивки (на нём сделан usb to serial).
    Исходники https://www.dropbox.com/s/o7hphxz0n02mhrw/Web_Radio_Minimal.zip?dl=0
    D4Odu2ta5IY.jpg o1__RfzNwnM.jpg QZZTJsQ2ny4.jpg
    Видео работы:
     
    Последнее редактирование: 23 окт 2015
    AlekseyM, MackNill, Azgard и 4 другим нравится это.
  2. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    414
    Симпатии:
    75
    Может от vs1003 отказаться? Вроде как pvvx делал радио на чистом esp.
     
  3. Past

    Past Читатель

    Сообщения:
    60
    Симпатии:
    9
    Давайте совместными усилиями соорудим аналог sonos!
     
  4. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Отказаться можно, но мне кажется качество звука при использовании сигма-дельта модуляции страдает..
    С этим декодером звучит гараздо лучше..

    Есть другая мысль pvvx, смог запустьть i2s на esp8266, в прошлом году я делал плеер с программым декодированием mp3, в качестве кодека hilex,
    так вот звук там выводился через аудио ацп pcm1770, который как раз подключался по i2s.
    В итоге вышло вот это http://vk.com/video?z=video7911944_170481975/d9d8baf73a4470867e/pl_updates
    Качество звука было очень на высоте..
     

    Вложения:

    • PCM1770 .pdf
      Размер файла:
      630,7 КБ
      Просмотров:
      77
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.961
    Симпатии:
    1.300
    Сигма-дельта - это из-за отсутствия любого внешнего DAC, чтобы собрать используя только модуль ESP8266 и больше ничего :)
    Это не я. Это "подарок" китайцев в виде публикации регистров управления I2S. Да и основа проекта тоже не моя. Я всего добавил буфер в IRAM, пожертвовав частью "кэш" flash (она и не требуется в 32 кило - 16-ти хватает за глаза).
    Не у всех есть регистрация в VK. Ссылка не открывается.
     
  6. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Перезалить на youtube не могу, оригинал к сожалению куда-то пропал :(
     
  7. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Подумал немножко над этой идеей, погуглил немного и вот что вышло.
    Нашел вот такую такую прогу http://www.codeproject.com/Articles/31356/C-MP-Sound-Capturing-Recording-Component
    По сути простая програмка написания на C#, может записывать звук в файл в формате mp3.
    Скачал этот проект, немного над ним поработал, убрал лишнее, и добавил tcp сервер.
    Получилось вот так
    Скриншот 2015-07-20 21.14.21.png
    Ссылка для скачивания
    https://www.dropbox.com/s/rb97x6qhbllneyj/translate mp3.zip?dl=0
    Как это работает
    1. Запускаем программу, выбираем в качестве в качестве устройства "Стерео микшер"
    2. Выбираем качество семплирования, битрейт, и порт на котором будет висеть сервер.
    3. Запускаем

    Изменения в проекте для esp8266:
    Только одно, указать в качестве источника трансляции в файле user_main.c ip адресс пк с которого идёт трансляция и выбранный выше порт (к примеру: в моём случае так)
    Код (Text):
    1. char radio[]={"http://192.168.1.67:88/"};
    Вообщем то и всё, теперь приёмник интнернет радио, воспроизводит звук с ПК, почти в режиме реального времени, из-за буферизации есть некоторый временной лаг. ( на слух где -то полсекунды..)


    Исхоники программы транслятор пока что очень сырые, прога слетает, если приёмник разрывает соединение, и пока что нету поддержки нескольких клиентов.. C#.net я знаю плохо и не всё понимаю, но как будет свободное время постараюсь закончить.
    Вообщем из этого уже вполне можно сделать простую беспроводную акустику..

    P.S.
    Так как програмка сервер транслирует mp3 фреймы по tcp, он оказался совместим со всеми устройствами которые могут проигрывать радио через интернет, как пример настройки для программы радио под iphone..
    IMG_1014.PNG
    Также получилось слушать звук с ПК на андройд девайсах, на другом компьютере (через Aimp)..
    Единственная беда, при прослушивании на iphone, android и windows запаздывание звука где-то секунд 5-6..
    Как-то так вот вышло..буду развивать идею по мере наличия свободного времени..
     
    Последнее редактирование: 21 июл 2015
    Andy Korg нравится это.
  8. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    @idnull схему не моглиб выложить? Хочу тоже собрать но на базе esp12e и дисплея от nokia 5110. Где в коде написано на какие ноги вешается vs1003 а на какие ssd1306? Коментарии в коде не помешали бы), можно ли зделать так чтоб подключалась к любой открытой точке доступа и к тем которые записаны в коде(например 3 штуки разных запороленные)
     
    Последнее редактирование: 4 авг 2015
  9. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Постараюсь на днях выложить последнюю версию кода, т.к. много чего уже поменял.
    Подключение тоже распишу.
    На счёт схемы даже не знаю модуль vs1003
    сам модуль http://ru.aliexpress.com/item/Free-...rd-Onboard-recording-function/1107287976.html
    Где его схему взять - не знаю..
    На скольяко я помню в даташите на vs1003 была нарисована типовая схема подключения микросхемы. Её можно за основу взять.
    Думаю можно, модуль умеет искать точки доступа ( функция "bool wifi_station_scan (struct scan_config *config, scan_done_cb_t cb);" )
    так-же я делаю веб сервер для переключения радиостанций, чтобы управлять модулем из браузера.. Но вот как-то всё времени свободного нету.
     
  10. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    @idnull модуль у меня есть, но в коде не увидел пины ESP8266 к чему какой подключён. ?? к каким пинам подключён vs1003, а к каким дисплей. Механическое переключение будет в новой версии?
     
  11. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    GPIO2 - DREQ
    GPIO0 - XCS
    GPIO15 - XDCS
    GPIO12 - MISO
    GPIO13 - MOSI
    GPIO14 - XCLK
    Vcc - +5.0v
    GND - GND
    Xrst - vcc 3.3 (через резистор )

    GPIO5 - SDA
    GPIO4 - SCK
    Вроде так , но буду вечером дома - перепроверю
     
    Последнее редактирование: 5 авг 2015
  12. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    @idnull gpio15 через резистор подключен на землю? какое сопративление?
     
  13. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    да, 1кОм
     
  14. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    @idnull а в коде где проинецелезированы вывода, а то что то не нашел?
     
  15. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    VS1003_Config(void) (в файле vs1003.c)
    + в spi_init(void) вызов spi_init_gpio(HSPI, SPI_CLK_USE_DIV); ( в файле spi.c )
     
  16. zarin

    zarin Новичок

    Сообщения:
    2
    Симпатии:
    0
    Всячески поддерживаю, идея отличная и нужно развивать. Пара дополнений:
    1. нужен DAC максимально возможного качества (пример - https://redmine.ivi.ru/issues/276737 )
    2. конечно же нужен декодинг AAC
    3. и синхронизация проигрования между несколькими устройствами
    Тогда это будет реальной альтернативой соносу =)
     
  17. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    VS1053B аналог поддерживающий AAC
    http://ru.aliexpress.com/item/1PCS-...-on-board-recording-function/32343609010.html
    На плате написано VS1003/VS1053, но уже с поддержкой AAC
    https://www.sparkfun.com/datasheets/Components/SMD/vs1053.pdf

    @idnull в чём вы пишите код и чем компилируете и отправляите на плату?(сначало показалась то что под ардруино)
     
    Последнее редактирование: 5 авг 2015
  18. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Шаповалов Игорь,
    пишу в eclipse luna, использую не офиициальный devkit, а именно Espressif-ESP8266-DevKit-v2.0.6-x86
     
  19. Шаповалов Игорь

    Шаповалов Игорь Новичок

    Сообщения:
    32
    Симпатии:
    1
    @idnull а вы не знаете можно ли использовать spi на которой работает флешь для данного проекта? на моём модуле распаяны пины spi на котором весит флешка
     
  20. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    для этого придётся отказываться от sdk, и писать всю прошивку с нуля, так как внешняя флешка мапится во внутреннее адресное пространство, а код из неё частично кэшируеться..
    придёться написать сложный драйвер для этого spi..
    В принципе если бы были исходники sdk то попробовать можно было бы, но их нет, как нет и полной документации на многие части этого soc..
    Мне кажеться это слишком сложным
     
    Шаповалов Игорь нравится это.

Поделиться этой страницей