Hc 06 модуль bluetooth для беспроводного управления устройствами ларт

Обновлено: 06.07.2024

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

На фоне остальных протоколов Bluetooth выделяется прежде всего помехоустойчивостью и простотой. От не менее распространённого Wi-Fi Bluetooth отличается в первую очередь низким энергопотреблением, что делает его доступным для автономных устройств. Благодаря этому BT получил повсеместное распространение.

Arduino и модули Bluetooth HC-05/06

Оба модуля основаны на одинаковом чипе и поддерживают BT версии 2.0. Их максимальная скорость работы – 3 Мегабита в секунду.

Небольшой обзор модулей HC-05 и HC-06

Чаще всего HC-05 и HC-06 представляют собой две спаянные платы. Верхняя – заводская плата с микросхемой BC417. Нижняя – специальная плата для самодельных устройств, содержащая самые нужные ножки GPIO с шагом 2.54 мм, стабилизатор напряжения и кнопку сброса. На фотографии ниже плата с BC417:

Arduino и модули Bluetooth HC-05/06

А это — модули HC-05 и HC-06 вместе с подложкой:

Arduino и модули Bluetooth HC-05/06

Также встречаются немного другие версии модулей. Вместо вывода EN на них выведен KEY.

Arduino и модули Bluetooth HC-05/06

Распиновка модулей

  • EN — управление питанием;
  • VCC — питание от 3,6 до 6 В;
  • GND — земля;
  • RX, TX — интерфейс UART;
  • STATE — индикация работы;
  • KEY — активация режима управления с помощью AT-команд.

Настройка модулей производится при помощи AT-команд. Но пин KEY есть не на всех модулях. И что с этим делать?

Пин KEY конечно же присутствует на малой плате с большим числом контактов, но не разведён на большой. Причины такого странного решения китайцев неизвестны.

Этот контакт находится здесь:

Arduino и модули Bluetooth HC-05/06

Подключение HC-05 и HC-06 к Arduino

Подключение к Arduino выполняется следующими контактами:

  • GND – GND;
  • VCC – +5V;
  • TXD – 10;
  • RXD – 11;
  • KEY при обычной работе модуля не используется. Для перехода в режим AT-команд его надо соединить с +3.3V.

TXD и RXD соединены с пинами 10 и 11, потому, что аппаратный UART будет использоваться для связи с компьютером.

Согласование логических уровней

Bluetooth-модули работают с логическими уровнями 3.3 В, и использование пятивольтовой логики может вывести их из строя. Но чаще всего на плате имеется всё необходимое для согласования уровней.

Бывают ситуации, в которых между Arduino TXD — Bluetooth RXD необходимо согласование напряжения. Использование делителя – гарантия надёжной работы.

Справа приведена схема простейшего делителя:

Arduino и модули Bluetooth HC-05/06

Скетч для подключения к Arduino

Для настройки модулей можно использовать USB-UART конвертер, если вы воспользуетесь им – следующий пункт можно пропустить. Для начала нам потребуется прошить Arduino.

Скетч просто отправляет данные, полученные с компьютера, на настраиваемый модуль.

Bluetooth в Arduino проектах

Подключение Arduino Bluetooth модулей HC 05 HC06

Нередко в проектах возникает необходимость дистанционного управления или передачи данных с телефона или другого устройства. Одним из самых популярных и удобных способов является обмен данных через Bluetooth. Для связи платы Ардуино и компьютера используется интерфейс UART (Serial). Так как любая плата Ардуино имеет хотя бы 1 последовательный порт UART, для подключения Bluetooth модуля не требуются специализированные библиотеки и схемы.

Самыми популярными модулями являются устройства на основе чипа BC417. Эта серия называется HC. Модули HC-03 и HC-05 могут быть и сервером соединения, и клиентом, они обладают широким набором АТ команд.

Для подключения к ПК потребуются модуль Bluetooth, плата Ардуино, соединительные провода и компьютер. Скетч для управления платой Ардуино через смартфон и компьютер будет одинаковым, так как в обоих случаях данные в микроконтроллер буду поступать по протоколу UART. Схема подключения Bluetooth-модуля к плате представлена на рисунке. Пин RX на ардуино подключается к TDX, TX – к RDX, GND – к GND, 5V – к VCC.

При загрузке скетча нужно отключить Bluetooth-модуль, иначе будет появляться ошибка доступа к Ардуино. Также нужно установить на смартфон или планшет, поддерживающий ОС Android, приложение для отправки данных на модуль. После установки приложения нужно загрузить скетч и подключить модуль к плате Ардуино. Пример кода мигания светодиода:

Теперь нужно настроить соединение телефона и модуля. Для установки соединения нужно зайти в настройки телефона и включить Bluetooth. Как только устройство будет найдено, нужно ввести пароль – обычно это «1234» или «0000». После этого нужно зайти в приложение, нажать на кнопку «подключить Bluetooth» и выбрать нужное устройство. При успешном сопряжении на модуле светодиод начнет мигать медленнее, примерно 1 раз в 2 секунды.

В скетче светодиод включается и выключается при получении цифр «1» и «0». Кроме цифр также можно использовать буквы латинского алфавита с учетом регистра.

Аналогичным образом можно подключаться к модулю при помощи компьютера. Для этого существуют различные программы, которые подключатся к COM-порту. При запуске программы запрашивают номер порта, скорость и тип подключения. При успешном подключении на экране появится поле терминала, в которое нужно ввести с клавиатуры цифры/буквы, включающие светодиод.

Описание модуля Bluetooth HC 06

Все существующие типы модулей Bluetooth имеют свои особенности, но по функциям и действию они похожи. Одним из видов модулей является Bluetooth HC 06. Со стороны Ардуино модуль выглядит как обычный последовательный интерфейс, поэтому можно сразу наладить взаимодействие с устройством на компьютере.

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

  • Питание 3,3В – 6 В;
  • Максимальное входное напряжение 5 В;
  • Максимальный ток 45 мА;
  • Скорость передачи данных 1200–1382400 бод;
  • Рабочие частоты 2,40 ГГц – 2,48ГГц;
  • Поддержка спецификации bluetooth версии 2.1;
  • Малое потребление энергии;
  • Высокий уровень защиты данных;
  • Дальность связи 30 м;
  • Для подключения к смартфону используются следующие данные – пароль «1234», скорость передачи данных 9600, имя модуля HС-06.

arduino bluetoorh 1

Модуль имеет следующие контакты:

Модуль HC-06 используется только в режиме slave, то есть он не может самостоятельно подключаться к другим устройствам Bluetooth. Все настройки для подключения «пароль, скорость передачи данных» можно изменить при помощи АТ-команд.

В комплектацию модуля не входят соединительные провода.

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

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

Оба модуля представляют собой две спаянные платы. Одна из них – заводская с микросхемой, другая нужна для самодельных устройств, она оснащена ножками GPIO со стандартным шагом 2,54 мм и стабилизатором напряжения.

Подключение Arduino Bluetooth модулей HC 05 HC06

Модуль HC-05 стоит несколько дороже, но он имеет большее количество полезных рабочих функций.

Распиновка модуля HC-05:

  • EN – управление питанием;
  • Питание VCC;
  • GND;
  • RX, TX;
  • STATE – индикация;
  • KEY – активирует режим управления при помощи АТ-команд. При KEY=0 – передача данных, при KEY=1 – АТ-команды.

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

Основные характеристики HC-05:

  • Рабочие частоты 2,4 – 2,48 ГГц;
  • Мощность передачи 0,25 – 2,5мВт;
  • Дальность 10 м;
  • Максимальная скорость обмена данными 115200 бод;
  • Питание 3,3В;
  • Ток 30-40 мА;
  • Рабочие температуры от -25С до 75С.

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

arduino bluetooth подключение

Вариант подключение модуля с использованием делителя.Представлен вариант для Arduino Nano, но он подойдет и к плате Uno.

arduino nano bluetooth

Заключение

Подключение Bluetooth к вашему Arduino-проекту может существенно увеличить ваши возможности по взаимодействию с другими устройствами. Вы сможете контролировать состояния датчиков и изменять параметры системы без перезагрузки контроллера. И. конечно же, вы сможете без проблем создать роботы и машинки на ардуино, управляемые через bluetooth со смартфона. Будем надеяться, что вы сможете сделать свой первый проект после прочтения этой статьи.

Модуль HC-06 (и старшая модель HC-05) представляет собой плату с Bluetooth-модемом с дополнительной обвязкой: стабилизатор с 5 на 3.3 вольта, светодиод, и конденсаторы на линиях питания. Также на плате установлен mosfet-транзистор (Q1), который при надобности может разрывать цепь питания блютуза, тем самым отключая его.

Модуль HC-06 используется только в режиме slave, то есть он не может самостоятельно подключаться к другим устройствам Bluetooth.

На HC-06 шесть подписанных контактов: EN, VCC, GND, TXD, RXD и State (некоторые обозначения могут иметь другие названия). Но ножками как правило оборудованы только четыре из них: VCC, GND, TXD и RXD.

HC-06

Технические характеристики

  • Питание: 3,3В–6В
  • Максимальное входное напряжение: 5В
  • Максимальный ток: 45 мА
  • Скорость передачи данных: 1200–1382400 бод
  • Рабочие частоты: 2,40 ГГц – 2,48ГГц
  • Поддержка спецификации bluetooth версии 2.1
  • Дальность связи: 30 м
  • Пароль «1234», скорость передачи данных 9600, имя модуля HС-06 (все настройки можно изменить AT-командой)

Для подключения к Arduino Uno используется следующая схема.

Модуль HC-06 выступает в роли последовательного порта, через который можно передавать и принимать данные. Вы можете для этой цели использовать компьютер или смартфон.

Важное замечание: при заливке скетча убирайте провода с контактов 0 и 1 на плате Arduino, так как они используются для передачи данных вашего скетча. Когда скетч установите, можете вернуть провода на место.

Подключение к компьютеру

Рассмотрим пример подключения и обмена информацией с компьютером. Если у компьютера нет встроенного Bluetooth, то можно купить отдельный модуль, подключаемый через USB.

Сначала необходимо сделать несколько предварительных действий. Когда вы подключите HC-06 к плате, он будет готов к работе, постоянно мигая своим светодиодом. Нужно установить соединение с компьютером. Далее объяснения идут для Windows 10. В нижнем правом углу находим значок Bluetooth и выбираем пункт Show Bluetooth Devices. В открывшемся окне выбираем пункт Add a device. В успешном случае будет обнаружено новое устройство с именем HC-06. Для спаривания с ним введите пароль по умолчанию 1234.

HC-06

После успешного соединения нужно снова открыть окно Show Bluetooth Devices и выбрать пункт More Bluetooth options. В диалоговом окне переключитесь на вкладку COM Ports и запомните номер порта для Outgoing - в моём примере это был порт COM7.

HC-06

Далее следует установить программу-терминал для общения с модулем. Самой простой и популярной является Termite. Я выбрал вариант "Program only" (вторая в списке) размером всего 76 кб. Программа не требует инсталляции и не пишет ничего в реестр. Запустите программу, нажмите на кнопку Settings и в диалоговом окне выберите нужный порт (который я просил запомнить) и скорость (9600).

Напишем скетч и зальём его на плату.

В Termite вводим любое слово в нижнем текстовом поле и нажимаем клавишу Enter. В Serial Monitor будут отображаться введённые слова. Это означает, что мы можем посылать определённые команды для платы, чтобы управлять ей.

Давайте попробуем включать и выключать встроенный светодиод на контакте 13.

Если всё получилось, то примите мои поздравления. Теперь вы можете общаться с платой с компьютера.

Подключение к Android

Подключение к телефону на Android происходит по такой же схеме. Устанавливаем терминал, например Bluetooth Terminal, соединяемся с нашим модулем и посылаем команды из предыдущего скетча. Плата будет включать и выключать свой светодиод, принимая сигнал с телефона.

AT-команды

С помощью AT-команд можно сменить настройки по умолчанию. Имейте в виду, что в 2018 году модули стали поставляться с другой прошивкой и некоторые сведения, которые ранее были описаны в интернете, устарели. Я описываю актуальные команды на 2019 год.

Используем следующую схему подключения.

При подключении светодиод на модуле будет мигать два раза в секунду. В этом режиме можно вводить команды. Но сначала загрузим скетч.

В Serial Monitor вводим команду AT . В ответ получим OK.

Чтобы сменить имя модуля, нужно ввести команду AT+NAME=CAT-06 , где CAT-06 - новое имя. Имя не должно превышать 20 символов.

Узнать версию модуля: AT+VERSION . Ответ: VERSION:3.0-20170609.

Смена пароля: AT+PSWD:"0000" , где 0000 ваш новый пароль.

Есть ещё команды для смены скорости, но тут нужно быть внимательным. После смены скорости старые скетчи не будут работать, надо вносить в них изменения, чтобы соответствовать новым настройкам. Не уверен, что стоит увлекаться этим.

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

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

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

.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.

Читайте также: