Модуль MLT-BT05 Bluetooth Low Energy (BLE) — клон HM-10

Модуль MLT-BT05 (CC2541) Bluetooth Low Energy (BLE) - клон HM-10MLT-BT05 — это Bluetooth 4.0 (Bluetooth low energy) модуль на базе чипа CC2541 от TI. Он представляет собой клон популярного «HM-10» или, что также возможно, «CC41-А», который, в свою очередь, — клон «HM-10». Но в отличие от «CC41-A», «MLT-BT05» не является хорошим клоном, у него урезанный функционал и при работе с ним могут возникнуть проблемы, особенно при попытках подключения с мобильных телефонов.

MLT-BT05 (HM-10) - CC2541

Не смотря на проблемы, MLT-BT05 может обеспечить простую последовательную связь, модуль поддерживает стандартные AT-команды и удобен в проектах Arduino.
Модуль MLT-BT05 Bluetooth Low Energy (BLE) - вид снизу

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

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - вид сверху

  • Рабочая частота: 2.4ГГц ISM;
  • Модуляция: GFSK;
  • RF мощность: -23dbm, -6dbm, 0dbm, 6dbm;
  • Напряжение питания: от 3.6 до 6В;
  • Логика (RXD, TXD): 3.3В, НЕ ЯВЛЯЮТСЯ 5 ВОЛЬТ ТОЛЕРАНТНЫМИ;
  • Потребление в режиме передачи данных: 50мА;
  • Дальность действия: до 100м;
  • Рабочая температура: от -40 до +85 °C;

Распиновка адаптера ZS-040

Адаптер ZS-040 упрощающий подключение основного модуля к различным микроконтроллерам типа Arduino, Raspberry PI и так далее, содержит в себе стабилизатор напряжения на 3.3В, защиту от переполюсовки и в некоторых случаях кнопку.

Модуль MLT-BT05 Bluetooth Low Energy - Распиновка ZS-040

  • STATE: — индикатор состояния (1 — если есть соединение с другими устройствами, 0 — если соединение отсутствует);
  • RXD: — принимающая линия;
  • TXD: — передающая линия;
  • GND: — земля;
  • VCC: — питание +5В (от 3.6 до 6В);
  • EN: — включение/выключение модуля;

Схема MLT-BT05 и Распиновка CC2541

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - клон HM-10 - Схема

Номер контакта Имя контакта Описание контакта
1 UART_TX Выход последовательных данных
2 UART_RX Вход последовательных данных
3 UART_CTS Разрешение отправки
4 UART_RTS Запрос на отправку
5 NC Не подключён
6 NC Не подключён
7 P2_2 Отладочный тактовый пин
8 P2_1 Отладочный пин данных
9 P2_0 Программируемый пин вход/выход
10 NC Не подключён
11 RESETB Сброс низкого уровня, не менее 5 мс
12 VCC Электропитание 3.3 В
13 GND Общий
14 GND Общий
15 SDA
16 NC Не подключён
17 NC Не подключён
18 NC Не подключён
19 NC Не подключён
20 SDL
21 GND Общий
22 GND Общий
23 P1_3 Пин режимов сна и пробуждения, спадающий фронт — пробуждение
24 P1_2 Мигающий светодиод Master-Slave
25 P1_1 Порт индикации прерывания хоста, низкий уровень — холостой ход, высокий — соединение
26 P1_0
27 P0_7
28 P0_6 Порт настройки режимов Master/Slave
29 P0_5
30 P0_4
31 P0_3 Программируемый вход/выход IO4
32 P0_2 Программируемый вход/выход IO3
33 P0_1 Программируемый вход/выход IO2
34 P0_0 Программируемый вход/выход IO1

AT команды

Синтаксис команды AT

MLT-BT05, как и HM-10 (и CC41-A), ожидает символы новой строки и перевода каретки (CR-NL) в конце команд. Однако есть тонкая разница. «MLT-BT05» ожидает, что символы CR и NL будут отправлены одновременно с командой без каких-либо задержек, в то время как HM-10 и CC41-A будет работать, даже если между командой и CR-NL будет небольшая задержка.

Модуль MLT-BT05 не нуждается в «?» в конце команд при запросе на текущее значение, в отличии от HM-10.

Примечание:

  1. команда не должна содержать пробелы;
  2. надо указать в конце команды символы новой строки и перевода каретки NL&CR (\r\n). В противном случае команда не будет выполнена;
    1. В Arduino — это Both NL & CR;
      Модуль MLT-BT05 (BLE) - Arduino (Both NL & CR)
    2. В Terminal v1.9b — это CR=CR+LF и +CR.
      Модуль MLT-BT05 (BLE) - Terminal v1.9b (CR+LF)

Список всех AT команд

Чтобы получить список всех AT команд нужно набрать команду AT+HELP.
Модуль MLT-BT05 Bluetooth Low Energy (BLE) - клон HM-10 - AT+HELP (Список всех AT команд)

*******************************************************************
* Command             Description                       
*----------------------------------------------------------------
* AT                  Check if the command terminal work normally 
* AT+DEFAULT          Restore factory default               
* AT+BAUD             Get/Set baud rate                   
* AT+RESET            Software reboot                   
* AT+ROLE             Get/Set current role.                       
* AT+DISC             Disconnect connection                       
* AT+ADVEN            Broadcast switch                     
* AT+ADVI             Broadcast interval                   
* AT+NINTERVAL        Connection interval                         
* AT+POWE             Get/Set RF transmit power            
* AT+NAME             Get/Set local device name                   
* AT+LADDR            Get local bluetooth address           
* AT+VERSION          Get firmware, bluetooth, HCI and LMP version
* AT+TYPE             Binding and pairing settings           
* AT+PIN              Get/Set pin code for pairing                
* AT+UUID             Get/Set system SERVER_UUID .                   
* AT+CHAR             Get/Set system CHAR_UUID .                   
* AT+INQ              Search from device                   
* AT+RSLV             Read the scan list MAC address           
* AT+CONN             Connected scan list device           
* AT+CONA             Connection specified MAC                   
* AT+BAND             Binding from device                   
* AT+CLRBAND          Cancel binding                       
* AT+GETDCN           Number of scanned list devices           
* AT+SLEEP            Sleep mode                            
* AT+HELP             List all the commands                   
* --------------------------------------------------------------- 
******************************************************************

Подробное описание AT команд

Команда без параметров Команда с параметрами Параметры Описание
AT Проверяет, нормально ли работает командный терминал
AT+DEFAULT Восстановление заводских настроек
AT+BAUD AT+BAUD<Param> 8 – 115200
7 – 57600
6 – 38400
5 – 19200
4 – 9600
3 – 4800
2 – 2400
1 – 9600
0 – 9600
По умолчанию – 0
Получить/Установить скорость передачи данных
AT+RESET Перезагрузка программного обеспечения
AT+ROLE AT+ROLE<Param> 1 – ведущий
0 – ведомый
Получить/Установить текущую роль
AT+DISC Отсоединить
AT+ADVEN AT+ADVEN<Param> 1 – включить
0 – выключить
По умолчанию – 0
Широковещательный коммутатор
AT+ADVI AT+ADVI<Param> 6 – 8000 мс
5 – 4000 мс
4 – 2000 мс
3 – 1000 мс
2 – 750 мс
1 – 500 мс
0 – 100 мс
По умолчанию – 0
Интервал вещания
AT+NINTERVAL AT+NINTERVAL<Param> 5 – ? мс
4 – ? мс
3 – ? мс
2 – ? мс
1 – ? мс
0 – ? мс
По умолчанию – 0
Интервал подключения
AT+POWE AT+POWE<Param> 3 – -23 дБм
2 – -6 дБм
1 – 0 дБм
0 – 6 дБм
По умолчанию – 2
Получить/Установить мощность сигнала передатчика
AT+NAME AT+NAME<Param> Имя Получить/Установить имя локального устройства
AT+LADDR Получить локальный адрес Bluetooth
AT+VERSION Получить версию прошивки, Bluetooth, HCI и LMP
AT+TYPE AT+TYPE<Param> 3 – ?
2 – спаривание и привязка паролей
1 – спаривание паролей
0 – нет пароля
По умолчанию – 0
Настройки привязки и сопряжения
AT+PIN AT+PIN<Param> 6-байтовый пароль сопряжения
По умолчанию – «123456»
Получить/Установить пин-код для сопряжения
AT+UUID AT+UUID<Param> От: 0x0001
До: 0xFFFE
По умолчанию – 0xFFE0
Получить/Установить SERVER_UUID  системы
AT+CHAR AT+CHAR<Param> От: 0x0001
До: 0xFFFE
По умолчанию – 0xFFE1
Получить/Установить CHAR_UUID системы
AT+INQ Поиск с устройств
AT+RSLV<Param> От: 1
До: 8
Прочитать MAC-адрес списка сканирования
AT+CONN AT+CONN<Param> От: 1
До: 8
Подключенные устройства списка сканирования
AT+CONA AT+CONA<Param> MAC-адрес Подключиться к указанному MAC-адресу
AT+BAND<Param> От: 1
До: 8
Связывание с устройства
AT+CLRBAND От: 1
До: 8
Отмена привязки
AT+GETDCN Количество устройств отсканированного списка
AT+GETSTAT Возвращает 0 – если нет подключённых устройств и 1 в противном случае
AT+SLEEP Режим сна
AT+HELP Список всех команд

Настройка связи между двумя MLT-BT05

Подключать модуль к компьютеру можно через последовательный порт, в моём случае используется преобразователь USB-UART CP2102, потому что на линии Tx используется логика 3.3 В, этим может похвастаться и преобразователь на базе PL2303HX, а вот CH340G — нет.

Скорость передачи данных для последовательного порта по умолчанию составляет 9600 бит/с.

  1. Настройка ведущего:
    AT+ROLE1
    AT+TYPE0
    AT+PIN123456
    AT+NAMEMLT-BT05-MASTER
    AT+RESET
  2. Настройка ведомого:
    AT+ROLE0
    AT+TYPE0
    AT+PIN123456
    AT+NAMEMLT-BT05-SLAVE
    AT+RESET
  3. Поиск ведомого:
    AT+INQ

Результат

Ведущий:
Настройка связи между двумя MLT-BT05 (master)

Ведомый:
Настройка связи между двумя MLT-BT05 (slave)

Выводы

Во время испытаний выяснилось следующее:

  1. Нет возможности подключаться кроме как без использования PIN кода (TYPE0);
  2. Ведущее устройство не всегда находит ведомое устройство, проблема решается командой AT+RESET;
  3. В системе Android устройство находится, но нельзя привязаться.

Материалы

MLT BT05 AT commands (EN)
BLE-CC41-A_AT Command (EN) pdf
BLE-CC41-A Specification (EN) pdf
Low-Power Sub-1 GHz RF Transceiver datasheet (Rev. I)
HM-10 datasheet.pdf
MLT BT05 BLE module — a clone of a clone?? | Arik Yavilevich

Купить MLT-BT05 / HM-10 на AliExpress

Похожие записи

Комментарии 24

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

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