UART MP3 (updated: 10 Oct 2017, 16:15:45)

Управление UART MP3 плеером MP3-TF-16P (YX5200)  и  UART Control Serial MP3 Music Player (YX5300). Очередь треков. Говорящие часы. Произношение данных с датчиков.


Подключение плеера:

VCC -питание от 3.3 до 5 вольт.

USB - , USB + - подключение к USB в качестве flash накопителя.

DAC_R, DAC_L  - не усиленный аудио выход

SPK_1 , SPK_2 - подключение динамика до 3вт.

RX - подключение к ESP8266 к GPIO2.

TX - передача от MP3 плеера, не используется.

BUSY - подключается обязательно на GPIO 14 (настраивается). Используется для воспроизведения очереди треков

Некоторые команды

1 - следующий трек

2 - предыдущий трек

3 - выбор трека по физическому номеру(в порядке записанными на карту). Параметр - номер трека.

6 - управление громкостью. Параметр - уровень громкости 0..30.

7  - эквалайзер. Параметр - пред установка эквалайзера  0/1/2/3/4/5 соответствует Normal/Pop/Rock/Jazz/Classic/Bass

13 - воспроизвести

14 - пауза

18 - выбор трека по номеру имени файла. Параметр - номер трека.

22 - стоп

24 - случайный трек


Управление через GET команду

Управление MP3 плеером осуществляется через GET команду http://[ip адрес]/mp3play?cmd=команда&data=параметр . Список команд смотрите выше.

Для проигрывания очереди треков необходимо подать команду http://[ip адрес]/mp3playqueue?data=номера_треков . Номера треков пишутся через запятую. 0 - пауза, номера больше 1000 - пауза в секундах , например 1010  - 10 секунд. 1005 - 5 секунд. Обязательное подключение BUSY !

Управление через MQTT

Топик  login/hostname/mp3play - проиграть указанный трек.

Топик  login/hostname/mp3queue - проиграть очередь треков указанные через запятую.

Топик  login/hostname/mp3cmd- отправить команду модулю. Список команд смотрите выше

Топик  login/hostname/mp3vol - установить громкость.

Управление через планировщик заданий

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

Управление через логический модуль (Logic2)

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

Размещение файлов на SD карте

Необходимо в папку "mp3" скопировать файлы треков с именами вида xxxx.mp3 , например 0001.mp3 , после номера может быть указано название трека.

Набор русскоязычных треков с поддержкой цифр, говорящих часов качаем здесь (обновлено 17.08.16)


Говорящие часы

При обращении к GPIO 193 можно вызвать произношение текущего времени из функций прошивки. Не забываем закачать архив звуков на флеш карту.


Конструктор фраз

Модуль прошивки поддерживает конструктор фраз, который позволяет создать фразу из треков на flash карте вместе с произношением данных с датчиков устройства.

В редакторе фраз необходимо через запятую ввести номера треков и номера датчиков, ноль - это пауза между словами.

Номера датчиков указываются с буквой впереди:

Sxx - произношение числа, где xx - номер датчика , например S11 произнесет значение датчика ds18b20 .

Txx - произношение числа, где хх - номер датчика, с произношением слова "градусы" в правильном склонении , например T11 произнесет значение датчика ds18b20 вместе со словом "градусов".

Пример строки:

41,T11,0,42,T12 - значит произнесет примерно следующее: "В комнате 30 градусов , на улице 21 градус". 41 - это номер трека "в комнате" , 42 - номер трека "на улице". Первый датчик DS18B20 находится в комнате, второй - на улице.

Список номеров датчиков находится в конце статьи.

Вызов фразы осуществляется через обращение к 190-192 GPIO из функций модуля. Доступна установка трех фраз.

Отладка очереди треков

На странице http://[ip адрес]/mp3queueprint можно посмотреть порядок треков при проигрывании через очередь и при их формировании говорящими часами или конструктором фраз.


Если продавец прислал не рабочий MP3 модуль...

То советую проверить указанный резистор, он должен быть 4.7 Ом (4R7) , а не 4.7кОм(473) . Спасибо olegr70 за подсказку.


Обсуждение на форуме.

Пример уведомления времени или фраз каждый час через Logic2

Время будет произносится каждый час с 7 до 21 часа включительно.

В "Event options" указываем режим GPIO и устанавливаем 193 GPIO (или 190 для первой фразы), который соответствует говорящим часам:

В первом шаге указываем интервал срабатывания логики в 60 минут, если верно, то переходим к следующему шагу, иначе event=0:

Во втором шаге ставим условие, что время срабатывания должно быть меньше 22 часов, если верно, то переходим к следующему шагу, иначе event=0:

В третьем шаге указываем , что время срабатывания должно быть больше 6 часов, если верно, то в GPIO передаем 1, иначе - 0 :


Цифровые метрики для конструктора фраз:

Key
1-2 Temperature sensors DHT22 DHT11
11-20 temperature sensors DS18B20
1yx Data from Virtual SENS sensors
21-22 Data counter 60
23 Temperature sensor with BME280
24 Humidity sensor BME280
25 Pressure sensor with BME280
3-4 Humidity sensors DHT22 DHT11
31-35 The data received from the sensors narodmon.ru
3XX GPIO status
5 temperature sensors BMP180/085
6 Pressure sensors BMP180 / 085
7 temperature sensors AM2321
8 Humidity sensor AM2321