Цена:
Модуль беспроводной передачи HC-08, Bluetooth 4.0 BLE
HC-08 - модуль передачи данных нового поколения, основанный на протоколе Bluetooth спецификации Bluetooth V4.0 с технологией BLE (Bluetooth Low Energy - ультранизкое энергопотребление). Диапазон рабочих частот HC-08 составляет 2.4-2.48ГГц ISM, используемый метод модуляции — GFSK (Gaussian Frequency-Shift Keying - сглаживание частотных перестроек фильтром Гаусса при изменении значения информационного символа). Уникальность технологии BLE заключается в максимальной экономии энергопотребления, при которой HC-08 самостоятельно регулирует нужное ему питание в процессах установления связи или при передаче/приёме данных. Находясь в состоянии ожидания, модуль HC-08 снижает питание до минимального, и увеличивает до рабочего номинала во время активных сеансах связи.
Модуль конструктивно собран из двух электронный компонентов: базовой платы HC-08 BLE 4.0 c установленным Bluetooth-чипом CC2540 и платы-адаптера, обеспечивающей снижение и стабилизацию входящего напряжения в диапазоне 3.6-6 вольт до рабочего 3.3 вольта. Плата-адаптер оснащена светодиодным индикатором, отображающим активные режимы: ведущий / ведомый, состояние связи и активность передачи данных.
Техническая документация микросхемы CC2540.
Варианты подключения
Контакты модуля HC-08
Модуль HC-08 имеет 30 контактов, соединённых с платой-адаптером. Нумерация выводов базовой платы:
Определения выводов базовой платы представлены в следующей таблице:
Контакт | Обозначение | Ввод/вывод | Назначение |
1 | TXD | вывод | выход UART 3.3В TTL |
2 | RXD | ввод | вход UART 3.3В TTL |
3 | - | - | не используется |
4 | - | - | не используется |
5 | - | - | не используется |
6 | DC | ввод | линия синхронизации Debug clock, не используется |
7 | DD | ввод/вывод | линия данных Debug data, не используется |
8 | PIO20 | ввод | не используется |
9 | PIO17 | ввод | не используется |
10 | PIO16 | ввод | не используется |
11 | RST | ввод | низкоуровневый сброс, не менее 10мс, не используется |
12 | VCC | ввод | питание 3.3 В, постоянное напряжение |
13 | GND | - | заземление, общий |
14 | LEDCON | ввод | заземление, общий |
15 | PIO14 | ввод | не используется |
16 | PIO13 | вывод | светодиодная индикация: в режиме Ведущий - горит 100мс в течение каждой секунды до получения адреса сопряжаемого ведомого модуля; - горит 900мс в течение каждой секунды после получения адреса сопряжаемого ведомого модуля в режиме Ведомый - горит 1 секунду каждые 2 секунды После соединения горит постоянно |
17 | PIO11 | ввод | не используется |
18 | PIO12 | ввод | не используется |
19 | PIO10 | ввод | не используется |
20 | PIO07 | ввод | не используется |
21 | USB_D- | - | не используется |
22 | USB_D+ | - | не используется |
23 | PIO06 | ввод | не используется |
24 | PIO01 | ввод | не используется |
25 | PIO15 | ввод | не используется |
26 | PIO00 | ввод | не используется |
27 | VCC | ввод | питание 3.3 В, постоянное напряжение, не используется |
28 | GND | - | заземление, общий, не используется |
29 | RXD | ввод | вход UART 3.3В TTL, не используется |
30 | TXD | вывод | выход UART 3.3В TTL, не используется |
Доступ к редактированию настроек HC-08
Ручной режим редактирования настроек осуществляется через утилиту мониторинга последовательного порта. Такой инструмент присутствует в редакторе Arduino IDE. Альтернативным вариантов может быть аналогичного по функционалу программное обеспечение. Например, терминал Termite от CompuPhase.
Arduino IDE:
Для подключения к вашему ПК воспользуйтесь любым USB-UART TTL адаптером. Если потребуется, установите соответствующий драйвер для адаптера. Соедините модуль HC-08 с адаптером проводным соединением с соблюдением соответствующих обозначений выводов:
Адаптер | Модуль HC-08 | |
+5V | -> | VCC |
GND | -> | GND |
RXD | -> | TXD |
TXD | -> | RXD |
Подключите адаптер в гнездо USB-разъёма. Откройте редактор, в настройках "Инструменты" укажите порт, созданный системой для адаптера (COM2,3...). Более ничего менять не нужно. Далее, в том же разделе выберите "Монитор порта". В открывшемся окне появиться возможность вносить команды.
Если под рукой не оказалось такого адаптера, а есть микроконтроллерная плата Arduio Uno, можно получить доступ к управлению настройками модуля HC-08 и через неё.
Подключите проводным соединением Arduino Uno и модуль беспроводной передачи HC-08 Bluetooth BLE 4.0 по простой схеме:
Соедините Arduino Uno с вашим ПК с помощью USB-кабеля и запустите Arduino IDE. В настройках редактора "Инструменты" выберите тип используемой платы "Arduino/Genuino Uno" и укажите номер виртуального COM-порта, созданного системой для подключенной микроконтроллерной платы.
Скопируйте нижеприведённый скетч в редактор и прошейте его в микроконтроллер. Скетч позволяет организовать на Arduino Uno второй программный порт последовательного соединения и совершать сквозной обмен данными под двум шинам UART, передавая входящую и исходящую информацию между окном "Монитора последовательного порта" и модулем Bluetooth HC-08.
#include <SoftwareSerial.h>
#define bRX_Pin 2 // Подключаем контакт TXD Bluetooth к выводу 2
#define bTX_Pin 3 // Подключаем контакт RXD Bluetooth к выводу 3
SoftwareSerial mySerial(bRX_Pin, bTX_Pin); // Инициализируем новый последовательный порт
void setup() {
mySerial.begin(9600); // Устанавливаем скорость последовательной связи Bluetooth модуля
Serial.begin(9600); // Устанавливаем скорость основной последовательной связи
}
void loop() {
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
Откройте "Монитор порта" выбором пункта из меню "Инструменты" или нажатием на соответствующую иконку в редакторе. В верхней части раскрывшего окна можно вводить текстовые команды, в нижней — получать ответы модуля HC-08. Введите в строку запроса команду "AT+RX" (без кавычек) и нажмите кнопку "Отправить" (Enter на клавиатуре). Если все проделано верно, ответ должен быть примерно таким:
Управление HC-08 с помощью АТ команд
Настройка модуля производится передачей в HC-08 по шине UART простых текстовых AT команд. Любые изменения в параметрах допускается выполнять только до момента установления сеанса связи с другими Bluetooth-устройствами. В течение активного сеанса связи и до его окончания, модуль входит в режим прозрачной передачи, при этом последовательный порт становиться недоступным для приёма АТ команд. Вносимые в настройки модуля изменения начинают действовать моментально. В отключенном от питания состоянии, все ранее выполненные настройки сохраняются в памяти HC-08.
Успешно выполненная команда возвращает через последовательный порт ответ "ОК" (за исключением команд, служащих проверкой технической информации модуля. Например, "AT+RX" или "AT+VERSION"). Неверная команда или команда, содержащая в себе ошибки, не будет принята модулем, ответ на такую команду не последует.
Примечание. Перед отправкой АТ команд через монитор последовательного порта, следует установить в настройках окна параметр ввода "Нет конца строки" и отключить функции "новая линия" (NL или LF) и "возврат каретки" (CR).
Синтаксис | Описание команды | Значение по умолчанию |
Доступность в режимах: ведущий (M) / ведомый (S) |
|
1 | AT | Тестовая команда | - | M/S |
2 | AT+RX | Проверка основных параметров | - | M/S |
3 | AT+DEFAULT | Возврат к заводским настройкам (по умолчанию) | - | M/S |
4 | AT+RESET | Сброс, перезапуск | - | M/S |
5 | AT+VERSION | Проверка версии и даты | - | M/S |
6 | AT+ROLE=x | Выбор роли ведущий / ведомый. Значения x: M, S |
S | M/S |
7 | AT+NAME=xxxxxxxxxxxx | Изменение имени Bluetooth | HC-08 | M/S |
8 | AT+ADDR=xxxxxxxxxxxx | Изменение адреса Bluetooth | MAC-адрес | M/S |
9 | AT+RFPM=x | Мощность сигнала передачи. Значение x: 0,1,2,3 |
0 (4дБм) | M/S |
10 | AT+BAUD=x,y | Параметры последовательной передачи. Значение x: 1200-115200. Значение y: N, E, O |
9600, N | M/S |
11 | AT+CONT=x | Ограничение связи. Значение x: 0, 1 |
0 | M/S |
12 | AT+MODE=x | Режим энергопотребления. Значение x: 0,1,2,3 |
0 | S |
13 | AT+AVDA=xxxxxxxxxxxx | Широковещательные данные (режим 3) | - | S |
14 | AT+TIME=x | Цикличность вещания (режим 3) | 5 (сек) | S |
15 | AT+CLEAR | Очистка адреса bluetooth | - | M |
Подробное описание некоторых АТ команд HC-08
1. Тестовая команда
Команда: AT
Ответ: OK
2. Проверка основных параметров.
Отображает информацию об основных параметрах, таких как имя, роль, скорость, адрес, пароль.
Команда: AT+RX
Ответ:
Name: HC-08 (имя bluetooth)
Role: Slave (роль ведущий или ведомый)
Baud: 9600, NONE (характеристики UART)
Addr:xx,xx,xx,xx,xx,xx (адрес bluetooth)
PIN:0000000 (пароль bluetooth)
Примечание! Изменение пароля не поддерживается.
3. Возврат к заводским настройкам (по умолчанию)
Команда: AT+DEFAULT
Ответ: OK
Модуль автоматически перезапустится, восстанавливая параметры изначальных настроек. Новая команда может быть принята через 200 мсек.
4. Сброс, перезапуск
Команда: AT+RESET
Ответ: OK
Модуль автоматически перезапустится с сохранением текущих настроек. Новая команда может быть принята через 200 мсек.
5. Проверка версии и даты
Команда: AT+VERSION
Ответ: HC-08 V3.1,2017-07-07
6. Выбор роли ведущий / ведомый
Команда: AT+ROLE=x (M - ведущий, S - ведомый)
Ответ: OK
Команда: AT+ROLE=? (запрос текущего значения)
Ответ: Master или Slave
7. Изменение имени Bluetooth
Имя модуля по умолчанию - HC-08. Вы можете задать любое другое имя для Bluetooth. Рекомендуется не превышать длину более 12 символов. Если она окажется длиннее, принятыми будут только первые 12 символов. Поддерживается визуализированный код ASCII и часть escape-символов. А также, поддерживается китайский язык, но устройства на Android могут преобразовать символы в кодировку "UTF8" для их нормального отображения.
Команда: AT+NAME=HCKJ
Ответ: OKsetNAME:
Команда: AT+NAME=? (запрос текущего значения)
Ответ: HCKJ
8. Изменение адреса Bluetooth
По умолчанию, адресу Bluetooth присвоен MAC-адрес модуля. Вы можете установить любой другой адрес, состоящий максимум из 12 символов шестнадцатиричной системы счисления - цифр и/или букв в верхнем регистре (числа 0-9, заглавные латинские A,B,C,D,E,F). Назначение нового имени "000000000000" возвращает значение по умолчанию.
Команда: AT+ADDR=1234567890AB
Ответ: OKsetADDR
Команда: AT+ADDR=? (запрос текущего значения)
Ответ: 12,34,56,78,90,AB
9. Мощность сигнала передачи
Возможные параметры мощности сигнала:
Команда: AT+RFPM=2
Ответ: ОК
Команда: AT+ADDR=? (запрос текущего значения)
Ответ: -6dBm
Потребляемый ток сигнала мощностью 4 дБм более 20 мА. В случае использования миниатюрных "кнопочных" аккумуляторов (ток менее 20 мА), при необходимости их подзаряда, рекомендуется устанавливать параметр мощности в значение 2 или 3.
10. Параметры последовательной передачи
Изменение только скорости последовательной передачи
Команда: AT+BAUD=19200
Ответ: OK19200
Изменение скорости последовательной передачи и бита чётности
Команда: AT+BAUD=4800,E
Ответ: OK4800,EVEN
Команда: AT+BAUD=? (запрос текущего значения)
Ответ: 4800,EVEN
Возможные значения параметра скорости (б/с): 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200.
Возможные значения параметра бита чётности: N - без паритета, E - чётный паритет, O - нечётный паритет.
Во время прозрачной передачи между ведущим и ведомым модулями на скорости 9600 б/с или менее, каждый пакет не должен превышать максимальное число в 500 байт. Для скорости 19200 и более, максимальное число байт в пакете снижается (см. нижеприведённую таблицу). После каждого переданного пакета данных необходим определённый интервал времени, отличающийся для каждой скорости.
Скорость передачи б/с | 1200 | 2400 | 4800 | 9600 | 19200 | 38400 | 57600 | 115200 |
500 байт пакет, временной интервал (мсек) | 6800 | 3600 | 2000 | 1000 | - | - | - | - |
300 байт пакет, временной интервал (мсек) | 4200 | 2400 | 1200 | 600 | 400 | - | - | - |
100 байт пакет, временной интервал (мсек) | 1500 | 800 | 400 | 160 | 100 | 120 | - | - |
80 байт пакет, временной интервал (мсек) | 1000 | 650 | 320 | 120 | 80 | 60 | 100 | - |
60 байт пакет, временной интервал (мсек) | 800 | 500 | 250 | 100 | 60 | 60 | 60 | 100 |
20 байт пакет, временной интервал (мсек) | 200 | 100 | 50 | 20 | 20 | 20 | 20 | 20 |
Размер пакета должен быть кратным числу 20.
11. Ограничение связи
Функция может быть использована при построении систем активных маячков (iBeacon)
Команда: AT+CONT=x
Ответ: OK
Команда: AT+CONT=? (запрос текущего значения)
Ответ1: Connectable
Ответ2: Non-Connectable
Назначение параметра X:
Параметр | Ведущий (Master) | Ведомый (Slave) |
0 (по умолчанию) | Может устанавливать соединение и передавать данные ведомому модулю. После установления прозрачной передачи, модуль находится в режиме "Наблюдатель" (Observer), сканируя эфир в поисках широковещательных передатчиков. | Может устанавливать соединение и принимать данные от ведущего модуля. После установления прозрачной передачи находится в режиме "Широковещательный передатчик" (Broadcaster) |
1 | Не может устанавливать соединение с другим ведомым модулем на передачу своих данных, продолжая сканировать каждые 2 секунды наличие передаваемых пакетов от устройств широковещательной передачи данных. | Не устанавливает соединение на приём данных от ведущего модуля, оставаясь в режиме передачи собственных широковещательных данных. Допускается сочетание с режимом энергопотребления 3. |
12. Режим энергопотребления модуля
Ведущйи (Master)
В роли ведущего менять режимы энергопотребления невозможно.
Ведомый (Slave)
Команда: AT+MODE=x
Ответ: OK
Команда: AT+MODE=? (запрос текущего значения)
Ответ: 0 (1, 2, 3, в зависимости от установленного режима)
Назначение параметра X:
Для корректного пробуждения модуля, во избежании возможных потерь или искажений данных, рекомендуется передавать 10-байтовый шестнадцатиричный код "0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF".
После команды пробуждения, до установления прозрачной передачи, модуль находится в активном состоянии 5 минут, после чего возвращается в исходный режим. Если на получение данных через UART требуется больше времени, таймер модуля перезапускается еще на 5 минут.
13. Широковещательные данные (режим ведомого)
Команда: AT+AVDA=xxxxxxxxxxxx
Параметр "xxxxxxxxxxxx" - строка пользовательских данных, длинной от 1 до 12 байт. UART-порт ведущего модуля, находящегося в режиме AT+CONT=1, в момент широковещательной трансляции выведет данные "xxxxxxxxxxxx". Полученные данные сохраняются в памяти ведущего модуля до его перезапуска.
Команда: AT+AVDA=1234567890AB
Ответ: OK
В этот момент ведущий модуль выведет информацию: "12345 67890AB".
14. Цикличность вещания (режим энергопотребления 3)
Команда: AT+TIME=x
Команда: AT+TIME=? (запрос текущего значения)
Параметры X:
X | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
время/сек | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 20 | 30 | 40 | 50 | 60 |
X | G | H | I | J | K |
время/мин | 2 | 5 | 10 | 30 | 60 |
Пример:
Команда: AT+TIME=F
Ответ: OK
Устанавливает временной интервал широковещательной передачи в 60 секунд для режима энергопотребления 3. Отправка в эфир широковещательных данных будет происходить каждые 60 секунд.
Команда: AT+TIME=?
Ответ: 60s
15. Очистка адреса Bluetooth
Ведущий модуль, устанавливая соединение с ведомым модулем, получает от него адрес Bluetooth и сохраняет в своей памяти. В случае необходимости установления подключения с другим ведомым модулем, Bluetooth-адрес предыдущего требуется удалить из памяти ведущего.
Команда: AT+CLEAR
Ответ: OK
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru