Подключение Bluetooth модуля HC-05 к NodeMCU ESP8266

В настоящее время технология Bluetooth неотъемлемой частью большинства цифровых устройств в современном мире: смартфонов, ноутбуков, часов, финтес-браслетов и т.д. Она стала доминирующей технологией для радиосвязи на короткие расстояния практически сразу после своего изобретения. Хотя в большинстве случаев технология Bluetooth используется как замена кабельного соединения между устройствами, она на самом деле является универсальным мостом для существующих сетей передачи данных и механизмом соединения равноправных/одноранговых (ad hoc) устройств в различных конфигурациях.

Внешний вид подключения Bluetooth модуля HC-05 к NodeMCU ESP8266

В данной статье мы рассмотрим подключение Bluetooth модуля HC-05 к популярному сейчас Wi-Fi модулю ESP8266 и будем управлять его встроенным светодиодом удаленно, с помощью передачи команд по протоколу Bluetooth. Светодиод в нашем проекте можно заменить, к примеру, на реле, с помощью которого можно управлять различными устройствами в системах умного дома.

Ранее на нашем сайте мы рассматривали использование Bluetooth модулей HC-05 и HC06 в следующих проектах:

Необходимые компоненты

Аппаратное обеспечение

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Bluetooth модуль HC-05 (купить на AliExpress).

Программное обеспечение

  1. Arduino IDE.
  2. Serial Bluetooth Terminal (приложение Android) – для мониторинга данных Bluetooth на смартфоне.

Схема проекта

Схема подключения Bluetooth модуля HC-05 к NodeMCU ESP8266 представлена на следующем рисунке.

Схема подключения Bluetooth модуля HC-05 к NodeMCU ESP8266

Для использования технологии Bluetooth модулю ESP8266 необходим внешний Bluetooth модуль поскольку он не имеет встроенного Bluetooth модуля как, к примеру, ESP32.

Внешний вид собранной конструкции проекта

Bluetooth модуль HC-05

Вешний вид обеих сторон Bluetooth модуля HC-05 показан на следующем рисунке.

Вешний вид обеих сторон Bluetooth модуля HC-05

HC-05 является Bluetooth модулем с последовательной связью. Его можно настроить с помощью AT. Он может работать в различных конфигурациях: Master (ведущий), Slave (ведомый), Loop back). В нашем проекте он будет использоваться в качестве ведомого устройства.

Технические характеристики Bluetooth модуля HC-05:

  • типовая чувствительность: -80dBm;
  • скорость передачи данных: 9600 бод, 8 бит данных, 1 стоповый бит, нет бита четности;
  • pin код для автоматического соединения: “1234” или “0000”;
  • 6 контактов;
  • контакты Vcc и Gnd используются для подачи питания на модуль;
  • контакты Tx и Rx используются для взаимодействия с микроконтроллером;
  • контакт Enable для активации модуля, когда на нем low – модуль деактивирован (отключен);
  • контакт State работает как индикатор состояния модуля. Когда модуль не соединен с другим Bluetooth устройством, светодиод мигает постоянно. Когда он соединен с другим Bluetooth модулем – светодиод мигает с постоянной задержкой 2 секунды.

Использование Serial Bluetooth Terminal

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

По Bluetooth соедините ваш смартфон с модулем HC-05. По умолчанию код для подключения ‘0000’ или ‘1234’ (в большинстве случаев ‘1234’).

Скачайте, установите и запустите на выполнение приложение Serial Bluetooth Terminal. Затем откройте вкладку устройства и найдите в нем модуль HC-05. Если модуль HC-05 не отображается в списке устройств проверьте правильно ли он запитан.

Главный экран приложения Serial Bluetooth Terminal Список подключенных устройств в приложении Serial Bluetooth Terminal

После выбора модуля HC-05 в списке устройств произойдет подключение к нему приложения. Теперь напечатайте любое сообщение в поле ввода и передайте его. После этого сообщение должно появиться в окне монитора последовательной связи Arduino IDE.

Передача команды в приложении Serial Bluetooth Terminal Ввод команды в приложении Serial Bluetooth Terminal

Далее перейдем к написанию программы для нашего проекта.

Объяснение программы для модуля ESP8266

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

В данном проекте мы будем использовать аппаратный и программный порты последовательной связи модуля ESP8266. Аппаратный порт будет использоваться для взаимодействия с монитором последовательной связи Arduino IDE, а программный – для взаимодействия с модулем HC-05.

Первым делом подключим в программе библиотеку последовательной связи (Software Serial library).

Далее сконфигурируем с помощью данной библиотеки контакты для использования последовательной связи (D2 и D3). В проекте мы будем использовать встроенный светодиод NodeMCU ESP8266, который подключен к его контакту D4.

Затем мы инициализируем аппаратный и программный порты последовательной связи для работы на скорости 9600 бод. Сконфигурируем контакт D4 для работы в качестве цифрового выхода. Напечатаем приветственное сообщение в окне монитора последовательной связи.

Далее мы будем осуществлять чтение данных с Bluetooth модуль и если Bluetooth получил символ “B” от смартфона, то мы будем включать мигание светодиода, а если  Bluetooth получил символ “ S ” от смартфона – мы будем выключать светодиод. В нашей программе мы не будем использовать функцию delay(). Но вместо этого для замедления работы модуля ESP8266 может быть использована функция ‘millis’.

Функцию millis мы будем использовать для организации задержки 500ms, то есть светодиод будет мигать каждые 500ms. Вы можете изменить частоту мигания светодиода изменяя значение переменной ‘interval’.

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
89 просмотров


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

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