Прошивка bluetooth модуля HC-05/06

Прошивка bluetooth модуля HC-05/06

При прошивке блютуз модуля HC-05/06 с помощью AT-команд, отправляемых по последовательному порту, можно изменить многие параметры, установленные производителем.

Рассмотрим, как сделать настройку Bluetooth модуля для Arduino с помощью AT-команд, отправляемых по последовательному порту. Данная информация будет полезна для тех, кто решил сделать проект на Ардуино в котором необходимо использовать беспроводную передачу данных между устройствами. При прошивке модуля, можно изменить многие параметры, установленные производителем.

Схема и распиновка Bluetooth модуля

Bluetooth модуль распиновка, схема
HC05/06 Bluetooth модуль распиновка, схема

Для настройки модуля необходимо подключить к нему питание от 3,3 Вольт, кроме того необходимо подать 3,3 Вольта на порт 34 (см. фото выше). Прошивка осуществляется по последовательному порту, так как аппаратный последовательный порт у Ардуино (порты TX и RX) будет занят для отправки AT-команд с компьютера, то мы используем программный последовательный порт с помощью библиотеки SoftwareSerial.h.

Данная библиотека позволяет реализовать программный последовательный порт на любых цифровых выходах Ардуино. Для настройки Bluetooth модуля его следует перевести в режим отладки — необходимо подключить вывод 34 к 3,3 Вольтам, питание модуля при прошивке тоже идет от 3,3 Вольт. В качестве контактов программного последовательного порта будем использовать цифровые выводы 2 и 3 на Arduino UNO.

Настройка Bluetooth модуля HC-05/06

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno / Arduino Nano / Arduino Mega;
  • USB-кабель;
  • Bluetooth модуль HC-05/06;
  • Провода «папа-папа» и «папа-мама».
Настройка Bluetooth модуля с помощью AT-команд
Настройка Bluetooth модуля с помощью AT-команд

После подключения модуля, загрузите скетч для настройки модуля HC-05/06. Скачать скетч и библиотеку SoftwareSerial можно с Google Диск по ссылке здесь. После загрузки скетча, открывайте монитор последовательного порта Arduino IDE и отправляйте AT-команды. Первым делом, следует отправить тестовую команду — AT, для проверки соединения модуля. Ответ модуля должен быть — OK.

Скетч для прошивки блютуз модуля Arduino

#include <SoftwareSerial.h>    // подключаем библиотеку
SoftwareSerial mySerial(2,3);  // указываем пины tx и rx

void setup() {
  pinMode(2,INPUT);
  pinMode(3,OUTPUT);
  
  Serial.begin(9600);         // включаем hardware-порт
  mySerial.begin(38400);  // включаем software-порт
  
  Serial.println("start setting");
}

void loop() {
    if (mySerial.available()) {
        char c = mySerial.read();  // читаем из software-порта
        Serial.print(c);                   // пишем в hardware-порт
    }
    if (Serial.available()) {
        char c = Serial.read();      // читаем из hardware-порта
        mySerial.write(c);            // пишем в software-порт
    }
}

Пояснения к коду:

В программе все предельно просто: при получении данных на аппаратном (встроенном) последовательном порту, данные отправляются в программный последовательный порт (на модуль). А при получении данных с модуля, они отправляются на аппаратный последовательный порт, то есть на монитор порта.

Прошивка модуля HC-05 AT-командами

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

Итак, чтобы изменить код доступа к Bluetooth-модулю, имя или другие характеристики, следует отправить следующие команды через монитор последовательного порта Arduino IDE (смотри скрин ниже). Также приведем пошаговую инструкцию, какие необходимо использовать AT команды для перепрошивки HC-05. А в конце статьи размещена более полная таблица at команд с небольшими пояснениями.

  1. узнаем версию прошивки модуля: AT+VERSION?
  2. узнаем режим работы модуля: AT+ROLE?
  3. узнаем имя Bluetooth-модуля: AT+NAME?
  4. задаем новое имя модуля: AT+NAME=ROBOT
  5. узнаем имя Bluetooth-модуля: AT+NAME?
  6. узнаем пин-код Bluetooth-модуля: AT+PSWD?
  7. задаем новый пин-код доступа: AT+PSWD=0000
  8. узнаем пин-код Bluetooth-модуля: AT+PSWD?

Обратите внимание, что при настройке модуля, в мониторе последовательного порта IDE Arduino следует выбрать пункт «NL & CR». После программирования модуля отсоедините вывод 34 от 3,3 Вольт и подключитесь к Bluetooth-модулю с телефона или планшета. Если при первом подключении блютуз модуля к Ардуино, у нас были стандартные настройки, то сейчас наш модуль имеет свое имя и новый пин-код.

Настройка bluetooth модуля на Android
Настройка bluetooth модуля на Android

Таким образом, мы можем использовать в одном месте сразу несколько bluetooth модулей, а чтобы не запутаться присвоить каждому свое уникальное имя. Также мы можем задать новый пин-код, чтобы защитить модуль от постороннего вмешательства. С помощью данной настройки модуля НС-05/06 мы можем получать данные с датчиков не только на мониторе порта, но и на любом Android — устройстве.

Список основных AT-команд для настройки

AT-команда

Ответ модуля

Примечание

AT OK Тестовая команда
AT+VERSION? +VERSION: … Узнать версию прошивки модуля
AT+RESET OK Сброс настроек
AT+ADDR? +ADDR: … Узнать адрес модуля
AT+NAME? +NAME:«name» Узнать имя модуля, где «name» — имя Bluetooth-модуля
AT+NAME=«name» OK Установить новое имя, где «name» — имя Bluetooth-модуля
AT+PSWD? + PSWD:«pin» Узнать код доступа, где «pin» — код, по умолчанию 1234
AT+PSWD=«pin» «pin»
OK
Установить новый код доступа к модулю, где «pin» — код доступа к Bluetooth-модулю
AT+ROLE? +ROLE:«param» Узнать режим работы модуля, где «param» — режим:
0 — slave. К модулю может подключиться мастер;
1 — master. Модуль сам подключается к устройству.
AT+ROLE=«param» OK Установить режим работы модуля, где «param» — режим

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

1 Star2 Stars3 Stars4 Stars5 Stars (22 votes, average: 4,82 out of 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *