Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Беспроводная связь — основа современной электроники. Модуль HM-10 на базе чипа TI CC2540/CC2541 (Bluetooth Low Energy 4.0/4.2) — популярный, дешевый и хорошо документированный выбор для IoT, носимых устройств, телеметрии, управления через смартфон.

1. Распиновка HM-10 (34 вывода, stamp-корпус)

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Распиновка модуля HM-10

Для базовой работы UART достаточно 4 выводов: VCC, GND, TX, RX. Полная таблица:

№ИмяФункция
1UART_TXUART TX (выход модуля → RX МК)
2UART_RXUART RX (вход модуля ← TX МК)
3UART_CTSUART CTS (готовность к приему)
4UART_RTSUART RTS (запрос на передачу)
5-10NCНе подключены
11RESETСброс (активный низкий, >100 мс)
12VCCПитание 2,0–3,6 В (ном. 3,3 В)
13-14GNDЗемля
15USB_D-USB D- (внутренний PHY)
16-19NCНе подключены
20USB_D+USB D+
21-22GNDЗемля
23PIO0Системная кнопка (Key)
24PIO1Системный LED
25-34PIO2-11Программируемые GPIO (10 линий)

Две версии: HM-10C (компактная, без USB) и HM-10S (с USB-интерфейсом). Чип: CC2541 (256 КБ Flash, 8 КБ RAM) или CC2540 (128 КБ Flash).

2. Ключевые характеристики HM-10

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Компактный HM-10 модуль на базовой плате

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

HC-08 — альтернативный BLE модуль

3. Где применяют HM-10

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Медицинский пульсоксиметр с BLE модулем

4. Практическое подключение к Arduino

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

4.2 Схема подключения

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Схема подключения HM-10 к Arduino Uno

Важно: HM-10 работает от 3,3 В. Arduino Uno — 5 В логика. TX Arduino (5 В) → делитель 1к/470Ом → RX HM-10 (3,3 В). TX HM-10 (3,3 В) → RX Arduino (читает 3,3 В как HIGH — ок). VCC HM-10 к 3,3 В Arduino (не к 5 В!).

HM-10Arduino Uno
TXD2 (SoftwareSerial RX)
RXD3 (SoftwareSerial TX) через делитель 1к/470Ом
GNDGND
VCC3.3V

4.3 Настройка через AT-команды

  1. Подключите Arduino к ПК, откройте Serial Monitor (9600 бод, NL & CR).
  2. Отправьте AT → ответ OK.
  3. Проверьте имя: AT+NAME? → OK+NAME:HMSoft.
  4. Смените имя: AT+NAMEMyDevice.
  5. Смена бодрейта: AT+BAUD4 (9600), AT+BAUD8 (115200).
  6. Режим: AT+ROLE0 (Slave/Peripheral), AT+ROLE1 (Master/Central).
  7. Пароль: AT+PASS123456 (6 цифр).
  8. Сохранение: настройки хранятся во Flash.

4.4 Связь двух HM-10 (Master ↔ Slave)

  1. Оба в Slave: AT+ROLE0.
  2. На Master: AT+ROLE1.
  3. Узнайте MAC Slave: AT+ADDR? → напр. OK+ADDR:20C38FF61DA1.
  4. На Master: AT+CON20C38FF61DA1 — подключение.
  5. После коннекта: прозрачный UART туннель (все, что пришло в UART Master — уходит в UART Slave и наоборот).

4.5 Пример кода Arduino (управление встроенным LED через BLE)

#include <SoftwareSerial.h>
SoftwareSerial HM10(2, 3); // RX=2, TX=3
char appData;
String inData = "";
void setup() {
  Serial.begin(9600);
  Serial.println("HM10 serial started at 9600");
  HM10.begin(9600);
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
}
void loop() {
  HM10.listen();
  while (HM10.available() > 0) {
    appData = HM10.read();
    inData = String(appData);
    Serial.write(appData);
  }
  if (Serial.available()) {
    delay(10);
    HM10.write(Serial.read());
  }
  if (inData == "F") { // OFF
    Serial.println("LED OFF");
    digitalWrite(13, LOW);
    delay(500);
  }
  if (inData == "N") { // ON
    Serial.println("LED ON");
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
  }
}

4.6 Работа с Android (BLE Scanner)

  1. Установите BLE Scanner (например, com.macdom.ble.blescanner).
  2. Разрешите Bluetooth и Геолокацию (Android 6+ требует Location для BLE скана).
  3. Скан → найдите устройство MLT-BT05 (или ваше кастомное имя).
  4. Пароль: 123456789 (заводской) или ваш AT+PASS.
  5. Подключитесь → Custom Service → характеристика с свойством Write (W).
  6. Отправьте 1 (вкл) / 0 (выкл) → управляет LED на Arduino.
Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Запрос разрешений BLE Scanner

Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

Arduino Uno с подключенным HM-10

5. HM-10 vs HC-05 (Bluetooth 2.0/2.1) vs HC-06

ПараметрHM-10 (BLE 4.0/4.2)HC-05/06 (Classic BT 2.0/2.1)
ПротоколBLE (GATT, ATT)SPP (Serial Port Profile)
Потребление (сон)~1–5 мкАне поддерживает сон
Потребление (актив)8–15 мА30–50 мА
Скорость (воздух)1 Мбит/с (2 Мбит/с в 4.2)2–3 Мбит/с (EDR)
Дальностьдо 100 мдо 10–20 м
Связь с iOSНативно (CoreBluetooth)Требует MFi сертификацию
AndroidНативно (BLE API)Нативно (SPP)
AT-командыРасширенный наборБазовый набор
Цена$2–5$3–6
Модуль HM-10 (BLE 4.0): полное техническое руководство, AT-команды, подключение к Arduino

HC-05 — классический Bluetooth SPP модуль

Вывод: HM-10 выигрывает для IoT, носимых, батарейных устройств, работы с iOS без MFi. HC-05/06 — для простой прозрачной UART-связи с Android/PC, где не важна энергия.

6. Типичные проблемы и решения

7. Заключение

HM-10 — де-факто стандарт для BLE 4.0 в хоббийных и малых коммерческих проектах. Простая UART-интеграция, AT-команды, низкая цена, нативная поддержка iOS/Android. Ключевые моменты: 3,3 В логика, проверка оригинальности (32 кГц кварц), правильный делитель уровней от 5 В МК. Для новых проектов рассмотрите также ESP32 (Wi-Fi + BLE 5.0, мощнее, то же цена) или nRF52840 (BLE 5.2, Thread, Zigbee, профессиональный SDK).

Нужна помощь с интеграцией HM-10, прошивкой или разработкой BLE-устройства? Обращайтесь — проектируем схемы, платы и ПО под ключ.

Промышленные технологии

  1. Язык программирования C: обзор, история и области применения
  2. C#: обзор современного объектно-ориентированного языка от Microsoft
  3. Раскрытие UID: трехчастная серия об истории, мандате и будущем
  4. Освойте Fishbowl Manufacturing: основные горячие клавиши модуля производственного наряда
  5. Модуль BOM Fishbowl: основные горячие клавиши для быстрого производства
  6. Группа модулей Производство: управление спецификациями и заказами
  7. Подробное руководство по станкам ЧПУ плазменной резки: особенности, преимущества и применение
  8. Высокоскоростные станки: ключевые особенности и влияние на промышленность
  9. Мастерство шлифования резиновых валков: профессиональное руководство к высокому качеству поверхности
  10. Прямоточные водяные насосы (DC): полное руководство для дома и промышленности