Bluetooth модуль HC-05 подключается по шине UART и способен выполнять AT-команды. AT-команда это строка начинающаяся с букв «AT» (от английского attention - «внимание»). Модуль выполняет поступившую команду и отправляет обратно ответ (результат выполнения команды), который также является строкой. В Bluetooth модулях HC-05 каждая команда (как и ответ) должна заканчиваться символами перевода строки «\r\n».
Подключение:
- Управлять Bluetooth модулем HC-05 можно либо с компьютера, либо через микроконтроллер, например, Arduino. Вывод RX модуля подключается к выводу TX, а вывод TX модуля подключается к выводу RX того устройства с которого он будет управляться.
- Для подключения модуля к компьютеру (без микроконтроллеров) потребуется адаптер USB-UART, или адаптер RS232-UART, или программатор с выводами TX RX, вместо адаптера USB-UART можно использовать плату Arduino, как описано в статье Wiki - используем Arduino как USB - UART преобразователь. Для отправки команд в модуль потребуется установить программу терминал. Одним из таких терминалов является свободно распространяемая программа Termite с поддержкой Русского языка.
- Для подключения модуля к Arduino можно воспользоваться аппаратной или программной шиной UART. При использовании аппаратной шины, модуль подключается к выводам TX и RX указанным на плате. При использовании программной шины, модуль подключается к назначаемым выводам TX и RX Arduino.
Настройка:
Модуль Bluetooth HC-05 сможет принимать команды только если правильно настроены следующие параметры последовательного порта:
- Номер порта: Его можно узнать экспериментально, отключите адаптер или Arduino, посмотрите какие порты доступны. Подключите адаптер или Arduino и вновь посмотрите какие порты доступны. Появившийся порт и есть тот самый.
- Скорость передачи данных: В обычном режиме, Bluetooth модуль HC-05 сохраняет последнюю установленную скорость передачи данных, но по умолчанию она равна 38400 бит/сек (редко 9600 бит/сек). Если обе скорости не подойдут, то смотрите примечание в конце статьи.
- Параметры передачи данных: Модуль сохраняет последние установленные параметры передачи данных. Значения параметров по умолчанию: количество бит в пакете - 8, размер стопового бита = 1, без проверки чётности.
- Передаваемый текст: Нужно установить пункт «добавлять символы CR & LF(NL)» это символы перевода строки «\r\n» которые Вы не сможете ставить самостоятельно в конце AT-команд.
Для настройки этих параметров в программе Termite, нажмите на кнопку «Настройки» (Settings). В том же окне можно установить Русский язык.
При использовании Arduino, номер порта указывается во вкладке «Инструменты». Параметры передачи данных используются по умолчанию. Для добавления символов NL & CR воспользуйтесь меню в правом нижнем углу монитора последовательного порта.
Проверка:
После каждого подключения питания или перезагрузки модуля, до того как отправлять команды, нужно кратковременно нажать на кнопку модуля. Если у модуля нет кнопки, то кратковременно подать высокий уровень на вывод K. После чего модуль останется в обычном режиме, но будет воспринимать AT-команды. Помимо обычного режима, модуль может работать в режиме AT-команд. О том как войти в этот режим и чем он отличается от обычного, рассказано ниже, в разделе примечание.
Для проверки связи с Bluetooth модулем отправьте тестовую команду AT (введите текст AT и нажмите Enter). Если связь установлена корректно, то модуль ответит OK. После этого можно отправлять остальные AT-команды.
AT-команды:
Если в программе терминал указано добавлять символы CR & LF или NL & CR то символы «\r\n» в командах ставить не нужно!
Команды могут быть обычными: AT+КОМАНДА\r\n, запросами: AT+КОМАНДА?\r\n, или установками: AT+КОМАНДА=ПАРАМЕТР(Ы)\r\n.
AT-команда: | Ответ: | Назначение: | |
---|---|---|---|
AT | AT\r\n | OK\r\n | Команда Тест: Используется для проверки связи с модулем. |
RESET | AT+RESET\r\n | OK\r\n | Команда программной перезагрузки модуля: Модуль ведёт себя так, как после кратковременного отключения питания. |
VERSION | AT+VERSION?\r\n | +VERSION:ВЕРСИЯ\r\n OK\r\n |
Запрос версии прошивки модуля: Модуль возвращает версию в виде строки до 32 байт. Пример ответа: +VERSION:hc01.comV2.1\r\nOK\r\n |
AT+ORGL | AT+ORGL\r\n | OK\r\n | Сброс пользовательских настроек: Модуль сбрасывает следующие настройки: CLASS=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, NAME=hc01.com. |
ADDR | AT+ADDR?\r\n | +ADDR:АДРЕС\r\n OK\r\n |
Запрос адреса модуля: Модуль возвращает три части своего адреса NAP:UAP:LAP разделённые двоеточием. Каждая часть состоит из шестнадцатиричных цифр. Пример ответа: +ADDR:1234:56:789ABC\r\nOK\r\n |
NAME | AT+NAME?\r\n | +NAME:ИМЯ\r\n OK\r\n |
Запрос / установка имени модуля: Имя модуля представлено строкой до 32 байт. Пример ответа: +NAME:iArduino\r\nOK\r\n Пример установки: AT+NAME=iArduino\r\n Некоторые модули реагируют на команду AT+NAME?\r\n только при нажатой кнопке модуля или наличии высокого уровня на входе K. |
AT+NAME=ИМЯ\r\n | OK\r\n | ||
RNAME | AT+RNAME? АДРЕС\r\n | +RNAME:ИМЯ\r\n OK\r\n |
Запрос имени найденного Bluetooth устройства: Адрес вводится после пробела, а части адреса (NAP,UAP,LAP) разделены запятой. Модуль возвращает имя найденного Bluetooth устройства находящегося в зоне действия, адрес которого был в запросе. Пример запроса: AT+NAME? 1234,56,789ABC\r\n Пример ответа: +RNAME:iArduino\r\nOK\r\n |
ROLE | AT+ROLE?\r\n | +ROLE:РОЛЬ\r\n OK\r\n |
Запрос / установка роли модуля: Роль модуля представлена цифрой: 0 - ведомый, 1 - ведущий, 2 - ведомый в цикле*. Пример ответа: +ROLE:1\r\n Пример установки: AT+ROLE=0\r\n |
AT+ROLE=РОЛЬ\r\n | OK\r\n | ||
CLASS | AT+CLASS?\r\n | +CLASS:ТИП\r\n OK\r\n |
Запрос / установка типа устройства: Тип устройства представляется 32 битным числом, по которому можно определить назначение модуля: Bluetooth клавиатура, Bluetooth мышь, гарнитура ... Пример установки: AT+CLASS=0\r\n |
AT+CLASS=ТИП\r\n | OK\r\n | ||
IAC | AT+IAC?\r\n | +IAC:КОД\r\nOK\r\n | Запрос / Установка кода общего доступа GIAC: Код представлен 32 битным числом и используется для обнаружения Bluetooth устройств. В роли ведущего, по данному коду модуль будет получать доступ к другим Bluetooth устройствам для их поиска (опроса), а в роли ведомого по данному коду будет предоставляться доступ для опроса модуля другими ведущими. Пример ответа: +IAC:9e8b33\r\nOK\r\n Пример установки: AT+IAC=9e8b33\r\n |
AT+IAC=КОД\r\n | OK\r\n или FAIL\r\n |
||
INQM | AT+INQM?\r\n | +INQM:РЕЖИМ,КОЛ,ВРЕМЯ\r\n OK\r\n |
Запрос / Установка режима опроса модулей: Используемые параметры являются настройками для команды поиска (опроса) других Bluetooth устройств. - Режим поиска представлен цифрой: 0-стандартный, 1-поиск по интенсивности сигнала. - Количество представлено цифрой определяющей предельное количество найденных Bluetooth устройств, после которого требуется прекратить поиск. - Время поиска задаёт таймаут после которого поиск прекращается. Реальное время поиска в секундах равно указанному числу умноженному на 1,28. Пример ответа: +INQM:1,1,48\r\nOK\r\n Пример установки: AT+INQM:1,1,48\r\n |
AT+INQM=РЕЖИМ,КОЛ,ВРЕМЯ\r\n | OK\r\n или FAIL\r\n |
||
PSWD | AT+PSWD?\r\n | +PSWD:КОД\r\n OK\r\n |
Запрос / Установка PIN-кода: Код доступа представлен строкой до 16 байт. Код модуля в роли ведомого устройства является паролем доступа к текущему модулю. Код модуля в роли ведущего устройства является паролем доступа к внешним Bluetooth устройствам. Пример ответа: +PSWD:1234\r\nOK\r\n Пример установки: AT+PSWD=1234arduino\r\n |
AT+PSWD=КОД\r\n | OK\r\n | ||
UART | AT+UART?\r\n | +UART:СКОР,СТОП,ПРОВ\r\n OK\r\n |
Запрос / установка скорости UART: Скорость представлена числом бит/сек Стоп бит представлен цифрой: 0 - один, 1 - два Проверка представлена цифрой: 0 - без проверки, 1 - проверка нечётности, 2 - проверка чётности. Пример ответа: +UART:38400,0,0\r\nOK\r\n Пример установки: AT+UART=38400,0,0\r\n |
AT+UART=СКОР,СТОП,ПРОВ\r\n | OK\r\n | ||
CMODE | AT+CMODE?\r\n | +CMOD:РЕЖИМ\r\n OK\r\n |
Запрос / установка режима подключения: Режим представлен цифрой: 0 - модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND. 1 - модуль в роли ведущего подключается к любому ведомому Bluetooth устройству. 2 - модуль в роли ведомого работает в цикле* Пример ответа: +CMOD:0\r\nOK\r\n Пример установки: AT+CMOD=1\r\n |
AT+CMODE=РЕЖИМ\r\n | OK\r\n | ||
BIND | AT+BIND?\r\n | +BIND:АДРЕС\r\n OK\r\n |
Запрос / установка фиксированного адреса: Если модуль находится в роли ведущего (ROLE=1) и установлен режим подключения к фиксированному адресу (CMODE=0), то он будет подключаться только к тому Bluetooth устройству, адрес которого указан данной командой. Части адреса вводятся: при установке - через запятую, а при ответе - через двоеточие. Пример ответа: +BIND:1234:56:789ABC\r\nOK\r\n Пример установки: AT+BIND=0,0,0\r\n |
AT+BIND=АДРЕС\r\n | OK\r\n | ||
POLAR | AT+POLAR?\r\n | +POLAR:ЛОГ,ЛОГ\r\n OK\r\n |
Запрос / установка активного логического уровня для включения светодиодов: Полярность представлена цифрой 0 или 1 соответствующей активному логическому уровню. Первый параметр указывает логический уровень для включения светодиода подключённого к выводу PIO8 (отображает режим работы), а второй для светодиода подключённого к выводу PIO9 (отображает статус соединения). Пример ответа: +POLAR:1,1\r\nOK\r\n Пример установки: AT+POLAR=1,1\r\n |
AT+POLAR=ЛОГ,ЛОГ\r\n | OK\r\n | ||
PIO | AT+PIO=НОМЕР,УРОВЕНЬ\r\n | OK\r\n | Установка логического уровня PIO: Позволяет установить логический уровень на выводе PIO. Номер вывода представлен числом от 2 до 11, кроме 8 и 9. Уровень представлен цифрой 0 или 1. Пример установки: AT+PIO=11,0\r\n |
MPIO | AT+MPIO?\r\n | +MPIO:ЧИСЛО\r\n OK\r\n |
Запрос / установка логических уровней PIO: Позволяет узнать или установить логические уровни сразу на всех выводах PIO. Уровни представлены шестнадцатиричным числом, каждый бит которого соответствует уровню вывода PIO. Пример ответа: +MPIO:1F0\r\nOK\r\n Пример установки: AT+MPIO:CFC\r\n |
AT+MPIO=ЧИСЛО\r\n | OK\r\n | ||
IPSCAN | AT+IPSCAN?\r\n | +IPSCAN:А,Б,В,Г\r\n OK\r\n |
Запрос / установка параметров IP сканирования: А - интервал сканирования Б - продолжительность сканирования В - интервал страниц Г - количество страниц Пример ответа: +IPSCAN:1024,512,1024,512\r\nOK\r\n Пример установки: AT+IPSCAN:1024,512,1024,512\r\n |
AT+IPSCAN=А,Б,В,Г\r\n | OK\r\n | ||
SNIFF | AT+SNIFF?\r\n | +SNIFF:А,Б,В,Г\r\n OK\r\n |
Запрос / установка параметров энергосберегающего режима: А - максимальное время Б - минимальное время В - период повторов Г - таймаут Пример ответа: +SNIFF:0,0,0,0\r\nOK\r\n Пример установки: AT+SNIFF=0,0,0,0\r\n |
AT+SNIFF=А,Б,В,Г\r\n | OK\r\n | ||
ENSNIFF | AT+ENSNIFF=АДРЕС\r\n | OK\r\n | Переход в энергосберегающий режим: Части адреса вводятся через запятую (NAP,UAP,LAP) Пример команды: AT+ENSNIFF=1234,56,789ABC\r\n |
EXSNIFF | AT+EXSNIFF=АДРЕС\r\n | OK\r\n | Выход из энергосберегающего режима: Части адреса вводятся через запятую (NAP,UAP,LAP) Пример команды: AT+EXSNIFF=1234,56,789ABC\r\n |
SENM | AT+SENM?\r\n | +SENM:СЕКРЕТ,ШИФР\r\n OK\r\n |
Запрос / установка параметров безопасности: Режим секретности представлен цифрой: 0 - выключен 1 - незащищённое соединение 2 - защита на сервисном уровне 3 - защита на уровне соединения 4 - неизвестный режим Режим шифрования представлен цифрой: 0 - без шифрования 1 - шифруется только трафик PTP 2 - шифруется весь трафик Пример ответа: +SENM:0,0\r\nOK\r\n Пример установки: AT+SENM:0,0\r\n |
AT+SENM=СЕКРЕТ,ШИФР\r\n | OK\r\n | ||
PMSAD | AT+PMSAD=АДРЕС\r\n | OK\r\n | Удаление устройства из списка пар: Удаление Bluetooth устройства из списка приведёт к необходимости заново образовывать пару для подключения к нему. Части адреса удаляемого устройства вводится через запятую (NAP,UAP,LAP) Пример команды: AT+PMSAD=1234,56,789ABC\r\n |
RMAAD | AT+RMAAD\r\n | OK\r\n | Удаление всех устройств из списка пар: Очистка данного списка приведёт к необходимости заново образовывать пары с Bluetooth устройствами для подключения к ним. |
FSAD | AT+FSAD=АДРЕС\r\n | OK\r\n или FAIL\r\n |
Поиск устройства в списке пар: Если Bluetooth устройство с указанным адресом имеется в списке, то модуль вернёт OK\r\n иначе FAIL\r\n. Части адреса вводятся через запятую (NAP,UAP,LAP) Пример запроса: AT+FSAD=1234,56,789ABC\r\n |
ADCN | AT+ADCN?\r\n | +ADCN:КОЛИЧЕСТВО\r\n OK\r\n |
Запрос количества устройств в списке пар: При образовании пары ведущий-ведомый, данные о паре автоматически попадают в список пар и для последующих подключений (даже после отключения питания) не требуется повторно устанавливать пару. Пример ответа: +ADCN:10\r\nOK\r\n |
MRAD | AT+MRAD?\r\n | +MRAD:АДРЕС\r\n OK\r\n |
Запрос адреса устройства из списка пар: Модуль вернёт адрес Bluetooth устройства из списка пар с которым выполнялось последнее успешное соединение. Части адреса выводятся через двоеточие (NAP:UAP:LAP) Пример ответа: +MRAD:1234:56:789ABC\r\nOK\r\n |
STATE | AT+STATE?\r\n | +STATE:СТАТУС\r\n OK\r\n |
Запрос статуса модуля: Модуль вернёт свое текущее состояние в виде строки: INITIALIZED - инициализация READY - готов PAIRABLE - образование пары PAIRED - пара образована INQUIRING - запрос CONNECTING - подключение CONNECTED - подключён DISCONNECTED - отсоединён NUKNOW - неизвестное состояние Пример ответа: +STATE:CONNECTED\r\nOK\r\n |
INIT | AT+INIT\r\n | OK\r\n или FAIL\r\n |
Инициализация профиля SPP: Профиль SPP эмулирует последовательный порт. |
INQ | AT+INQ\r\n | +INQ:АДРЕС,ТИП,СИГНАЛ\r\n +INQ:АДРЕС,ТИП,СИГНАЛ\r\n ... +INQ:АДРЕС,ТИП,СИГНАЛ\r\n |
Поиск (опрос) Bluetooth устройств: Команда доступна модулю в роли ведущего. Модуль ищет Bluetooth устройства в радиусе действия и выводит каждый найденный модуль на новой строке. Режим поиска (опроса) устанавливается командой AT+INQM, код опроса устанавливается командой AT+IAC, тип искомых устройств указывается командой AT+CLASS. Поиск завершается по достижении предельного количества найденных Bluetooth устройств, или по достижении таймаута, или командой AT+INQC. Пример ответа: +INQ:1234:56:789ABС,240404,7FFF |
INQC | AT+INQC\r\n | OK\r\n | Завершить поиск (опрос) Bluetooth устройств: Досрочно завершает поиск Bluetooth устройств инициированный командой AT+INQ |
PAIR | AT+PAIR=АДРЕС,ТАЙМАУТ\r\n | OK\r\n или FAIL\r\n |
Создать пару с Bluetooth устройством: Создание пары или сопряжение Bluetooth устройств инициируется ведущим устройством. Таймаут указывается десятичным числом в секундах. Если пара создана, то информация о ней автоматически запишется в список пар, модуль ответит OK\r\n после чего можно подключить Bluetooth устройство командой AT+LINK. Если пара не создана (например не подошёл PIN-код или истек таймаут), то модуль ответит FAIL\r\n. Пример команды: AT+PAIR=1234,56,789ABC,10\r\n |
LINK | AT+LINK=АДРЕС\r\n | OK\r\n или FAIL\r\n |
Подключиться к Bluetooth устройству: После выполнения данной команды можно общаться с подключённым Bluetooth устройством. Команда доступна модулю в роли ведущего. Пример команды: AT+LINK=1234,56,789ABC\r\n |
DISC | AT+DISC\r\n | +DISC:РЕЗУЛЬТАТ\r\n OK\r\n |
Отключиться от Bluetooth устройства: Команда указывает модулю отключиться от Bluetooth устройства с которым установлено соединение. После отключения от Bluetooth устройства информация о нём сохраняется в списке пар. Если потребуется вновь подключиться к этому устройству, то создание пары будет необязательно (если Bluetooth устройство намеренно не удалить из списка пар). После выполнения команды модуль ответит результатом её выполнения: SUCCESS - успех LINK_LOSS - соединение потеряно NO_SLC - отсутствует SLC TIMEOUT - истекло время ожидания ERROR - ошибка Пример ответа: +DISC:SUCCESS\r\nOK\r\n |
* Ведомый в цикле - это ведомая роль модуля в которой он отправляет обратно всё что получает от ведущего.
** На некоторые команды модуль реагирует только при нажатой кнопке модуля или наличии высокого уровня на выводе K.
Описание ошибок выдаваемых модулем:
Если отправить команду, которую модуль не знает, не может выполнить, или у команды неправильные аргументы, то модуль вернёт строку «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 (Inquire Access Code) |
D | Слишком длинный общий код доступа IAC (Inquire Access Code) |
E | Недопустимый общий код доступа IAC (Inquire Access Code) |
F | Не указан пароль (или пароль пуст) |
10 | Слишком длинный пароль (более 16 байт) |
11 | Недопустимая роль модуля |
12 | Недопустимая скорость передачи данных |
13 | Недопустимый размер стоп-бита |
14 | Недопустимая настройка бита четности |
15 | Устройство отсутствует в списке пар (списке сопряжённых Bluetooth устройств) |
16 | Профиль последовательного порта (SPP, Serial Port Profile) не инициализирован |
17 | Повторная инициализация профиля SPP (SPP, Serial Port Profile) |
18 | Недопустимый режим опроса Bluetooth устройств |
19 | Слишком большое время опроса |
1A | Не указан адрес Bluetooth устройства |
1B | Недопустимый режим безопасности (секретности) |
1C | Недопустимый режим шифрования |
Примечание:
Если нажать на кнопку или подать высокий уровень на вход K непосредственно в момент включения модуля (подачи питания), то модуль перейдёт в режим AT-команд. В этом режиме модуль не соединится с другими модулями, но у этого режима фиксированная скорость = 38400 бит/сек. Если при настройке, в обычном режиме работы модуля, Вы не смогли определить скорость модуля, то можно войти в данный режим и установить новую скорость. Вновь установленная скорость вступит в силу только в обычном режиме, для этого потребуется перезагрузить модуль не удерживая кнопку и не подавая высокий уровень на вход K в момент включения. Помните, что в обычном режиме, не раньше чем через пол секунды после подачи питания (или перезагрузки) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать AT-команды.
Если Вы хотите иметь возможность «нажимать» на кнопку программно, но у Вашего модуля нет вывода K, воспользуйтесь командой AT+PIO=11,УРОВЕНЬ\r\n, где уровень представляется цифрой 1 или 0 соответствующий устанавливаемому логическому уровню. (AT+PIO=11,0\r\n - кнопка отпущена, AT+PIO=11,1\r\n - кнопка нажата).
У некоторых модулей есть вывод En который управляет питанием и подтянут к Vcc. Если на вывод En подать низкий логический уровень, то отключится питание чипов. Данный вывод можно использовать для программного входа в режим AT-команд. Если сразу после снятия низкого уровня с вывода En подать команду AT+PIO=11,1\r\n это будет эквивалентно включению модуля с нажатой кнопкой.
Создание ведомого ожидающего подключения ведущего:
- AT+DISC\r\n - Разорвать соединение (на случай если модуль соединён).
- AT+ORGL\r\n - Сбросить пользовательские настройки в значения по умолчанию.
- AT+RMAAD\r\n - Очистить список пар (авторизованных устройств) чтоб к модулю не подключился тот кого отсоединили.
- AT+NAME=iArduino\r\n - Установить имя модуля (не более 32 символов).
- AT+PSWD=1234\r\n - Установить PIN-код для подключения к модулю (не более 16 символов).
- AT+ROLE=0\r\n - Установить модулю роль ведомого (если она не установилась при сбросе пользовательских настроек).
- AT+RESET\r\n - Перезагрузить модуль.
Не раньше чем через пол секунды после перезагрузки (командой AT+RESET\r\n) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
Если модуль с ведущей ролью подключается к ведомым модулям по их адресу, а не через их имя, то адрес данного (ведомого) модуля можно узнать выполнив команду AT+ADDR?\r\n.
Создание ведущего с подключением к ведомому:
- AT+DISC\r\n - Разорвать соединение (на случай если модуль соединён).
- AT+ORGL\r\n - Сбросить пользовательские настройки в значения по умолчанию.
- AT+RMAAD\r\n - Очистить список пар (авторизованных устройств) чтоб модуль не пытался подключился к тому от кого отсоединили.
- AT+BIND=АДРЕС\r\n - Установить фиксированный адрес для подключения (указываем адрес ведомого Bluetooth устройства)
- AT+CMODE=0\r\n - Указываем модулю подключаться только к фиксированному адресу
- AT+ROLE=1\r\n - Установить модулю роль ведущего устройства
- AT+PSWD=1234\r\n - Запомнить PIN-код ведомого Bluetooth устройства
- AT+PAIR=АДРЕС,10\r\n - Образовать пару с ведомым Bluetooth устройством, указав его адрес и таймаут 10 сек
- AT+RESET\r\n - Перезагрузить модуль.
- AT\r\n - Выполнить команду Тест (для проверки наличия связи с модулем)
- AT+LINK=АДРЕС\r\n - Подключиться к ведомому Bluetooth устройству, указав его адрес
- AT+STATE?\r\n - Получить текущее состояние модуля (на практике эта команда может ускорить процесс подключения)
Не раньше чем через пол секунды после перезагрузки (командой AT+RESET\r\n) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
Обсуждение