Bluetooth Low Energy (Troyka-модуль)

Возьмите BLE-модуль и управляйте вашими девайсами с помощью телефона на базе операционной системы Android и iOS. Синезуб также поможет создать псевдо-сеть между своими собратьями. А благодаря технологии Web Bluetooth API работа с модулем доступна прямо из окна браузера.

Используйте модуль с медиаустройствами, которые поддерживают работу с Bluetooth Low Energy (BLE). Если вам нужно просто обмениваться данными по Bluetooth и не нужно низкое энергопотребление, используйте Bluetooth HC-05 (Troyka-модуль).

Видеообзор

Подключение и настройка

Bluetooth Low Energy (BLE) общается с управляющей электроникой по интерфейсу UART.

Синезуб может работать в двух режимах:

  • Slave — модуль ожидает подключение от другого Bluetooth-устройства. Например, от телефона или такого же BLE-модуля.
  • Master — модуль сам инициирует подключение к другим устройствам.

Рассмотрим оба варианта подробнее.

Режим Slave «Ведомый»

Модуль ожидает сопряжение от другого Bluetooth устройства. В качестве примера рассмотрим подключение смартфона к BLE-модулю. Со стороны последовательного порта возьмём USB-UART преобразователь.

Схема устройства

Подключите BLE-модуль к USB-UART преобразователю.

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

Для начала необходимо настроить Bluetooth через AT-команды.

AT-команды служат для настройки модуля, например:

  • узнать/изменить имя устройства;
  • узнать/изменить пароль;
  • узнать MAC-адрес устройства и т.д.
  1. Запустите терминал на ПК. Например встроенный в Arduino IDE или Putty.
  2. Выставьте настройки последовательного порта:
    1. скорость: 9600 бод
    2. бит чётности: N
    3. количество бит данных: 8
    4. количество стоповых бит: 1
    5. без возврата каретки «\r»
    6. без новой строки «\n»
  3. В качестве теста отправьте на модуль команду:
    AT

    В ответ вы должны получить:

    OK

    Если ответа нет — проверьте схему, не помогло — перепрошейте модуль.

Настройка телефона с ОС Android

  1. Скачайте и установите приложение Serial Bluetooth Terminal.
  2. Запустите приложение.
  3. Зайдите в меню: Настройки Devices и нажмите кнопку SCAN.
  4. Выберите по имени интересующий BLE-модуль. По умолчанию имя модуля — HMSoft.
  5. Вернитесь в главное меню и соединитесь с выбранным девайсом — нажмите на кнопку connect
  6. При успешном сопряжении:
    1. В окне терминала телефона появится надпись Connected;
    2. В окне терминала на ПК вернётся команда AT+CONN;
    3. Светодиод PAIR будет гореть непрерывно.

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

Настройка телефона с ОС iOS

  1. Скачайте и установите приложение HM10 Bluetooth Serial Lite (если приложение не достуно для загрузки, то можете установить BLE tools with terminal).
  2. Запустите приложение.
  3. Нажмите на кнопку Connect для поиска новых Bluetooth устройств.
  4. Выберите по имени интересующий BLE-модуль и нажмите кнопку Connect. По умолчанию имя модуля — HMSoft.
  5. При успешном сопряжении:
    1. В окне терминала телефона появится надпись сопряжённого BLE-устройства;
    2. В окне терминала на ПК вернётся команда AT+CONN;
    3. Светодиод PAIR будет гореть непрерывно.

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

Передача данных

Для примера отправим из телефона сообщение Hi, Arduino!. В ответ в терминале на ПК придёт послание Hi, Arduino!.

И в обратную сторону: отправим из терминала ПК текст Hi, Smartphone!. В ответ в терминале телефона увидим сообщение Hi, Smartphone!.

Вместо USB-UART адаптера возьмите любую управляющую платформу. Например Arduino Uno или Iskra JS. Для общение используйте интерфейс UART.

Режим Master «Ведущий»

Модуль сам инициирует подключение к другим устройствам. В качестве примера возьмём два модуля Troyka BLE. Один будет ведущим, а другой ведомым. Со стороны последовательных портов возьмём два USB-UART преобразователя.

Схема устройств

Подключите каждый BLE-модуль к USB-UART преобразователю.

Настройка Slave

Настройка Master

Обновление прошивки

  1. Подключите BLE-модуль к USB-UART преобразователю.
  2. Запустите терминал на ПК. Например встроенный в Arduino IDE.
  3. Выставьте настройки последовательного порта:
    1. скорость: 9600 бод
    2. без возврата каретки «\r»
    3. без новой строки «\n»
  4. В качестве теста отправьте на модуль команду:
    AT

    В ответ вы должны получить:

    OK

    Если ответа нет — проверьте схему, не помогло — измените скорость порта на 115200 бод.

  5. Переведите модуль в режим ожидания прошивки. Для этого отправьте команду:
    AT+SBLUP

    Войдя в режим ожидания прошивки светодиод PAIR на BLE-модуле должен начать светиться тусклым светом.

  6. Запустите программу HMSoft.exe.
  7. В окне программы
    • 1. Выберите путь к файлу прошивки .bin;
    • 2. Введите номер COM-порта к которому подсоединен USB-UART преобразователь;
    • 3. Нажмите кнопку Load Image.
  8. Появившееся после загрузки диалоговое окно сообщает об успешной прошивке модуля

Список AT-команд

Тестовая команда проверка связи.

Команда Ответ Параметры
AT OK Нет

Запросить/установить имя модуля.

Команда Ответ Параметры
AT+NAME? AT+NAME[P1] P1: имя модуля
AT+NAME OK+SET[P1]

Запросить/установить пароль модуля.

Команда Ответ Параметры
AT+PASS? AT+PASS[P1] P1: пароль модуля
AT+PASS OK+SET[P1]

Запросить версию прошивки модуля.

Команда Ответ Параметры
AT+VERR? HMSoft [P1] P1: версия прошивки

Перечень AT-команд

Элементы платы

Мозг модуля

Troyka BLE основан на модуле HM-10 с чипом CC2541 от компании Texas Instruments.

Чип CC2541

Чип CC2541 выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле).

Модуль HM-10

Светодиодная индикация

Имя светодиода Назначение
RX и TX Мигают при обмене данными между BLE модулем и управляющим устройством.
PAIR Горит, если модуль сопряжён с другим устройством;
Мигает — нет сопряжения;

Troyka-контакты

На Bluetooth модуле выведено две пары Troyka-контактов.

Нижняя группа

  • Питание (V) — соедините с рабочим напряжением микроконтроллера.
  • Земля (G) — Соедините с пином GND микроконтроллера.
  • Сигнальный (TX) — цифровой выход BLE-модуля. Используется для передачи данных из Bluetooth в микроконтроллер. Подключите к пину RX микроконтроллера.

Верхняя группа

  • Сигнальный (RX) — цифровой вход BLE-модуля. Используется для приёма данных из микроконтроллера в Bluetooth. Подключите к пину TX микроконтроллера.
  • Сигнальный (K) — пин управления BLE-модулем. Подключите к сигнальному пину микроконтроллера.

Регулятор напряжения

Понижающий регулятор напряжения TPS73033 с выходом 3,3 вольта, обеспечивает питание Bluetooth-модуля. Максимальный выходной ток составляет 200 мА.

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

В нашем случае это может быть управляющая плата Arduino с 5 вольтовой логикой и BLE-модуль с 3,3 вольтовой логикой.

Принципиальная и монтажная схемы

Характеристики

  • Модуль: HM-10 с чипом CC2541
  • Версия Bluetooth: 4.0
  • Рабочая частота: 2.4 ГГц ISM
  • RF мощность: -23 dbm, -6 dbm, 0 dbm, 6 dbm
  • Радиус действия: до 10 метров
  • Выходной интерфейс: UART
  • Настройки по умолчанию:
    • имя: HMSoft
    • пароль: 000000
    • скорость: 9600 бод
    • бит чётности: N
    • количество бит данных: 8
    • количество стоповых бит: 1
    • без возврата каретки «\r»
    • без новой строки «\n»
  • Напряжение питания: 3,3–5 В
  • Потребляемый ток:
    • в активном режиме: до 10 мА
    • в спящем режиме: до 200 мкА
  • Габариты: 25,4×25,4 мм

Ресурсы