Вы находитесь на странице: 1из 4

Работа с Bluetooth модулем HC05

Недавно прислали этот модуль, решил попробовать его проверить.


Под катом небольшое описание, даташит, программа-терминалка и плата в формате .lay

Напряжение питания модуля: 3.3 В


Потребляемый ток: 50 мА

Этот модуль может работать в 3-х режимах:


1) Master (или сервер) — в этом режиме модуль может сам подключиться к какому-
нибудь Bluetooth девайсу.
2) Slave — в этом режиме другой мастер может подключиться к модулю.
3) Slave-loop — здесь модуль отправляет обратно все байты, которые ему прислали.

1. Режим Master

Для того, чтобы переключить BT модуль в этот режим, нужно:


1) Перевести модуль в режим приема AT команд, замкнув PIO11 на +3.3 V
2) Подключиться к UART'у модуля, настроить COM порт вот так:
Baudrate = 38400
StopBits = 1
DataBits = 8
Parity = none
Handshaking = none
И отправить ему команду:
AT+ROLE=1\r\n

После каждой успешно выполненной команды модуль отвечает:


OK\r\n

3) Подключить PIO11 к GND (автоматический режим). Модуль в режиме мастера.

1.1 Настройка автоматического подключения к BT девайсу по фиксированному


адресу
Для этого нужно:
1) Перевести модуль в режим приема AT команд (см. пункт 1)
2) Переключить модуль в режим подключения к устройству с фиксированным адресом
при помощи команды:
AT+CMODE=0\r\n

Задать фиксированный адрес устройства, к которому хотим подключиться, при помощи


команды:
AT+BIND=27,13,bd95e4\r\n

«27,13,bd95e4» — для примера, это BT адрес моего ноута.

А теперь маленькая хитрость, как наиболее простым способом узнать этот адрес?
Отправляем модулю:

AT+RMAAD\r\n

Переключаемся в автоматический режим (см. пункт 1), модуль должен быть в режиме
Slave, подключаемся к модулю тем устройством, BT адрес которого нужно узнать,
отключаемся, переходим в режим АТ команд, отправляем команду:
AT+MRAD?\r\n

Получаем на выходе искомый адрес в виде: 27:13:bd95e4.

3) Снова возвращаемся в автоматический режим. Теперь модуль сам попытается


подключиться к устройству по адресу 27:13:bd95e4.

2. Slave

Для переключения в этот режим отправим:


AT+ROLE=0\r\n

Если CMODE!=1, то
AT+CMODE=1\r\n

3. Slave Loop

AT+ROLE=2\r\n

Если CMODE!=1, то
AT+CMODE=1\r\n

4. Прочее

Тестовая команда:
AT
Перезагрузка:
AT+RESET

Версия:
AT+VERSION?

Сброс настроек:
AT+ORGL

Адрес модуля:
AT+ADDR?

Имя модуля:
AT+NAME=ElektroHabr\r\n

Получить имя BT девайса:


AT+RNAME?<АДРЕС>\r\n

Чтобы поменять пароль, делаем так:


AT+PSWD=1235

Настройки UART'a:
AT+UART=Baudrate,StopBit,Parity,\r\n

Baudrate может быть: 9600,19200,38400,57600,115200,230400,460800.


Parity == 0 == none
PIO порты:
AT+PIO=<номер порта>,<состояние 1/0>

Управлять этими портами через BT нельзя!


BT модуль запоминает адреса устройств, которые к нему когда-либо подключались, чтобы
удалить какой-нибудь адрес, делаем так:
AT+PMSAD =1234,56,abcdef\r\n

Чтобы удалить все адреса, делаем так:


AT+RMAAD\r\n

Чтобы посмотреть адрес наиболее часто подключаемого устройства, шлем модулю:


AT+MRAD?\r\n

Чтобы посмотреть, есть ли по близости девайс который модуль «запомнил», шлем


модулю:
AT+FSAD=<adress>\r\n
Количество устройств в памяти:
AT+ADCN?\r\n

Состояние модуля:
AT+STATE?\r\n

Подключиться к какому-нибудь девайсу:


AT+LINK=1234,56,abcdef\r\n

Отключиться:
AT+DISC=<adress>\r\n

Это не все команды, я еще не разобрался с остальными.

Вам также может понравиться