Аудиоплеер BT201: возможности, подключение и AT-команды

Аудиоплеер BT201: возможности, подключение и AT-команды

BT201 — модуль-плеер с Bluetooth, USB, SD-картой и управлением по UART. Разбираем его возможности, подключение к Arduino и основные команды.

Что такое BT201

BT201 — это плата аудиоплеера для самодельных устройств, которая умеет брать звук сразу из нескольких источников: с USB-флешки, с SD-карты и по Bluetooth. Кроме того, она принимает FM-радиостанции, может управляться с ИК-пульта и записывать звук с микрофона. Долгое время стандартным выбором для подобных задач был DFPlayer, но он работает только с SD-картами ограниченной ёмкости, имеет односторонний протокол команд и невысокий уровень сигнала. BT201 относят к следующему поколению таких модулей.

Плата аудиоплеера BT201

На плате уже распаяны гнездо для наушников или усилителя, разъёмы для накопителей и питания, антенна радиоканала и четыре кнопки. Кнопками выбирают режим, запускают и останавливают воспроизведение, переключают треки и регулируют громкость. Поэтому плеер работает и без контроллера: достаточно подать питание, вставить карту с записями и подключить наушники.

Разъёмы на верхней стороне платы BT201

На обратной стороне подписаны контакты для дополнительных подключений: UART для связи с контроллером, выход на динамик, площадки под ИК-приёмник и микрофон, а также вход внешнего питания.

Обозначения контактов на обратной стороне BT201

Характеристики

Питание5 В / 4,2 В, 0,2 А
Форматы аудиоMP3, WAV, WMA, FLAC, AAC, APE
ЦАП16 бит
Сигнал/шум95 дБ
Импеданс4 Ом
Мощность3 Вт
Источники звукаSD / USB / Bluetooth
Габариты60 x 40 x 5 мм

Тактирование контроллера идёт от кварца. Это даёт точную скорость воспроизведения и исключает расхождение треков по времени, в том числе между несколькими плеерами, работающими одновременно.

Подключение к Arduino и скорость порта

Связь с контроллером идёт по UART, линии соединяются перекрёстно: RX к TX, TX к RX. Обмен двусторонний: плеер подтверждает команды, сообщает режимы работы, имена файлов и другую служебную информацию. Команды имеют вид «AT+…», как у модемов и GPS-модулей.

Чтобы попробовать команды вручную, Arduino превращают в мост между плеером и компьютером. Поскольку аппаратный UART у большинства плат один, для плеера используют программный порт: в примере это SoftwareSerial на выводах 3 (RX) и 4 (TX). Скетч просто пересылает байты из одного порта в другой.

По умолчанию BT201 работает на скорости 115200 бод. Для программного порта это слишком много, и в мониторе вместо ответа появляются нечитаемые символы.

Искажённый ответ плеера в мониторе порта на скорости 115200

Выхода два: взять плату с несколькими аппаратными UART, например MEGA2560, либо понизить скорость плеера. Для этого служит команда AT+CTxx, где xx — номер одной из шести предустановленных скоростей. Команда AT+CT01 выбирает самую низкую — 9600 бод. После подтверждения плеер нужно перезапустить, сняв и снова подав питание; новая скорость сохраняется до следующей смены. Затем оба порта в скетче переводят на 9600, и приветственные строки с настройками и состоянием устройств (вставлена ли карта, работает ли Bluetooth, уровень громкости, режим повтора) читаются нормально.

Основные команды

Документация производителя занимает 54 страницы и описывает пару сотен команд, но для большинства проектов хватает нескольких. В источнике часть из них записана через дефис, часть через плюс; в примере кода везде используется вариант с плюсом.

  • AT+CM03 — переход в режим работы с SD-картой. После включения плеер ждёт подключения по Bluetooth, переключение занимает пару секунд и подтверждается голосовым сообщением.
  • AT+CAxx — громкость от 0 до 30.
  • AT+AA0 — остановка воспроизведения. Нужна сразу после переключения на накопитель, так как первый файл запускается автоматически.
  • AT+ABxx — запуск файла по порядковому номеру, то есть по очерёдности записи на носитель, а не по имени.
  • AT+CB — пауза и продолжение с того же места.
  • AT+AJ/имя — однократное проигрывание файла по полному имени с папками и расширением.
  • AT+AF/имя — то же, но далее файлы идут подряд.
  • AT+M2 — количество звуковых файлов в шестнадцатеричном виде.
  • AT+MF — имя текущего файла (вместо точки возвращается пробел).

Типовая настройка для запуска звука по событию выглядит так: переключиться на SD, задать громкость, выждать около двух секунд, остановить автозапуск, при необходимости включить одиночный режим командой AT+AC01, а затем по нажатию кнопки отправлять AT+AB с номером файла. Вывода «busy» у BT201 нет, поэтому окончание трека отслеживают по входящему сообщению вида «MO+00000xx». Запись звука на активный накопитель выполняется серией команд AT+RCxx.

Практические замечания

Если ИК-приёмник не используется, его линию данных советуют притянуть к земле резистором 1–10 кОм между контактами GND и IR: это убирает небольшие шумы и наводки, которые иногда появляются на выходе.

При работе со смартфоном по Bluetooth плеер воспроизводит звук телефона, включая разговор, передаёт голос обратно и может набрать заранее заданный номер. Отсюда и круг применений: озвучка квестов, звуковые оповещения, интеграция с домофоном или автоответчиком, добавление Bluetooth в старую автомагнитолу. На той же базе существуют близкие по возможностям платы BT321, BT301 и более компактная BT401. У DFPlayer на фоне BT201 остаётся по сути одно техническое преимущество — он примерно вшестеро меньше.

← Все статьи