AT-команды для настройки bluetooth-модулей HC-05, HC-06.

.AT-команды для настройки bluetooth-модулей HC-05, HC-06.

При разработке проектов с беспроводным управлением часто падает выбор на bluetooth-модули HC-05, HC-06. В связи с небольшой стоимостью и простотой использования. Но перед тем как создать проект нужно настроить bluetooth-модуль. Настройка модулей осуществляется с помощью AT-команд.

Схема подключения bluetooth-модулей HC-05, HC-06 к Arduino для настройки.

Схема подключения bluetooth-модулей HC-05, HC-06 к Arduino для настройки.

Какие параметры bluetooth-модулей HC-05, HC-06 можно настроить с помощью AT-команд?

В зависимости от версии bluetooth-модуля и прошивки настроить можно разное количество параметров. Также AT-команд могут быть разные, у разных версий модулей и прошивок. Но основной набор команд неизменный для любой версии. Возможно, разделительный знак будет отличаться, но методом «научного подбора» можно определить, если даже нет описания для вашего модуля.

Основные AT-команды bluetooth-модулей HC-05, HC-06

Основные AT-команды bluetooth-модулей HC-05, HC-06:

  • AT - Используется для проверки связи с модулем.
  • AT+VERSION - Запрос версии прошивки
  • AT+NAME - Запрос / установка имени модуля
  • AT+PSWD или AT+PIN - Запрос / Установка PIN-кода
  • AT+UART - Запрос / установка скорости UART
  • AT+CMODE - Запрос / установка режима подключения
  • AT+BIND - Запрос / установка фиксированного адреса
  • AT+ADDR - Запрос адреса модуля
  • AT+ROLE - Запрос / установка роли модуля

Это основные AT-команды. Остальные команды используются редко. Более подробный список вы можете посмотреть в таблице ниже.

AT-команды: Ответ Bluetooth модуля: Назначение AT-команд:
AT OK Команда Тест:
Используется для проверки связи с модулем.
AT+RESET OK Команда программной перезагрузки модуля:
Модуль ведёт себя так, как после кратковременного отключения питания.
AT+VERSION? +VERSION:ВЕРСИЯ
OK
Запрос версии прошивки модуля:
Модуль возвращает версию в виде строки до 32 байт.
Пример ответа: +VERSION:hc01.comV2.1OK
AT+ORGL OK Сброс пользовательских настроек:
Модуль сбрасывает следующие настройки:
CLASS=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, NAME=hc01.com.
AT+ADDR? +ADDR:АДРЕС
OK
Запрос адреса модуля:
Модуль возвращает три части своего адреса NAP:UAP:LAP разделённые двоеточием.
Каждая часть состоит из шестнадцатиричных цифр.
Пример ответа: +ADDR:1234:56:789ABCOK
Если количество символов в адесе не четное, то такой адрес не получется добавить мастеру в параметр AT+BIND
AT+NAME? +NAME:ИМЯ
OK
Запрос / установка имени модуля:
Имя модуля представлено строкой до 32 байт.
Пример ответа: +NAME:iArduinoOK
Пример установки: AT+NAME=iArduino
Некоторые модули реагируют на команду AT+NAME? только при нажатой кнопке модуля или наличии высокого уровня на входе K.
AT+NAME=ИМЯ OK
AT+RNAME? АДРЕС +RNAME:ИМЯ
OK
Запрос имени найденного Bluetooth устройства:
Адрес вводится после пробела, а части адреса (NAP,UAP,LAP) разделены запятой. Модуль возвращает имя найденного Bluetooth устройства находящегося в зоне действия, адрес которого был в запросе.
Пример запроса: AT+NAME? 1234,56,789ABC
Пример ответа: +RNAME:iArduinoOK
AT+ROLE? +ROLE:РОЛЬ
OK
Запрос / установка роли модуля:
Роль модуля представлена цифрой:
0 - ведомый, 1 - ведущий, 2 - ведомый в цикле*.
Пример ответа: +ROLE:1
Пример установки: AT+ROLE=0
AT+ROLE=РОЛЬ OK
AT+CLASS? +CLASS:ТИП
OK
Запрос / установка типа устройства:
Тип устройства представляется 32 битным числом, по которому можно определить назначение модуля: Bluetooth клавиатура, Bluetooth мышь, гарнитура ...
Пример установки: AT+CLASS=0
AT+CLASS=ТИП OK
AT+IAC? +IAC:КОДOK Запрос / Установка кода общего доступа GIAC:
Код представлен 32 битным числом и используется для обнаружения Bluetooth устройств.
В роли ведущего, по данному коду модуль будет получать доступ к другим Bluetooth устройствам для их поиска (опроса), а в роли ведомого по данному коду будет предоставляться доступ для опроса модуля другими ведущими.
Пример ответа: +IAC:9e8b33OK
Пример установки: AT+IAC=9e8b33
AT+IAC=КОД OK
или
FAIL
AT+INQM? +INQM:РЕЖИМ,КОЛ,ВРЕМЯ
OK
Запрос / Установка режима опроса модулей:
Используемые параметры являются настройками для команды поиска (опроса) других Bluetooth устройств.
- Режим поиска представлен цифрой:
0-стандартный, 1-поиск по интенсивности сигнала.
- Количество представлено цифрой определяющей предельное количество найденных Bluetooth устройств, после которого требуется прекратить поиск.
- Время поиска задаёт таймаут после которого поиск прекращается. Реальное время поиска в секундах равно указанному числу умноженному на 1,28.
Пример ответа: +INQM:1,1,48OK
Пример установки: AT+INQM:1,1,48
AT+INQM=РЕЖИМ,КОЛ,ВРЕМЯ OK
или
FAIL
AT+PSWD? +PSWD:КОД
OK
Запрос / Установка PIN-кода:
Код доступа представлен строкой до 16 байт.
Код модуля в роли ведомого устройства является паролем доступа к текущему модулю.
Код модуля в роли ведущего устройства является паролем доступа к внешним Bluetooth устройствам.
Пример ответа: +PSWD:1234OK
Пример установки: AT+PSWD=1234arduino
AT+PSWD=КОД OK
AT+UART? +UART:СКОР,СТОП,ПРОВ
OK
Запрос / установка скорости UART:
Скорость представлена числом бит/сек
Стоп бит представлен цифрой: 0 - один, 1 - два
Проверка представлена цифрой: 0 - без проверки,
1 - проверка нечётности, 2 - проверка чётности.
Пример ответа: +UART:38400,0,0OK
Пример установки: AT+UART=38400,0,0
AT+UART=СКОР,СТОП,ПРОВ OK
AT+CMODE? +CMOD:РЕЖИМ
OK
Запрос / установка режима подключения:
Режим представлен цифрой:
0 - модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND.
1 - модуль в роли ведущего подключается к любому ведомому Bluetooth устройству.
2 - модуль в роли ведомого работает в цикле*
Пример ответа: +CMOD:0OK
Пример установки: AT+CMOD=1
AT+CMODE=РЕЖИМ OK
AT+BIND? +BIND:АДРЕС
OK
Запрос / установка фиксированного адреса:
Если модуль находится в роли ведущего (ROLE=1) и установлен режим подключения к фиксированному адресу (CMODE=0), то он будет подключаться только к тому Bluetooth устройству, адрес которого указан данной командой.
Части адреса вводятся: при установке - через запятую, а при ответе - через двоеточие.
Пример ответа: +BIND:1234:56:789ABCOK
Пример установки: AT+BIND=0,0,0
AT+BIND=АДРЕС OK
AT+POLAR? +POLAR:ЛОГ,ЛОГ
OK
Запрос / установка активного логического уровня для включения светодиодов:
Полярность представлена цифрой 0 или 1 соответствующей активному логическому уровню.
Первый параметр указывает логический уровень для включения светодиода подключённого к выводу PIO8 (отображает режим работы), а второй для светодиода подключённого к выводу PIO9 (отображает статус соединения).
Пример ответа: +POLAR:1,1OK
Пример установки: AT+POLAR=1,1
AT+POLAR=ЛОГ,ЛОГ OK
AT+PIO=НОМЕР,УРОВЕНЬ OK Установка логического уровня PIO:
Позволяет установить логический уровень на выводе PIO. Номер вывода представлен числом от 2 до 11, кроме 8 и 9. Уровень представлен цифрой 0 или 1.
Пример установки: AT+PIO=11,0
AT+MPIO? +MPIO:ЧИСЛО
OK
Запрос / установка логических уровней PIO:
Позволяет узнать или установить логические уровни сразу на всех выводах PIO.
Уровни представлены шестнадцатиричным числом, каждый бит которого соответствует уровню вывода PIO.
Пример ответа: +MPIO:1F0OK
Пример установки: AT+MPIO:CFC
AT+MPIO=ЧИСЛО OK
AT+IPSCAN? +IPSCAN:A,B,C,D
OK
Запрос / установка параметров IP сканирования:
A - интервал сканирования
B - продолжительность сканирования
C - интервал страниц
D - количество страниц
Пример ответа: +IPSCAN:1024,512,1024,512OK
Пример установки: AT+IPSCAN:1024,512,1024,512
AT+IPSCAN=A,B,C,D OK
AT+SNIFF? +SNIFF:A,B,C,D
OK
Запрос / установка параметров энергосберегающего режима:
A - максимальное время
B - минимальное время
C - период повторов
D - таймаут
Пример ответа: +SNIFF:0,0,0,0OK
Пример установки: AT+SNIFF=0,0,0,0
AT+SNIFF=A,B,C,D OK
AT+ENSNIFF=АДРЕС OK Переход в энергосберегающий режим:
Части адреса вводятся через запятую (NAP,UAP,LAP)
Пример команды: AT+ENSNIFF=1234,56,789ABC
AT+EXSNIFF=АДРЕС OK Выход из энергосберегающего режима:
Части адреса вводятся через запятую (NAP,UAP,LAP)
Пример команды: AT+EXSNIFF=1234,56,789ABC
AT+SENM? +SENM:СЕКРЕТ,ШИФР
OK
Запрос / установка параметров безопасности:
Режим секретности представлен цифрой:
0 - выключен
1 - незащищённое соединение
2 - защита на сервисном уровне
3 - защита на уровне соединения
4 - неизвестный режим
Режим шифрования представлен цифрой:
0 - без шифрования
1 - шифруется только трафик PTP
2 - шифруется весь трафик
Пример ответа: +SENM:0,0OK
Пример установки: AT+SENM:0,0
AT+SENM=СЕКРЕТ,ШИФР OK
AT+PMSAD=АДРЕС OK Удаление устройства из списка пар:
Удаление Bluetooth устройства из списка приведёт к необходимости заново образовывать пару для подключения к нему.
Части адреса удаляемого устройства вводится через запятую (NAP,UAP,LAP)
Пример команды: AT+PMSAD=1234,56,789ABC
AT+RMAAD OK Удаление всех устройств из списка пар:
Очистка данного списка приведёт к необходимости заново образовывать пары с Bluetooth устройствами для подключения к ним.
AT+FSAD=АДРЕС OK
или
FAIL
Поиск устройства в списке пар:
Если Bluetooth устройство с указанным адресом имеется в списке, то модуль вернёт OK иначе FAIL.
Части адреса вводятся через запятую (NAP,UAP,LAP)
Пример запроса: AT+FSAD=1234,56,789ABC
AT+ADCN? +ADCN:КОЛИЧЕСТВО
OK
Запрос количества устройств в списке пар:
При образовании пары ведущий-ведомый, данные о паре автоматически попадают в список пар и для последующих подключений (даже после отключения питания) не требуется повторно устанавливать пару.
Пример ответа: +ADCN:10OK
AT+MRAD? +MRAD:АДРЕС
OK
Запрос адреса устройства из списка пар:
Модуль вернёт адрес Bluetooth устройства из списка пар с которым выполнялось последнее успешное соединение.
Части адреса выводятся через двоеточие (NAP:UAP:LAP)
Пример ответа: +MRAD:1234:56:789ABCOK
AT+STATE? +STATE:СТАТУС
OK
Запрос статуса модуля:
Модуль вернёт свое текущее состояние в виде строки:
INITIALIZED - инициализация
READY - готов
PAIRABLE - образование пары
PAIRED - пара образована
INQUIRING - запрос
CONNECTING - подключение
CONNECTED - подключён
DISCONNECTED - отсоединён
NUKNOW - неизвестное состояние
Пример ответа: +STATE:CONNECTEDOK
AT+INIT OK
или
FAIL
Инициализация профиля SPP:
Профиль SPP эмулирует последовательный порт.
AT+INQ +INQ:АДРЕС,ТИП,СИГНАЛ
+INQ:АДРЕС,ТИП,СИГНАЛ
...
+INQ:АДРЕС,ТИП,СИГНАЛ
Поиск (опрос) Bluetooth устройств:
Команда доступна модулю в роли ведущего.
Модуль ищет Bluetooth устройства в радиусе действия и выводит каждый найденный модуль на новой строке. Режим поиска (опроса) устанавливается командой AT+INQM, код опроса устанавливается командой AT+IAC, тип искомых устройств указывается командой AT+CLASS. Поиск завершается по достижении предельного количества найденных Bluetooth устройств, или по достижении таймаута, или командой AT+INQC.
Пример ответа: +INQ:1234:56:789ABС,240404,7FFF
AT+INQC OK Завершить поиск (опрос) Bluetooth устройств:
Досрочно завершает поиск Bluetooth устройств инициированный командой AT+INQ
AT+PAIR=АДРЕС,ТАЙМАУТ OK
или
FAIL
Создать пару с Bluetooth устройством:
Создание пары или сопряжение Bluetooth устройств инициируется ведущим устройством.
Таймаут указывается десятичным числом в секундах.
Если пара создана, то информация о ней автоматически запишется в список пар, модуль ответит OK после чего можно подключить Bluetooth устройство командой AT+LINK. Если пара не создана (например не подошёл PIN-код или истек таймаут), то модуль ответит FAIL.
Пример команды: AT+PAIR=1234,56,789ABC,10
AT+LINK=АДРЕС OK
или
FAIL
Подключиться к Bluetooth устройству:
После выполнения данной команды можно общаться с подключённым Bluetooth устройством.
Команда доступна модулю в роли ведущего.
Пример команды: AT+LINK=1234,56,789ABC
AT+DISC +DISC:РЕЗУЛЬТАТ
OK
Отключиться от Bluetooth устройства:
Команда указывает модулю отключиться от Bluetooth устройства с которым установлено соединение. После отключения от Bluetooth устройства информация о нём сохраняется в списке пар. Если потребуется вновь подключиться к этому устройству, то создание пары будет необязательно (если Bluetooth устройство намеренно не удалить из списка пар).
После выполнения команды модуль ответит результатом её выполнения:
SUCCESS - успех
LINK_LOSS - соединение потеряно
NO_SLC - отсутствует SLC
TIMEOUT - истекло время ожидания
ERROR - ошибка
Пример ответа: +DISC:SUCCESSOK

Список ошибок которые может вернуть Bluetooth модуль HC-05, HC-06.

ERROR:(№) Описание ошибки Максимальный размер параметра
0 Такая AT команда не существует
-
1 Результат по умолчанию -
2 Ошибка сохранения пароля -
3 Слишком длинное имя устройства 32 байта
4 Имя устройства не указано -
5 Часть адреса NAP слишком длинная 4 разряда в шестнадцатиричной системе
6 Часть адреса UAP слишком длинная 2 разряда в шестнадцатиричной системе
7 Часть адреса LAP слишком длинная 6 разрядов в шестнадцатиричной системе
8 Не указана маска порта PIO -
9 Не указан номер вывода PIO -
A Не указан класс устройства
-
B Слишком длинный класс устройства -
C Не указан общий код доступа IAC -
D Слишком длинный общий код доступа IAC -
E Недопустимый общий код доступа IAC -
F Не указан пароль -
10 Слишком длинный пароль
16 байт
11 Недопустимая роль модуля -
12 Недопустимая скорость передачи данных -
13 Недопустимый размер стоп-бита -
14 Недопустимая настройка бита четности -
15 Устройство отсутствует в списке пар -
16 Профиль последовательного порта не инициализирован -
17 Повторная инициализация профиля SPP -
18 Недопустимый режим опроса Bluetooth устройств -
19 Слишком большое время опроса -
1A Не указан адрес Bluetooth устройства -
1B Недопустимый режим безопасности -
1C Недопустимый режим шифрования -

Сравнение модулей HC-05 и HC-06

Модули HC-05 и HC-06 являются наиболее используемыми. Оба модуля основаны на одинаковом чипе, но есть и важные отличия. Модуль HC-05 может работать в двух режимах работы – и в качестве ведущего (master), и в качестве ведомого (slave).

Сравнение модулей HC-05 и HC-06

Модуль HC-05 стоит несколько дороже, но он имеет большее количество полезных рабочих функций. Скорость передачи АТ команд по умолчанию для HC-05 равна 38400, для HC-06 – 9600. Важным моментом является то, что в конце АТ команд для HC-05 должны быть символы CRLF.

Подключение обоих модулей к плате Arduino одинаково.

Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.

Спасибо за внимание!

Понравилась статья? Поделитесь ею с друзьями:

Вернуться в раздел: Обзоры Arduino и электроники Дата публикации 10 августа , 2021

Комментарии

Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.


Cлучайные товары

Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Telegram

Portal-PK (Портал ПК) © 2015 - 2024
Разработка проектов
AT Block
DWIN Box