Если вы чего-то купили и на этом чего-то есть 2 ножки которые подписаны Tx и Rx значит с этим чего-то возможен обмен данными через интерфейс UART. Если в документации указано, что устройством можно управлять и/или конфигурировать с помощью АТ команд - задача взаимодействия с любым модулем становится еще более простой. Разберем это на примере управления BK8000L Bluetooth-аудиомодулем из предыдущей статьи.
Набор АТ команд состоит из серий коротких текстовых строк. Сами строки можно отправлять например с компьютера используя USB - UART преобразователь (в качестве него можно использовать и плату Arduino), или с любого другого микроконтроллера имеющего данный интерфейс.
При подаче питания на модуль BK8000L - он должен вернуть текстовую строку ON, и начнем мы с её получения. Чтобы не путаться при сборке схем необходимо выучить 2 английских слова:
- Tx - Transmitter - передатчик
- Rx - Receiver - приемник
Раз мы ожидаем информацию от модуля, схема подключения становится очевидной: Tx (на модуле) -> Rx(на переходнике).
Для передачи сигнала платы должны танцевать от печки следить за изменением его уровня относительно чего-то, поэтому обязательно подключается земля. Использовать выход USB для питания неизвестной Китайской фигни не всегда хорошая идея, поэтому если сомневаетесь - плюс питания можно не подключать, запитав устройство от отдельного источника питания.
ВАЖНО: Перед тем как стыковать устройства между собой необходимо выяснить допустимые уровни логических сигналов.
РашенШит (USB - UART конвертер выпущен в России) говорит о том, что уровень логических сигналов на переходнике 3.3V, но устройство можно использовать с платами имеющими "пятивольтовую логику".
ЧайнаШит на BK8000L говорит нам:
- 串口 TX(TTL 电平 3.3V)
- 串口 RX(TTL 电平 3.3V)
Подключать такой модуль к Arduino или другой плате имеющей уровень логики 5V без конвертера уровней я бы не стал.
Перед началом работы необходимо настроить программу терминал на ПК. (выставить те же параметры, что и в модуле)
1.8.1 串口配置 1. 波特率 9600; 2. 8 位数据位; 3. 无奇偶检验位; 4. 一个停止位; 5. 9600、N、8、1。 1.8.2 指令格式 控制指令格式:AT+[]\r\n 数据反馈格式:[]\r\n
Собираем, и подключаем переходник к ПК.
Открываем монитор порта в среде Arduno IDE, и подаем питание на модуль.
При подаче питания на BK8000L в мониторе порта появляется сообщение "ON".
Для передачи данных с ПК на BK8000L необходимо соответственно соединить выход Tx переходника с входом Rx платы.
Подаем питание - сообщение ON
При установке соединения по Bluetooth приходит сообщение II
Для запуска воспроизведения отправляем команду AT+MA
Модуль отвечает MВ (музыка воспроизводится)
Полный список всех доступных команд для BK8000L можно найти в этом файле. Применяя их, можно значительно расширить функционал устройства который недоступен при управлением модулем только с помощью кнопок.
Разумеется, что отправлять AT команды можно и с помощью другого микроконтроллера. Вот простенький пример для ESP32.
Схема:
Отправка AT команды в среде Arduino IDE состоит всего из одной строки кода: Serial2.println("AT+MA");
Теперь нажимая кнопку подключенную к ESP32 мы можем ставить или снимать с паузы проигрываемый трек.
Прикрутив к ESP32 энкодер, можно сделать более удобный регулятор громкости, ну или управлять своей колонкой из любой точки мира где есть Интернет.
Если вы узнали что-то новое, не забываем ставить лайк. Первая часть статьи доступна по этой ссылке: BK8000L Bluetooth-аудиомодуль не для радиолюбителей
Полный список всех статей на канале доступен по этой ссылке:
Всем удачи!