Модуль BT201 5.0 Bluetooth представляет собой единый чип 4-в-1, который поддерживает Bluetooth, USB-флешку и TF-карту.
Функции:
- Поддержка Bluetooth-аудио, передача данных BLE, воспроизведение U-диска, воспроизведение TF-карты, SPIFLASH. Поддержка декодирования форматов MP3, WAV, WMA, FLAC, AAC, APE.
- 16-битный стерео ЦАП с усилителем для наушников, отношение сигнал/шум >= 95 дБ
- Последовательный порт управления командой AT. Поддержка изменения скорости передачи данных для изменения имени Bluetooth, указания воспроизведения устройства и передачи данных мобильного телефона.
- Поддержка двухрежимной передачи данных BLE и SPP, в то же время может воспроизводить звук Bluetooth, без конфликтов.
- Поддержка вызова Bluetooth, многокнопочного управления, последней музыки, следующей музыки, воспроизведения паузы, регулировки громкости и других простых функций.
- Поддержка получения полного имени файла последовательного порта воспроизведения, указанного пути воспроизведения, цикла или одиночного воспроизведения.
- Поддержка функции записи 128KBS. Запись на TF-карту или U-диск, запись, удаление, воспроизведение и т. д.
При тестировании модуля BT201 был выбран микроконтроллер STM32 (плата разработчика STM32F103C8T6), так он содержит несколько UART портов, один будет использован для вывода информации в монитор порта, другой (Serial3) для отправки АТ команд в модуль BT201.
Как прошивать STM32 в среде Arduino IDE написано в — http://rcl-radio.ru/?p=68376
Так как STM32 прошивается через переходник USB to COM (RS232) YP-01 на чипе PL2303HX, в котором имеются 2 источника напряжения, то напряжение 3,3 В будут использованы для питания STM32, а напряжение 5 В для питания модуля BT201.
Подключения STM32 к USB to COM и BT201
Тестовый скетч
void setup(){ Serial.begin(115200);
Serial3.begin(115200);
Serial.println();
delay(500);
}
void loop(){ if (Serial.available() > 0) { String str = Serial.readString();
Serial.println(str);
Serial3.print(str+"\r\n");
}
if (Serial3.available() > 0) { String str = Serial3.readString();
Serial.println(str);
} }
Команды управления отсылаете через монитор порта, и они пересылаются на модуль BT201.
Все, что приходит с модуля (ответы, сообщения и т.д.), пишется в монитор порта.
Список АТ команд —BT201 Module _KT1025A_B_User Manual _V2.3.pdf
Список основных АТ команд:
- AT+CB — стоп\паузы
- AT+CC — следующий трек
- AT+CD — предыдущий трек
- AT+CE — громкость +++
- AT+CF — громкость —
- AT+CA15 — громкость уровень 15 (0-30)
- AT+CM01 — Bluetooth
- AT+CM02 — USB
Ниже показан пример управления модулем BT201 при помощи STM32 и нескольких кнопок, режимы работы и другая информация отображается на дисплее 0.96′ I2C 128X64 OLED.
Дисплей 0.96′ I2C 128X64 OLED на контроллере SSD1306 имеет разрешение 128х64 пиксел и подключается к микроконтроллеру по интерфейсу I2C.
Параметры дисплея SSD1306:
- Технология дисплея: OLED
- Разрешение дисплея: 128 на 64 точки
- Диагональ дисплея: 0,96 дюйма
- Угол обзора: 160°
- Напряжение питания: 2.8 В ~ 5.5 В
- Мощность: 0,08 Вт
- Габариты: 27.3 мм х 27.8 мм х 3.7 мм
Кнопки управления:
- PLAY / STOP — воспроизведение \ пауза в режиме Bluetooth и USB
- >>> — следующий трек (файл, ролик) в режиме Bluetooth и USB
- <<< — предыдущий трек (файл, ролик) в режиме Bluetooth и USB
- Bluetooth \ USB — кнопка выбора Bluetooth или USB
- VOLUME UP — громкость прибавить на 1 ед.
- VOLUME WD — громкость удавить на 1 ед.
Меню Bluetooth
- Bluetooth
- Режим работы:not connected — нет соединения
connected — соединение установлено
play — воспроизвидение - Уровень громкости
Меню USB
- USB
- Номер воспроизводимого файла (кол-во файлов на носителе*)
- Время звучания воспроизводимого файла
- текущее время проигрывания файла
- Уровень громкости
*Звуковые файлы на USB устройстве должны быть записаны й в корень файловой системы.
Подключения STM32, кнопок и дисплея
** Подключение кнопок
Подключения STM32 к BT201
Скетч - http://rcl-radio.ru/?p=129611