Рейтинг статьи: 2.772/5 (57 голосов).
Заинтересовал меня модуль BT201, умеющий воспроизводить mp3 файлы связываться по BT со смартфоном.Спонсор этой страницы:
Краткое описание
Поддержка TF-карт и USB-диска
Поддержка MP3,WAV,FLAC, APE
Поддержка кнопок управления
Поддержка Serial команд через RX/TX
Поддержка Bluetooth вызова
Формат команды управления: AT +
Подключение к wemos d1 mini
Подключал к тому, что было под рукой
Программа написана для тестирования модуля.
Команды управления отсылаете через монитор порта, и они пересылаются на модуль BT201.
Все, что приходит с модуля (ответы, сообщения и т.д.), пишется в монитор порта.
#include <SoftwareSerial.h>
#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5)
#define MP3_RX_PIN (12U) // artuinio RX mp3 player TX (D6)
SoftwareSerial mp3(MP3_RX_PIN, MP3_TX_PIN); // RX, TX
void setup()
{
Serial.begin(115200);
Serial.println();
mp3.begin(115200);
delay(500);
}
void loop()
{
if (Serial.available() > 0) {
String str = Serial.readString();
Serial.println(str);
mp3.print(str+"\r\n");
}
if (mp3.available() > 0) {
String str = mp3.readString();
Serial.println(str);
}
}
В дальнейшем модуль BT201 можно просто использовать в своих проектах, отсылая команды через Serial
Например:
mp3.print("AT+CM03\r\n"); // использовать "TF Card"
mp3.print("AT+AF/02*/*???\r\n"); // запустить воспроизведение всех файлов по маске * из папки по маске 02*, например "02 Огонь"
mp3.print("AT+BT+375290000000\r\n"); //Позвонить по номеру +375290000000
mp3.print("AT+CA15\r\n"); //Установить громкость 15 (значения от 0 до 30)
Система команд для работы с mp3 гораздо слабее, по сравнению с DFPlayer Mini, но все равно возможно использовать в GyverLamp.
Документация
Список команд BT201 Module _KT1025A_B_User Manual _V2.3.pdf
Полный архив en_BT201__KT1025A_B-20210103T184005Z-001.zip с описанием и программами.
Продается BT201 на aliexpress
Комментарии к статье:
-
2021-01-25 23:33:24, Гость :
Модуль действительно неплохой, сам играюсь с ним и хочу приделать к автомантитоле заместо аудио диска
-
2022-02-05 21:44:51, Гость :
как убрать на нем фон? нужно как то разделить питание чтоб не фонило.
-
-
2021-01-27 20:28:36, Robert :
É possível conectar ele com o arduino?
-
2021-03-02 22:46:10, 123 :
sim, claro, via UART para arduino serial
-
-
2021-04-09 18:14:11, kostyamat :
Что-то странное.
Подключил модуль к Arduino Nano.
Скетч
#include
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(115200);
mySerial.begin(115200);
}
void loop() {
if (Serial.available()) { // If anything comes in Serial (USB),
mySerial.write(Serial.read()); // read it and send it out Serial1
}
if (mySerial.available()) { // If anything comes in Serial1 (pins 0 & 1)
Serial.write(mySerial.read()); // read it and send it out Serial (USB)
}
}
На выходе крякозяблики
Вот пример ответа на команду AT
⸮
Œkr
⸮⸮
Пробовал для софтсериал другие скоростя - результат еще хуже.
Впечатление, что он по китайски отвечает. Или я туплю.
Был у меня GPRS модем какой-то, там проблема была в том, что УАРТ с открытым коллектором, помогли резисторы на массу. Тут думал то же самое - но нет. Резисторы не помогают. -
2021-04-09 22:29:32, kostyamat :
Что-то странное.
Подключил модуль к Arduino Nano.
Скетч
#include
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(115200);
mySerial.begin(115200);
}
void loop() {
if (Serial.available()) { // If anything comes in Serial (USB),
mySerial.write(Serial.read()); // read it and send it out Serial1
}
if (mySerial.available()) { // If anything comes in Serial1 (pins 0 & 1)
Serial.write(mySerial.read()); // read it and send it out Serial (USB)
}
}
На выходе крякозяблики
Вот пример ответа на команду AT
⸮
Œkr
⸮⸮
Пробовал для софтсериал другие скоростя - результат еще хуже.
Впечатление, что он по китайски отвечает. Или я туплю.
Был у меня GPRS модем какой-то, там проблема была в том, что УАРТ с открытым коллектором, помогли резисторы на массу. Тут думал то же самое - но нет. Резисторы не помогают.