Настройка блютуз модуля hc 05 через ттл адаптер для диагностики гбо

Обновлено: 06.07.2024

Сегодня мы познакомимся с недорогим модулем для беспроводной пердачи данных по Bluetooth.

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

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

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

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

Image00

Мы видим зедесь ножки GPIO, SPI, USB, PCM.

Правда мы пока будем работать только с интерфейсом USART, с помощью которого мы будем не только передавать какие-то полезные данные, а также и настраивать наш модуль.

Мы так поступим во-первых потому, что модули у нас будут одного типа (у меня их аж 4 штуки!), в которых модуль HC-05 напаян ещё на одну плату, на которой наружу разведены только 6 контактов. Вот такие вот они все у меня приблизительно (вид сверху и вид снизу)

Снизу платы нанесено назначение ножек, с ними мы разберёмся, когда будем подключать модуль.

Во-вторых, мы не будем работать с остальными многочисленными контактами потому, что не каждая прошивка этим позволяет заниматься.

Вообще, выбор пал именно на HC-05 ещё потому, что данный модуль прекрасно настраивается для работы как ведущего, так и ведомого устройства.

Настраивается для дальнейшей работы с данными модуль с помощью AT-команд. Мы, я думаю, все в той или иной мере знакомы, что это за команды такие, мы с ними немного знакомились, когда работали с модулем Wi-Fi. Конечно, данные команды у всех устройств разные и поэтому я приложу внизу страницы документ с полным перечнем команд. Также в интернете немудрено найти ресурсы, где описание данных команд переведено на русский язык, и даже есть некоторые примеры их использования. Мы же не будем здесь заниматься полным переводом команд, мы будем изучать только те команды, которыми нам прийдётся воспользоваться. Пока их перечень будет не столь широк, но впоследствии мы к данным модулям ещё вернёмся, надеюсь, и не раз, и тогда мы уже расширим свой кругозор в знании данного модуля. А пока же мы проведём только краткий экскурс по модулю. Конечно, мы попробуем его и в работе, не без этого.

А пока давайте подключим наш модуль к переходнику TTL-USB, который в свою очередь мы подключим к ПК.

Соединим мы по следующей схеме

Переходник TTL-USB Модуль HC-05

VCC VCC

GND GND

TXD RXD

RXD TXD

На практике это будет выглядеть примерно вот так

Image03

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

Зайдём в настройки программы и настроим сначала порт

Image04

Данная скорость 38400 была выбрана потому, что модуль в режиме приёма AT-команд работает именно на такой скорости.

Теперь слева выберем пункт Receive и переключим там одну кнопку, а другую включим

Image10

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

Сохраним настройки и попробуем соединиться. Если всё удачно, то разъединяеся, так как сейчас у нас модуль находится в режиме передачи данных, и, если он ещё не настраивался, то скорей всего, мы даже не знаем его адреса, его настроек. О нахождении модуля в данном режиме свидетельствует быстрые мигания голубого светодиода Поэтому нам надо как-то перевести модуль в состояние передачи AT-команд.

Для этого мы пока отсоединим переходник от USB-порта и подклюим провод на ножку модуля HC-05 KEY. У кого-то она может иметь другое название, но, думаю, не перепутаете. Провод подключим вот такой и вот таким образом

Соединим данный провод с плюсом питания (с ножкой VCC)

Image09

И, не отпуская контакта, соединим перходник с портом USB компьютера и через некоторое время (через секунду или две) разъединим наш контакт KEY с контактом VCC, убрав провод. Модуль должен будет перейти в режим приёма AT-команд, о чём будет свидетельствовать очень медленная скорость мигания светодиода.

Модуль ответил, значит всё правильно.

  • Device type: 0
  • Inquire code: 0x009e8b33
  • Module work mode: Slave Mode
  • Connection mode: Connect to the Bluetooth device specified
  • Serial parameter: Baud rate: 38400 bits/s; Stop bit: 1 bit; Parity bit: None.
  • Passkey: “1234”
  • Device name: “H-C-2010-06-01”

Проверим теперь некоторые параметры нашего модуля.

Если прошивка не ниже данной версии, то мы можем быть уверены, что данный модуль с такой прошивкой способен работать в режиме ведущего устройства (Мастера).

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

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

Имя прекрасно применено.

Аналогичным образом, как и имя, можно поменять и пароль.

Эти настройки означают: скорость 38400 кбпс, 1 стоповый бит и отсутствие контроля чётности.

В данной таблице находятся возможные варианты настроек USART

Image21

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

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

Image23

Попробуем ввести команду, на что модуль наш не прореагирует, так как режим не тот

Но не будем отчаиваться. Оказывается, чтобы отправлять команды модулю, необязательно переводить его в этот режим. Можно включить поддержку передачи AT-команд в режиме передачи данных. На короткое время (достаточно менее секунды) коснёмся проводом, который подключен к контакту KEY плюсовой шины модуля и модуль перейдёт в режим поддержки AT-команд. Правда, по характеру мигания светодиода мы это не определим, он будет мигать также быстро. Также в режиме поддержки команд мы с нами не сможет соединиться ведущее устройство. Но тем не менее, нам не потребуется для каких-то настроек постоянно вынимать провод из разъёма USB и перенастраивать порт в терминальной программе. Это уже хорошо. Сделаем данное действие и убедимся в том, что модуль также будет принимать команды, как и в режиме приёма команд

Отлично! Мы уже кое-что умеем. В принципе, мы настроили модуль для передачи данных в режиме ведущего устройства.

Теперь смартфон, который у нас сегодня выступит в роли ведущего устройства. Подойдёт любой с андроидом, лишь бы встала какая-нибудь терминальная программа под Bluetooth. Я установил вот такую. Мне она показалась удобной

Image26

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

Скачаем и установим программу и запустим её. Нажмём кнопку SCAN и наш модуль должен будет отобразиться в списке найденных устройств

Image27

Устройство появится в списке спаренных устройств

Image30

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

Выберем наше устройство и попадём в диалог терминального обмена строками

Image31

Image33

Наш текст переместится в поле чата

Image32

Также если всё нормально со связью, мы этот же текст увидим в терминальной программе на ПК

Теперь попробуем, наоборот, послать строку из терминальной программы ПК в терминальную программу смартфона

Посмотрим, пришла ли наша команда

Image36

То есть связь у нас работает.


Чтобы газовая установка 4-го поколения на автомобиле работала максимально эффективно, по мере износа ее компонентов (редуктора, форсунок), необходимо проверять и корректировать показания электронного блока управления.

Для диагностики и настройки газобаллонного оборудования четвёртого поколения требуется подключение его контроллера к программному обеспечению. Чтобы дистанционно выполнять регулировку системы, можно изготовить универсальный блютуз адаптер для ГБО своими руками.

Плюсы bluetooth адаптера

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

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

  • удобство использования (нет лишних проводов, работоспособность до 10 метров);
  • возможность постоянного контроля и самостоятельной корректировки параметров системы (температура топлива и редуктора, время впрыска форсунок, давление газа) непосредственно с ноутбука, планшета или смартфона прямо на ходу;
  • универсальность применения. Подходит к большинству современных систем: Stag, OMVL, Lovato, Gigitronic, LPG tech, AEB и многие другие включая мозги старой версии;
  • стоимость самодельного оснащения на порядок ниже заводских аналогов. К примеру, тот же ds 73 bluetooth от ЕЛМ 327 обойдётся около 1500-2500 рублей, а брендовые изделия можно купить по цене от 3000-7000 руб.


Ко всему прочему БТ передатчик не потребляет много энергии, поэтому его можно оставлять непрерывно подключенным к диагностическому разъёму даже при стоянке. К тому же, плюс этого девайса в ремонтопригодности, цена деталей не существенна, а ремонт адаптера не составит большого труда.

Какие компоненты понадобятся

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

Все основные элементы дешевле всего купить заранее на Алиэкспресс (ссылки укажем ниже):

1. разъём для подключения (название и таблица применения находится здесь);


2. bluetooth модуль (будем применять плату HC-06 со встроенной платой стабилизации и индикацией, но можно HC-05, обе работают с Windows и Android. Для IOS (айос) нужен HC-10, его дальность работы достигает 100 м.);


3. стабилизатор питания (LM2596 либо можно использовать этого типа AMS1117 или LM7805);


4. модуль согласования логических уровней (для конвертации сигналов обмена информации с 5 вольт на 3.3 вольта и обратно);


5. USB to TTL модуль PL2303HX (нужен для программирования адаптера, затем из него можно сделать кабель для регулировки ГБО);


6. термоусадочная трубка подходящего размера/цвета или герметичная коробка;
7. автопровода разной расцветки (можно также купить готовые на али).


Цена за всё будет варьироваться в пределах 400-600 руб. (зависит от стоимости доставки).

Схема сборки

Ключевые параметры, которые необходимо знать, перед тем как приступить к пайке:

Для зенита и ему подобных (с выходом 5 вольт), можно вообще не включать в схему регулятор напряжения, т.к. плата блютуза питается пятью вольтами. Местоположение сигналов tx/rx может отличаться (зависит от производителя газомозга).


Чтобы собрать блютуз адаптер компактно, желательно подрезать его колодку.


Далее, согласно схеме, непосредственно к контактам клеммного разъёма подпаять преобразователь напряжения. Затем к выходам преобразователя припаять модуль согласования и саму плату блютуза. Питание +3.3 v берём с транзистора на bt плате или со встроенной платы (ножка под номером 12).

Программирование БТ адаптера

Основной задачей прошивки, является смена скорости передачи сигнала (по умолчанию с завода устанавливают 9600). Здесь важно знать скорость обмена данными, например, у Зенита 38400, у Стага 57600, LPG тех 19200.

Если при сборке используется стабилизатор LM2596, необходимо убедиться и настроить напряжение на выходе 5 вольт (удобно, если плата с индикатором, но она дороже). Делается это при помощи винта подстроечного резистора.


Сборку помещаем в герметичную коробку или термотрубку. Потом надо соединить проводами TTL USB платку со второй частью разъёма (папой). По сути это уже почти готовый шнурок для диагностики.


Для настройки платы (смены скорости связи) HC-5, понадобится перемкнуть контакт KEY c +5V, а после убрать перемычку.


В нашем случае делать этого не нужно. Просто подключаем всю сборку к USB порту компьютера (ttl usb + bluetooth адаптер). При этом, не забыв перекрестить контакты передачи данных, т.е. RX подключаем к TX, а TX к RX.



Дальше находим и активируем, на компьютере/планшете/смартфоне, Bluetooth соединение, не забыв ввести свой пароль. Скачиваем, с официального сайта производителя газового оборудования или через googl play, ПО для настройки, после чего самостоятельно регулируем систему ГБО по блютузу.

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


Всем доброго времени суток!
Давненько я сюда ничего не писал, хотя сделал не мало, но фото не делал, а без фото — статья не статья(
Итак с какими проблемами я стал сталкиваться — при отключении аккумулятора более чем на сутки — слетала газовая прошивка вместе с моими шикарно настроенными картами и приходилось снова обращаться к газовщикам. Все было бесплатно, но это время и честно говоря лениво. Я принял решение сделать контроллер для своего ГБО слить прошивку со второй машины (там стоит аналогичный двигатель и аналогичное ГБО) 1в1 и залить в свою, и если придется чуть подредактировать карты. Газовое ТО никто не отменял!
Итак поехали!
С али было заказано:
1) модуль питания
2) Блютуз HC-05 (С ним работает у всех)
3) и "по фану" HC-06 с ним якобы не у всех работает и он якобы не принимает АТ команды — чтож, будем разбираться.

Итак приступим:
Сначала я прочитал кучу статей где все все паяют и у всех все сразу работает)))), тоже спаял провозился три дня естественно бред.
Итак для начала надо поменять скорость в нашем адаптере!
Для этого нам еще необходим USB-TTL! Я его одолжил на работе! Также его можно купить на али

БЕЗ НЕГО СЧАСТЬЯ НЕ БУДЕТ!
Вот какой я одолжил




Далее подключаем к нашему адаптеру HC-05 или HC-06 VCC к VCC / GND к GND / RX+ RX / TX+TX
(некоторые пишут что рх и тх надо менять местами, но у меня заработало именно так — пробуйте по разному).
Далее качаем программу btinit.exe и желательно все делаем на Windows XP, на 7 или 10 может потребоваться библиотека msvbvm50! ее надо скачать и поставить


Если вставить нашу конструкцию в юсб порт — то мы должны увидеть часто моргающий светодиод и ком порт на который она села.


В нашем случаем COM 6 — ЗАКРЫВАЕМ ПРОГУ, ВЫНИМАЕМ ЮСБ. Далее Зажимаем кнопку на хц-05


И держа ее вставляем все это в юсб — светодиод должен заморгать медленно, если все получилось — отпускаем кнопку!
Если нет, повторяем или меняем рх с тх. У меня получилось со 2 раза.
далее в программе нажимаем опен и у нас должна появится версия/ ок и тп.


Далее выставляем параметры
Скорость
57600
Имя
произвольно
SerNum
Стираем (это то что после имени номер модели тип)
пароль
у меня поменять не получилось))) выдало ошибку
Остальное без изменений

Дальше должны справа идти ОК
дальше Close
и все программная часть готова!
Тоже самое сделал с HC-06
Но там интерестне — все пишут по разному. То спаяй супер схему, то просто воткни и заработает, то она АТ команды не принимает


Покрутив ее в руках я нашел такую же кнопку как и в хс-05


Замкнул ее (не очень удачное фото, но замкнул именно ее) так же, до того как воткнул в юсб что бы светодиод моргал не быстро.


И так же прошил)

Далее паяем
нужен модуль питания чтобы все нормально работало :


IN
Идет к разъему
OUT
К нашей с программированной плате
+ к VCC
— к GND



Разъем лично я брал от бензонасоса газели, но можно купить готовый на али

Вот распайка разъема (фото не мое — плюс лично я использую)


Дальше распаиваем по схеме — я все это засунул в корпус от датчика удара
получилось как-то так:

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

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