Подключаем и настраиваем блютуз модуль HC-05.

В данной статье мы рассмотрим  работу блютуз модуля HC-05:

HC-05

Данный модуль имеет стабилизатор напряжения, который позволяет запитывать его от 5 вольт.

Блютуз модуль HC-05 может работать в качестве ведомого (master) или ведущего (slave). Данные режимы задаются с помощью АТ-команд. Кнопка на плате модуля переключает его в режим ввода АТ-команд.  Для перехода в режим ввода АТ-команд необходимо зажать кнопку и подать питание. 

Назначение выводов:

STATE — проверка состояние модуля. На этом контакте повторяется сигнал  встроенного на плате светодиод. Когда он очень быстро мигает — модуль находится в активном состоянии. Когда модуль устанавливает связь с другим устройством — светодиод светится. 
RX — получение данных.
TX — передача данных.
GND — подключается к земле.
+5V — питание +5 Вольт
EN — включение / выключение модуля. Если на этот контакт подать логическую 1 модуль выключится, если подать логический 0. По умолчанию на данном выходе логический 0.

По умолчанию модуль  HC-05 имеет имя  HC-05  и  пин-код 1234 .

Для настройки данного модуля мы подключим данный его через USB переходник:

Контакты соединяем следующим образом:

HC-05Переходник USB
+5V+5V
GNDGND
RXTX
TXRX

При подключении компьютеру, светодиод на плате Bluetooth-модуля начнёт быстро мигать.

Для ввода АТ-команд я буду использовать программу CoolTerm, которая свободно есть в интернете. 

В настройках программы выбираем номер виртуального COM-порта, к которому подключаем USB адаптер.  По умолчанию скорость работы с АТ командами 38400бод.

После подключения модуля вводим команду «AT », если устройство подключилось, мы должны увидеть в качестве ответа «ОК ».

Для проверки версии прошивки, команда «AT+VERSION », в моём случае вернулся ответ:

Команда «AT+NAMEyyy », где ууу — произвольный набор символов, можно сменить имя, по которому будут находить наш модуль bluetooth-устройства . 

Командой «AT+PINxxxx », где xxxx – произвольный набор цифр, можно сменить пин-код . В ответ получим «OKsetPIN ».

Командой «AT+BAUDx », где – значение от 1 до 9, можно изменить скорость в бодах.

1 — 1200
2 — 2400
3 — 4800
4 — 9600
5 — 19200
6 — 38400
7 — 57600
8 — 115200
9 — 230400

Так если ведём команду «AT+BAUD8 », где 8 — скорость 115200 бод, в ответ возвратится «OK115200 ».

Ответ модуля на мои команды:

Если, мы что то натворим, можно ввести команду AT+ORGL , которая сбросит все настройки по умолчанию. После необходимо перезагрузить модуль.

Список основных АТ команд (если в терминале указано добавлять символы CR & LF или NL & CR то символы «\r\n» в командах ставить не нужно):

 AT\r\n (Используется для проверки связи с модулем)  — ответ OK\r\n 
AT+RESET\r\n (Команда программной перезагрузки модуля)  — ответ OK\r\n :
AT+VERSION?\r\n(Запрос версии прошивки модуля) — ответ VERSION:ВЕРСИЯ\r\n OK\r\n

AT+ORGL AT (Сброс пользовательских настроек) — ответ ORGL\r\n OK\r\n 

AT+ADDR?\r\n (Запрос адреса модуля) — ответ ADDR:АДРЕС\r\n OK\r\n

AT+NAME?\r\n (Запрос / установка имени модуля) -ответ NAME:ИМЯ\r\n OK\r\n

 AT+RNAME? АДРЕС\r\n (Запрос имени найденного Bluetooth устройства) — ответ RNAME:ИМЯ\r\n OK\r\n

ROLE AT+ROLE?\r\n (Запрос / установка роли модуля) — ответ ROLE:РОЛЬ\r\n  (0 — ведомый, 1 — ведущий, 2 — ведомый в цикле)

CLASS AT+CLASS?\r\n(Запрос / установка типа устройства) — ответCLASS:ТИП\r\n OK\r\n

INQM AT+INQM?\r\n (Запрос / Установка режима опроса модулей) — ответ INQM:РЕЖИМ,КОЛ,ВРЕМЯ\r\n  OK\r\n (0-стандартный, 1-поиск по интенсивности сигнала)

PSWD AT+PSWD?\r\n (Запрос / Установка PIN-кода) — ответ PSWD:КОД\r\n OK\r\n 

UART AT+UART?\r\n +UART(Запрос / установка скорости UART) — ответ параметры USART\r\n OK\r\n

CMODE AT+CMODE?\r\n +CMOD (Запрос / установка режима подключения) — ответ режим работы\r\n OK\r\n 
Режим представлен цифрой:
0 — модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND.
1 — модуль в роли ведущего подключается к любому ведомому Bluetooth устройству.
2 — модуль в роли ведомого работает в цикле.

BIND AT+BIND?\r\n +BIND (Запрос / установка фиксированного адреса)  — ответ Адрес\r\n OK\r\n 
IPSCAN AT+IPSCAN?\r\n +IPSCAN(Запрос / установка параметров IP сканирования)  — ответ А,Б,В,Г\r\n OK\r\n
Где:
А — интервал сканирования
Б — продолжительность сканирования
В — интервал страниц
Г — количество страниц

SNIFF AT+SNIFF?\r\n +SNIFF(Запрос / установка параметров энергосберегающего режима) — ответ А,Б,В,Г\r\n  OK\r\n
Где:
А — максимальное время
Б — минимальное время
В — период повторов
Г — таймаут

SENM AT+SENM?\r\n +SENM (Запрос / установка параметров безопасности) — ответ Секрет, Шифр\r\n OK\r\n 
Режим секретности представлен цифрой:
0 — выключен
1 — незащищённое соединение
2 — защита на сервисном уровне
3 — защита на уровне соединения
4 — неизвестный режим
Режим шифрования представлен цифрой:
0 — без шифрования
1 — шифруется только трафик PTP
2 — шифруется весь трафик

PMSAD AT+PMSAD (Удаление устройства из списка пар) — ответ Адрес\r\n OK\r\n :

STATE AT+STATE?\r\n +STATE( Запрос статуса модуля) — ответ Статус\r\n OK\r\n
Где:
INITIALIZED — инициализация
READY — готов
PAIRABLE — образование пары
PAIRED — пара образована
INQUIRING — запрос
CONNECTING — подключение
CONNECTED — подключён
DISCONNECTED — отсоединён
NUKNOW — неизвестное состояние

Описание ошибок выдаваемых модулем (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 — Недопустимый режим шифрования

Для отправки команд с телефона будем использовать программу Serial Bluethooth Terminal, которую можно бесплатно скачать в Play Market.

Выглядит она следующим образом:

Отправлять с телефона мы будим цифры и наблюдать прием данных на компьютере, через программу  CoolTerm.

СОДЕРЖАНИЕ