Найти тему
Электроника, ESP32, Arduino

Что означают надписи Tx Rx и как управлять устройствами с помощью AT команд

Если вы чего-то купили и на этом чего-то есть 2 ножки которые подписаны Tx и Rx значит с этим чего-то возможен обмен данными через интерфейс UART. Если в документации указано, что устройством можно управлять и/или конфигурировать с помощью АТ команд - задача взаимодействия с любым модулем становится еще более простой. Разберем это на примере управления BK8000L Bluetooth-аудиомодулем из предыдущей статьи.

BK8000L Bluetooth-аудиомодуль с интерфейсом UART
BK8000L Bluetooth-аудиомодуль с интерфейсом UART

Набор АТ команд состоит из серий коротких текстовых строк. Сами строки можно отправлять например с компьютера используя USB - UART преобразователь (в качестве него можно использовать и плату Arduino), или с любого другого микроконтроллера имеющего данный интерфейс.

При подаче питания на модуль BK8000L - он должен вернуть текстовую строку ON, и начнем мы с её получения. Чтобы не путаться при сборке схем необходимо выучить 2 английских слова:

  • Tx - Transmitter - передатчик
  • Rx - Receiver - приемник

Раз мы ожидаем информацию от модуля, схема подключения становится очевидной: Tx (на модуле) -> Rx(на переходнике).

Tx (на модуле) -> Rx(на переходнике)
Tx (на модуле) -> Rx(на переходнике)

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

ВАЖНО: Перед тем как стыковать устройства между собой необходимо выяснить допустимые уровни логических сигналов.

РашенШит (USB - UART конвертер выпущен в России) говорит о том, что уровень логических сигналов на переходнике 3.3V, но устройство можно использовать с платами имеющими "пятивольтовую логику".

-3

ЧайнаШит на 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, и подаем питание на модуль.

Монитор порта в среде Arduino IDE настроенный в соответствии с Китайской документацией
Монитор порта в среде Arduino IDE настроенный в соответствии с Китайской документацией

При подаче питания на BK8000L в мониторе порта появляется сообщение "ON".

Для передачи данных с ПК на BK8000L необходимо соответственно соединить выход Tx переходника с входом Rx платы.

Двухсторонняя связь.
Двухсторонняя связь.

Подаем питание - сообщение ON
При установке соединения по Bluetooth приходит сообщение II

Сообщения о состоянии модуля
Сообщения о состоянии модуля

Для запуска воспроизведения отправляем команду AT+MA

Запуск воспроизведения
Запуск воспроизведения

Модуль отвечает MВ (музыка воспроизводится)

Ответ модуля на запрос
Ответ модуля на запрос

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

Разумеется, что отправлять AT команды можно и с помощью другого микроконтроллера. Вот простенький пример для ESP32.

Схема:

Управление BK8000L с помощью ESP32
Управление BK8000L с помощью ESP32

Отправка AT команды в среде Arduino IDE состоит всего из одной строки кода: Serial2.println("AT+MA");

Пример управления платой BK8000L с помощью другого микроконтроллера.
Пример управления платой BK8000L с помощью другого микроконтроллера.

Теперь нажимая кнопку подключенную к ESP32 мы можем ставить или снимать с паузы проигрываемый трек.

Прототип на макетной плате.
Прототип на макетной плате.

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

Если вы узнали что-то новое, не забываем ставить лайк. Первая часть статьи доступна по этой ссылке: BK8000L Bluetooth-аудиомодуль не для радиолюбителей

Полный список всех статей на канале доступен по этой ссылке:

Всем удачи!