По мотивам проекта ESPmini но на этот раз с приминением внешнего ЦАП TDA1387, а так же любого другого с шиной I2S.
Конструкция
Схема.
Управление производится 4 кнопками. Кнопки "Канал+ (S3) / Канал- (S4)" переключают станции из плей листа который содержит 10 станций. "Уровень+ (S1) / Уровень- (S2)" соответственно уровень звука громче тише. Красный светодиод- отображает ошибку воспроизведения потока, зеленый- воспроизведение идет.
При первом включении после прошивки приемник запускается в режиме точки доступа с именем "ESPmini", сеть открытая без пароля.
После того как произвели подключение к сети "ESPmini" автоматически откроется страница конфигурации приемника. Если автоматически страница не открылась нужно открыть браузер и в адресной строке набрать 192.168.1.1 , откроется веб интерфейс через который можно настроить приемник.
В разделе "Станции" по умолчанию установленно 4 потока их можно изменить на свои. Через раздел "Система" производятся настройки WiFi подключения SSID вашей сети и ключ к сети соответственно. После ввода SSID и PASW нажимаем кнопку "Сохранить" затем "Перезагрузка" после чего приемник перезагрузится и подключится к вашей сети, сразу же пойдет воспроизведение станции по умолчанию "Европа+".
После успешного подключения к настроенной wifi сети режим точки доступа у приемника отключается, так же как и веб интерфейс cтановится недоступным.
Для того чтобы принудительно запустить приемник в режиме точки доступа для конфигурирования нужно: выключить приемник, зажать кнопку "Канал+ (S3)" после чего включить приемник, приемник перейдет в режим точки доступа и появится сеть "ESPmini" после чего можно будет подключиться и сконфигурировать приемник. Начиная с версии прошивки 35 в режим точки доступа можно попасть нажав назначенную кнопку на ИК пульте, выход из режима точки доступа осуществляется той же кнопкой или снятием и подачей напряжения питания (перезагрузкой) модуля.
Для того чтобы назначить кнопку пульта нужно: запустить приемник в режиме точки доступа, зайти в веб интерфейс, перейти в раздел "Система", "Настройка пульта" нажать кнопку на пульте- в поле "Принятый код пульта:" отобразится код кнопки, назначить принятый код кнопки определенной функции нажав кнопку "Установить", далее проделать аналогичные действия с остальными полями, после чего нажать кнопку "Сохранить". Всё, кнопки назначены. Потренироваться можно в демо интерфейсе приемника.
Начиная с версии прошивки 36 приемник поддерживает OLED дисплей с контроллером SSD1306 128х64. После прошивки по умолчанию индикация режимов происходт при помощи светодиода. Если ваша конструкция приемника с дисплеем то необходимо зайти в веб интерфейс и в разделе "Система" установить "Тип индикатора" Display после чего нажать кнопку "Сохранить" и перезагрузить приемник. Примечание: Если вы используете дисплей то светодиод и токоограничивающие резисторы необходимо удалить! В противном случае дисплей не будет нормально работать.
При использовании в качестве индикатора OLED дисплея размер буфера воспроизведения составляет 3Кб с LED индикатором 5Кб.
Ниже приведена структура файлов используемых в приемнике. ESPmini_DAC_39_0x0.bin - файл прошивки. Используется как для первоначальной прошивки приемника так и для обновления через WEB интерфейс. ESPmini_DAC_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Кб.
Список из 780 вещающих в mp3 формате радиостанций.
Обновление через WEB интерфейс
Через веб интерфейс можно просто и быстро обновить: прошивку приемника, озвучку действий, список потоков.
Обновление прошивки приемника производится в следующей последовательности:
1. Распаковываем архив ESPmini_DAC_web_update_xx (см.раздел Downloads)
2. Для обновления прошивки нам потребуется файл ESPmini_DAC_xx_0x0.bin
3. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
4. Переходим в раздел "Обновление" - "Обновление ПО приемника" выбираем ранее распакованный файл ESPmini_DAC_xx_0x0.bin и нажимаем кнопку "Обновить прошивку"
5. Через пару минут, приемник сообщит результат по окончинии процесса обновления. Прошивка приемника обновлена.
Обновление файлов озвучивания действий:
1. Распаковываем архив ESPmini_DAC_web_update_xx
2. Для обновления нам потребуются 18 файлов mp3 из папки "data"
3. Запускаем приемник в режиме точка доступа (см.выше) и подключаемся к нему, открываем страничку конфигурации по адресу 192.168.1.1
4. Переходим в раздел "Обновление" - "Обновление файлов озвучивания" выбираем все 18 файлов разом (выбор с зажатым Shift) и нажимаем кнопку "Обновить"
5. Через пару минут, приемник сообщит результат по окончинии процесса обновления. Файлы озвучивания обновлены.
Обновление списка потоков:
1. Распаковываем архив ESPmini_DAC_web_update_xx или скачиваем свежий файл 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. Нажимаем кнопку "Восстановить". Для того чтобы настройки восстановились, перезагружаем приемник. Все.
Прошивка и первое включение
Для того чтобы перевести модуль в режим загрузки прошивки необходимо: 1. Подключить USB-UART конвертер с логическими уровнями 3.3v к гнезду P1 Uart (см.схему)
2. Установить перемычку Prog (J1)
3. Подать питание на приемник
Для первоначальной прошивки нам потребуется архив с файлами ESPmini_dac_xx.zip, распаковываем его и переходим к конфигурированию прошивальщика.
Далее, потребуется утилита Flash download tools прошивка будет осуществляется при помощи ее.
Важное замечание, Flash download tools необходимо разворачивать в корень диска и путь к файлам прошивки не должен содержать кириллических символов.
Перед первой прошивкой необходимо воспользоваться опцией ERASE в настройках Flash download tools (см.картинку).
Конфигурация Flash download tools
Конфигурацию Flash download tool устанавливаем согласно картинки. CrystalFreq- 26M, Spi Speed- 80MHz, Spi Mode- DIO, Flash Size- 32Mbit (зависит от применяемого модуля), ставим галочку DoNotChgBin.
Указать адрес секций согласно файлу (см.картинку): 0x00000- прошивка, 0x300000- образ SPIFFS.
Выбрать COM порт uart конвертера, установить скорость Baud 921600 и нажать кнопку Start. Если все сделано верно то должен пойти процесс прошивки.
Версия 39
-добавил возможность назначать статические IP адрес, шлюз, маску;
-добавил возможность выбора потоков радиостанций из обновляемого списка (на текущий момент 780 станций);
-добавил возможность обновления через веб интерфейс: голосовых уведомлений, списка станций;
-добавил возможность делать бекап настроек приемника и восстановление настроек;
-увеличил размер буфера на 1кб;
-изменил User-Agent приемника (некоторые потоки не запускались с прежним);
-куча мелких улучшений;
Версия 38 промежуточная
-добавил поддержку ЦАП;
-переназначил кнопки управления;
Версия 38
-добавил голосовое озвучивание действий;
-устранил щелчки при переключении потоков;
Версия 37
-добавил логотип приветствия;
-оптимизировал и модифицировал библиотеку esp8266Audio (модифицированная версия прилагается к проекту Arduino);
-добавил отображение имени вещающей станции;
-добавил отображение битрейта потока;
-устранил недочеты отображения на дисплее;
-устранил ошибку обновления через веб интерфейс;
Версия 36
-добавил поддержку OLED дисплея SSD1304, выбор варианта индикации через веб интерфейс;
-добавил функцию распознавания типа потока в библиотеку esp8266Audio;
-добавил русские шрифты в библиотеку SSD1306;
-добавил индикацию процесса подключения к WiFi при помощи светодиода;
Версия 35
-добавил кнопки прямого выбора потоков с ИК пульта с 0 по 9 поток;
-добавил функцию переключения кнопкой ИК пульта в режим точки доступа и обратно;
-добавил функцию отключения UART интерфейса, управление функцией через веб интерфейс;
-добавил функцию восстановления "заводских настроек";
-поправил функцию обновления прошивки через веб интерфейс;
Версия 34
-добавил captive portal;
-устранил баг с потерей конфигурации;
-корректировка схемы;
Версия 33
-добавил 5 кнопок выбора потока;
-добавил управление пультом ду (поддержка любых пультов);
-корректировка схемы;