ESPradio
Интернет радиоприемник ESPmini

Предлагаю вашему вниманию простой интернет радиоприемник на esp8266 без использования ЦАП. Формирование звука происходит посредством ШИМ. Ниже представлена вся необходимая документация для сборки.

Конструкция

Вариант схемы соответствующий печатной плате ревизии 1.5. Прошивка ESPmini_39_rev15.zip

Управление производится 2 кнопками. Кнопки "Канал+ / Канал-" переключают станции из плей листа который содержит 10 станций. Красный светодиод- отображает ошибку воспроизведения потока, зеленый- воспроизведение идет.

При первом включении после прошивки приемник запускается в режиме точки доступа с именем "ESPmini", сеть открытая без пароля.

После того как произвели подключение к сети "ESPmini" автоматически откроется страница конфигурации приемника. Если автоматически страница не открылась нужно открыть браузер и в адресной строке набрать 192.168.1.1 , откроется веб интерфейс через который можно настроить приемник.

В разделе "Станции" по умолчанию установленно 4 потока их можно изменить на свои. Через раздел "Система" производятся настройки WiFi подключения SSID вашей сети и ключ к сети соответственно. После ввода SSID и PASW нажимаем кнопку "Сохранить" затем "Перезагрузка" после чего приемник перезагрузится и подключится к вашей сети, сразу же пойдет воспроизведение станции по умолчанию "Европа+".

После успешного подключения к настроенной wifi сети режим точки доступа у приемника отключается, так же как и веб интерфейс cтановится недоступным.

Для того чтобы принудительно запустить приемник в режиме точки доступа для конфигурирования нужно: выключить приемник, зажать кнопки "Канал+" после чего включить приемник, приемник перейдет в режим точки доступа и появится сеть "ESPmini" после чего можно будет подключиться и сконфигурировать приемник. В режим точки доступа можно попасть нажав назначенную кнопку на ИК пульте, выход из режима точки доступа осуществляется той же кнопкой или снятием и подачей напряжения питания (перезагрузкой) модуля.

Чтобы назначить кнопку пульта нужно: запустить приемник в режиме точки доступа, зайти в веб интерфейс, перейти в раздел "Система", "Настройка пульта" нажать кнопку на пульте- в поле "Принятый код пульта:" отобразится код кнопки, назначить принятый код кнопки определенной функции нажав кнопку "Установить", далее проделать аналогичные действия с остальными полями, после чего нажать кнопку "Сохранить". Всё, кнопки назначены. Потренироваться можно в демо интерфейсе приемника.

Демо веб интерфейс приемника можно посмотреть здесь. Версия 34.

Структура файлов

Ниже приведена структура файлов используемых в приемнике.
ESPmini_39_0x0.bin - файл прошивки. Используется как для первоначальной прошивки приемника так и для обновления через WEB интерфейс.
ESPmini_39_0x300000.bin - файл образа файловой системы SPIFFS. Используется только для первоначальной прошивки.
stream_list.json - список потоков. Файл содержит в себе обновляемый список потоков.
config.json - файл конфигурации приемника. Содержит в себе всю конфигурацию и настройки.
radioon.mp3 - файл озвучивания. Приветствие
goap.mp3 - файл озвучивания. Запуск точки доступа
apmode.mp3 - файл озвучивания. Точка доступа запущена
goconnect.mp3 - файл озвучивания. Попытка подключения к сети
okconnect.mp3 - файл озвучивания. Соединение установленно
errconnect.mp3 - файл озвучивания. Ошибка подключения
goradio.mp3 - файл озвучивания. Запуск радио
nostreem.mp3 - файл озвучивания. Нет потока
сh0.mp3 по ch9.mp3 - файл озвучивания. Озвучивание каналов
Файлы озвучивания можно заменить на свои. mp3 файлы должны иметь битрейт не более 128kbps и общий объем всех mp3 файлов не должен превышать 700Кб.

Начиная с версии прошивки 36 приемник поддерживает OLED дисплей с контроллером SSD1306 128х64. После прошивки по умолчанию индикация режимов происходт при помощи светодиода. Если ваша конструкция приемника с дисплеем то необходимо зайти в веб интерфейс и в разделе "Система" установить "Тип индикатора" Display после чего нажать кнопку "Сохранить" и перезагрузить приемник.
Примечание: Если вы используете дисплей то светодиод и токоограничивающие резисторы необходимо удалить! В противном случае дисплей не будет нормально работать.
При использовании в качестве индикатора OLED дисплея размер буфера воспроизведения составляет 3Кб с LED индикатором 5Кб.

Обзор конструктива

Партия заводских приемников

Размеры плат 48x45мм


Вариант с светодиодом

Вариант с диспалеем


Озвучивание


WEB интерфейс и базовые настройки

Приобрести модуль можно в нашем интернет магазине


Обновление через WEB интерфейс

Через веб интерфейс можно просто и быстро обновить: прошивку приемника, озвучку действий, список потоков.

Обновление прошивки приемника производится в следующей последовательности:
1. Распаковываем архив ESPmini_web_update_xx
2. Для обновления прошивки нам потребуется файл ESPmini_xx_0x0.bin
3. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
4. Переходим в раздел "Обновление" - "Обновление ПО приемника" выбираем ранее распакованный файл ESPmini_xx_0x0.bin и нажимаем кнопку "Обновить прошивку"
5. Через пару минут, приемник сообщит результат по окончинии процесса обновления. Прошивка приемника обновлена.

Обновление файлов озвучивания действий:
1. Распаковываем архив ESPmini_web_update_xx
2. Для обновления нам потребуются 18 файлов mp3 из папки "data"
3. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
4. Переходим в раздел "Обновление" - "Обновление файлов озвучивания" выбираем все 18 файлов разом (выбор с зажатым Shift) и нажимаем кнопку "Обновить"
5. Через пару минут, приемник сообщит результат по окончинии процесса обновления. Файлы озвучивания обновлены.

Обновление списка потоков:
1. Распаковываем архив ESPmini_web_update_xx файл берем из папки "data" или скачиваем свежий файл stream_list.json
2. Для обновления нам потребуются файл stream_list.json из папки "data"
3. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
4. Переходим в раздел "Обновление" - "Обновление списка станций" выбираем файл stream_list.json и нажимаем кнопку "Обновить"
5. Через пару минут, приемник сообщит результат по окончинии процесса обновления. Список станций обновлен.

Сохранение и восстановление конфигурации приемника

При помощи данной функции можно легко и быстро восстановить все настройки приемника, например после полной прошивки.

Сохранение файла конфигурации:
1. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
2. Переходим в раздел "Обновление" - "Сохранение и восстановление конфигурации" нажимаем кнопку "Сохранить"
3. Загрузится файл config.json. В этом файле находятся все настройки приемника.

Восстановление настроек приемника:
1. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
2. Переходим в раздел "Обновление" - "Сохранение и восстановление конфигурации" нажимаем кнопку "Выбрать файл" и выбираем файл config.json
3. Нажимаем кнопку "Восстановить". Для того чтобы настройки восстановились, перезагружаем приемник. Все.


Список станций

Список из 780 вещающих в mp3 формате радиостанций.


Прошивка и первое включение

Для того чтобы перевести модуль в режим загрузки прошивки необходимо:
1. Подключить USB-UART конвертер с логическими уровнями 3.3v к гнезду P1 Uart (см.схему)
2. Нажать и удерживать кнопку Ch-
3. Подать питание на приемник

Для первоначальной прошивки нам потребуется архив с файлами bin ESPmini_xx.zip, распаковываем его и переходим к конфигурированию прошивальщика.

Далее, потребуется утилита Flash download tools прошивка будет осуществляется при помощи ее. Важное замечание, Flash download tools необходимо разворачивать в корень диска и путь к файлам прошивки не должен содержать кириллических символов. Перед первой прошивкой необходимо воспользоваться опцией ERASE в настройках Flash download tools (см.картинку).

Конфигурация для версии прошивки 38 и старше


Конфигурацию Flash download tool устанавливаем согласно картинки. CrystalFreq- 26M, Spi Speed- 40MHz, Spi Mode- DIO, Flash Size- 8Mbit (зависит от применяемого модуля), ставим галочку DoNotChgBin. Указать адрес секций согласно файлу (см.картинку): 0x00000- прошивка. Выбрать COM порт uart конвертера, установить скорость Baud 921600 и нажать кнопку Start. Если все сделано верно то должен пойти процесс прошивки.


Архив

Все предыдущие версии здесь

Downloads:
ESPmini_39_rev15.zip прошивка bin версия 39 (первоначальная прошивка).
ESPmini_web_update_39_rev15.zip пакет файлов для обновления через WEB интерфейс.
stream_list.json.gz обновление списка потоков 19.03.2019

Что нового в прошивке:

Версия 39
-добавил возможность назначать статические IP адрес, шлюз, маску;
-добавил возможность выбора потоков радиостанций из обновляемого списка (на текущий момент 780 станций);
-добавил возможность обновления через веб интерфейс: голосовых уведомлений, списка станций;
-добавил возможность делать бекап настроек приемника и восстановление настроек;
-увеличил размер буфера на 1кб;
-изменил User-Agent приемника (некоторые потоки не запускались с прежним);
-куча мелких улучшений;

Версия 38
-добавил голосовое озвучивание действий;
-устранил щелчки при переключении потоков;

Версия 37
-добавил логотип приветствия;
-оптимизировал и модифицировал библиотеку esp8266Audio (модифицированная версия прилагается к проекту Arduino);
-добавил отображение имени вещающей станции;
-добавил отображение битрейта потока;
-устранил недочеты отображения на дисплее;
-устранил ошибку обновления через веб интерфейс;

Версия 36
-добавил поддержку OLED дисплея SSD1304, выбор варианта индикации через веб интерфейс;
-добавил функцию распознавания типа потока в библиотеку esp8266Audio;
-добавил русские шрифты в библиотеку SSD1306;
-добавил индикацию процесса подключения к WiFi при помощи светодиода;

Версия 35
-добавил кнопки прямого выбора потоков с ИК пульта с 0 по 9 поток;
-добавил функцию переключения кнопкой ИК пульта в режим точки доступа и обратно;
-добавил функцию отключения UART интерфейса, управление функцией через веб интерфейс;
-добавил функцию восстановления "заводских настроек";
-поправил функцию обновления прошивки через веб интерфейс;

Версия 34
-добавил captive portal;
-устранил баг с потерей конфигурации;
-корректировка схемы;

Версия 33
-добавил 5 кнопок выбора потока;
-добавил управление пультом ду (поддержка любых пультов);
-корректировка схемы;

Версия 32
-написана первая публичная версия;


Бубнов Евгений espradio.ru e-mail: rv9c@yandex.ru