Управление Blueetooth-модулем HC-05 через AT-команды

Описание

AT-команды - это набор команд, предусмотренных разработчиком, с помощью которых происходит управление устройством. Общение с модулем через AT-команды является самой простым способом связи и проверки работоспособности устройства. При этом с помощью команд можно выполнять над устройством различные действия, такие как смена имени устройства, установка или смена пароля, возврат к заводским настройкам и прочие.

Для того чтобы управлять Bluetooth модулем HC-05 с помощью АТ-команд нам понадобится USB-UART конвертер, например, USB-UART Bridge (CP2102). Далее выполните следующие действия.

Шаг 1. Установите на компьютер программу Termite

Программа Termite является одной из самых простых программ управления COM-портами с компьютера. Эта программа является открытой и бесплатной. Вы можете скачать её из интернета, либо воспользоваться ссылкой ниже:

Распакуйте архив, и запустите установочный файл. Следуйте инструкциям установщика. Программа устанавливается без особенностей.

Шаг 2. Подключите модуль к компьютеру

Сначала подключите Bluetooth модуль к USB-UART конвертеру, как показано на схеме ниже.

Затем USB-UART конвертер подключите к USB входу компьютера. Откройте диспетчер устройств (для Windows 10: Правой кнопкой мыши по значку Windows - Диспетчер устройств):

Посмотрите номер COM-порта, который был присвоен устройству.

В нашем случае это порт COM3. Запомните его, он нам нужен будет на следующем шаге.

Шаг 3. Настройте программу Termite

Запустите программу Termite, и в появившемся окне нажмите кнопку Настройки (Settings).

Если Вам неудобно работать с программой на английском языке, выберите язык интерфейса в настройках:

Перезапустите программу и снова войдите в окно настроек. Далее, выберите порт и установите другие настройки:

  • Порт: установите тот, который был определён у Вас на предыдущем шаге (в нашем случае это СОМ3)
  • Бит в сек: 9600
  • Передаваемый текст: Добавить CR+LF
  • Установите флаг: Локальное эхо

Обратите внимание, что в настройках программы мы указали добавлять в конце каждой команды символы окончания строки и возврата каретки (CR+LF или \r\n). Поэтому, если Вы используете другую программу или напрямую общаетесь с модулем, указывайте данные символы в конце каждой команды! Ниже, в примерах, все команды приведены без этих символов!

Шаг 4. Ввод команд

Ну и теперь можно вводить команды. Все команды вводятся на латинице. Базовая команда для проверки: AT. Устройство должно ответить ОК.

Введите в поле ввода команд слово AT (без пробелов и прочих символов) и нажмите кнопку ввода:

На что модуль Вам должен ответить: ОК

Вот именно таким образом и происходит общение и управление модулем.

Шаг 5. Смена имени

Давайте попробуем уточнить у модуля его текущее имя, и сменить его. Для запроса у данного модуля команды вводятся со знаком вопроса. Для установки значения, командам присваиваются значения этих параметров.

Например, команда для запроса текущего имени:

AT+NAME?

В результате модуль вернёт его текущее имя:

+NAME:HC-05
OK

А команда для установки нового имени должна содержать новое имя сразу после команды:

AT+NAME=MyHC-05

На что модуль ответит:

OK

Если заново проверить имя модуля командой

AT+NAME?

То модуль уже вернёт новое имя:

+NAME:MyHC-05
OK

Список AT-команд

Все команды условно можно разделить на три вида:

  • Команды без параметров - выполняют определённые действия на модуле
  • Команды с параметрами - выполняют определённые действия на модуле, действия могут быть разными, в зависимости от переданных параметров
  • Команды - запросы - запрашивают у модуля данные

A

AT (базовая команда для тестирования модуля)

ADCN (получить количество аутентифицированных устройств в списке сопряжённых)

ADDR (запрос адреса устройства)

B

BIND (запрос или установка связанного устройства)

C

CLASS (запрос или установка типа модуля)

CMODE (запрос или установка режима подключения)

D

DISC (разъединение с указанным устройством)

E

ENSNIFF (ввести удалённое устройство в энергосберегающий режим)

EXSNIFF (вывести удалённое устройство из энергосберегающего режима)

F

FSAD (поиск аутентифицированного устройства в списке сопряжённых устройств)

I

IAC (запрос или установка IAC - кода)

INIT (инициализация эмуляции Serial-порта)

INQ (опрос Bluetooth - устройств (поиск))

INQC (отмена поиска Bluetooth - устройств)

INQM (запрос или установка режима опроса модулей)

IPSCAN (запрос или установка параметров сканирования страниц и запросов)

L

LINK (соединение с указанным устройством)

M

MPIO (запрос или установка уровня индикации светодиодом состояния подключения нескольких контактов (пинов))

MRAD (получить адрес последнего подключенного устройства)

RESET (перезагрузка модуля)

VERSION (запрос версии прошивки модуля)

ORGL (восстановить настройки по умолчанию)

N

NAME (запрос или установка имени)

P

PAIR (сопряжение ведомого устройства)

PIO (запрос или установка уровня индикации светодиодом состояния подключения определённого контакта (пина))

PMSAD (удаление сопряжённого устройства из списка)

POLAR (запрос или установка уровня индикации светодиодом состояния подключения)

PSWD (запрос или установка пароля доступа к модулю)

R

RMAAD (удаление всех сопряжённых устройств из списка)

RNAME (запрос имени удалённого устройства)

ROLE (запрос или установка роли модуля)

S

SENM (запрос или установка параметров безопасности и шифрования)

SNIFF (запрос или установка параметров энергосбережения в режиме прослушивания)

STATE (получить последний статус Bluetooth-модуля)

U

UART (запрос или установка параметров соединения по сериал-порту)