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-адрес устройства и т.д.
- Запустите терминал на ПК. Например встроенный в Arduino IDE или Putty.
- Выставьте настройки последовательного порта:
- скорость: 9600 бод
- бит чётности: N
- количество бит данных: 8
- количество стоповых бит: 1
- без возврата каретки «\r»
- без новой строки «\n»
- В качестве теста отправьте на модуль команду:
AT
В ответ вы должны получить:
OK
Если ответа нет — проверьте схему, не помогло — перепрошейте модуль.
Базовые AT-команды читайте в описании на вики, а полный список — в документации на модуль HM-10.
Настройка телефона с ОС Android
- Скачайте и установите приложение Serial Bluetooth Terminal.
- Запустите приложение.
- Зайдите в меню:и нажмите кнопку
SCAN
. - Выберите по имени интересующий BLE-модуль. По умолчанию имя модуля — HMSoft.
- Вернитесь в главное меню и соединитесь с выбранным девайсом — нажмите на кнопку
connect
- При успешном сопряжении:
- В окне терминала телефона появится надпись
Connected
; - В окне терминала на ПК вернётся команда
AT+CONN
; - Светодиод
PAIR
будет гореть непрерывно.
Это значит всё получилось и можно передавать данные в обоих направлениях.
Настройка телефона с ОС iOS
- Скачайте и установите приложение HM10 Bluetooth Serial Lite (если приложение не достуно для загрузки, то можете установить BLE tools with terminal).
- Запустите приложение.
- Нажмите на кнопку
Connect
для поиска новых Bluetooth устройств. - Выберите по имени интересующий BLE-модуль и нажмите кнопку
Connect
. По умолчанию имя модуля — HMSoft. - При успешном сопряжении:
- В окне терминала телефона появится надпись сопряжённого BLE-устройства;
- В окне терминала на ПК вернётся команда
AT+CONN
; - Светодиод
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
Обновление прошивки
- Подключите BLE-модуль к USB-UART преобразователю.
- Запустите терминал на ПК. Например встроенный в Arduino IDE.
- Выставьте настройки последовательного порта:
- скорость: 9600 бод
- без возврата каретки «\r»
- без новой строки «\n»
- В качестве теста отправьте на модуль команду:
AT
В ответ вы должны получить:
OK
Если ответа нет — проверьте схему, не помогло — измените скорость порта на 115200 бод.
- Переведите модуль в режим ожидания прошивки. Для этого отправьте команду:
AT+SBLUP
Войдя в режим ожидания прошивки светодиод PAIR на BLE-модуле должен начать светиться тусклым светом.
- Скачайте прошивку для BLE-модуля.
- Запустите программу HMSoft.exe.
- В окне программы
- 1. Выберите путь к файлу прошивки
.bin
; - 2. Введите номер COM-порта к которому подсоединен USB-UART преобразователь;
- 3. Нажмите кнопку
Load Image
.
- Появившееся после загрузки диалоговое окно сообщает об успешной прошивке модуля
Список 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: версия прошивки |
Элементы платы
Мозг модуля
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 мм