Данный модуль не совместим со скетчами, написанными для работы с HC-05 или HC-06.
Контактная группа модуля:
- STATE – статус подключения: на выходе НИЗКИЙ уровень, если модуль не подключен, и ВЫСОКИЙ, если подключен;
- VCC – питание, +3,6—6 В;
- GND – «земля», общий провод;
- TXD – канал передачи данных;
- RXD – канал приема данных;
- EN – break pin, при наличии активного подключения подача на этот контакт НИЗКОГО уровня приведет к разрыву подключения.
Пример подключения:
Конфигурация модуля по последовательному интерфейсу
Узнать текущие установки и изменить их можно с помощью AT-команд.
Скорость обмена данными по умолчанию – 9 600 бод. В конце каждой сроки с командой должны быть символы переноса строки и возврата каретки: «CR+LF» или «NL&CR». Команды следует вводить в верхнем регистре. Для проверки соединения можно отправить команду AT, и, если связь налажена верно, в качестве ответа модуль должен вернуть OK.
При работе с некоторыми AT-командами предусморена возможность вводить необходимые для настройки параметры. В таких случаях параметр вводится сразу после команды без пробела. Например, чтобы задать модулю имя MY_HM10, следует ввести команду AT+NAMEMY_HM10. Если подобную команду ввести без параметра, то модуль вернет текущее значение.
Список всех AT-команд доступен по команде AT+HELP. Ниже приведен список из некоторых AT-команд.
- AT – проверка подключения;
- AT+RESET – перезагрузка;
- AT+VERSION – узнать версию прошивки;
- AT+HELP – вывести список доступных AT-команд;
- AT+NAME – узнать/задать локальное имя устройства;
- AT+PIN – узнать текущий пароль для установки соединения или задать новый;
- AT+BAUD – узнать/задать скорость обмена данными по последовательному интерфейсу;
- AT+LADDR – узнать локальный адрес bluetooth-устройства;
- AT+ADDR – узнать локальный адрес bluetooth-устройства;
- AT+DEFAULT – восстановить исходные настройки по умолчанию;
- AT+RENEW – восстановить исходные настройки по умолчанию;
- AT+STATE – узнать текущее состояние модуля;
- AT+PWRM – узнать/задать текущий режим питания;
- AT+POWE – узнать/задать значение RF мощности;
- AT+SLEEP – режим сна;
- AT+ROLE – узнать/задать текущую роль (ведущий/ведомый);
- AT+PARI? – узнать текущие параметры бита четности для передачи данных по UART;
- AT+PARI – задать параметры бита четности для передачи данных по UART;
- AT+STOP – узнать/задать параметры стоп-бита для передачи данных по UART;
- AT+INQ – поиск ведомого.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
// Пример работы с HM-10 #include <AltSoftSerial.h> #include <SoftwareSerial.h> uint8_t TX = 9; // Указываем порт, к которому подключен вывод TX модуля BLE uint8_t RX = 8; // Указываем порт, к которому подключен вывод RX модуля BLE int led = 13; SoftwareSerial BT(TX, RX); AltSoftSerial altser; const int mybaud = 9600; // Скорость обмена данными с модулем byte sentbyte; unsigned long prevmillis; byte testbyte=0xF0; void setup() { delay(200); Serial.begin(9600); while (!Serial) ; BT.begin(mybaud); altser.begin(mybaud); Serial.println("AltSoftSerial Receive Test"); prevmillis = millis(); pinMode(LED_BUILTIN, OUTPUT); } void loop() { if (millis() - prevmillis > 250) { sentbyte = testbyte++; BT.write(sentbyte); prevmillis = millis(); } if (altser.available() > 0) { byte b = altser.read(); Serial.println(b); if (b == 0x0) digitalWrite(LED_BUILTIN, LOW); else if (b == 0x01) digitalWrite(LED_BUILTIN, HIGH); } } |
Клиент для Android – LightBlue Explorer
Библиотека AltSoftSerial
Документация