Модуль bluetooth HC-07


Доброго дня всем.
На сайте имеется статья о модулях bluetooth hc-05 отличного содержания. Однако последнее время в китайских интернет-магазинах все чаще встречаются модули HC-07 весьма загадочного содержания. Информация в сети о данных модулях имеется разноречивая и не всегда достоверная.
Аналогичный модуль пришел и мне. Пришлось с ним поразбираться. Выкладываю на ваше обозрение полезную информацию о данном китайском творении.

Производитель модуля — китайская компания, именующаяся HC. Сайт производителя www.wavesen.com
Страница продукта на сайте в гугловском переводчике.
Этот модуль позизионируется как новый продукт. Функциональность, производительность и печатная плата совместимы с HC-06. Отличительная черта платы — это ее низкая цена. Микросхемы процессора и памяти объединены в одном чипе, поэтому снижено энергопотребление модуля по сравнению с HC-05/06.
Модуль может быть или только в режиме хоста, или только в режиме слейва (необходимо уточнять у продавца).
Настройки модуля по умолчанию: Slave, baud rate: 9600, N, 8,1. Passcode: 1234. Максимальный baudrate — 1382400.

Из всего приведенного выше видно, что по умолчанию скорость обмена данными модуля стоит достаточно низкая по сравнению с его максимальными возможностями. Для изменения дефолтных настроек необходимо перевести модуль в режим АТ-команд. Вот здесь-то и возникают основные трудности.
Для перевода модуля в режим АТ-команд необходим переходник USB-UART. Без этого никак. В сети полно советов, как перевести bluetooth модули в AT-mode, типа этого. Имеется еще ряд других советов. Но один их недостаток в том, что к HC-07 они не применимы.
Для перевода bluetooth HC-07 модуля в режим АТ-команд нужно включать его через переходник USB-UART.
Так случилось, что под рукой переходника не было, а была платка Arduino Nano v3.0. Хорошо, что нашел способ использовать Nano в качестве переходника USB-UART. По приведенной ссылке можно найти три способа, но самый простой из них — это замкнуть на Arduino пины RST с GND (соединить их между собой). Залитые в ардуину скетчи менять не надо, они на работу моста USB-UART не влияют.
Дальше соединяем RX(Nano)-RX(Bluetooth), TX-TX, GND-GND, Vcc-Vcc. Входящий ток допустим от 3,3 до 6 вольт, поэтому можно выбирать хоть 3,3В выход, хоть 5В. Обратите внимание, что соединять нужно именно RX(Nano)-RX(Bluetooth), TX-TX — одноименными пинами, а не противоположными.
После соединения Arduino и HC-07 подсоединяем Arduino к PC посредством USB кабеля. Bluetooth-соединение устанавливать нельзя. HC-07 работает в режиме АТ-команд только до тех пор, пока он не спарен с другим устройством (достаточно не устанавливать соединение).
Дальше возможно использовать как системный монитор в Arduini IDE, так и другие программы для связи по серийному порту. Я воспользовался CuteCom (OS Ubuntu), но выбор программной части, как мне кажется, не принципиален.
В настройках соединения выбираем само соединение — серийный порт, ставим дефолтные установки модуля baud rate: 9600, N, 8,1. Также выбираем No line end. Устанавливаем соединение.
Проверка связи производится командой AT. Ответ на нее — Ok. Если выходит данный ответ, то модуль в режиме АТ-команд.
Выбор настроек в HC-07, в отличие от собрата HC-05, не велик. Смотрим исходник здесь и на странице производителя.
Кроме теста АТ-режима, можно установить baudrate(из-за чего, собственно, этот режим и потребовался):
команда: AT + BAUD1
ответ: OK1200

пример: AT + BAUD2
ответ: OK2400
Перечень возможных baudrate
1 ——— 1200
2 ——— 2400
3 ——— 4800
4 ——— 9600
5 ——— 19200
6 ——— 38400
7 ——— 57600
8 ——— 115200
9 ——— 230400
A ——— 460800
B ——— 921600
C ——— 1382400
Производителем заявлены скорости вплоть до 1382400, однако сам же производитель предупреждает, что baudrate выше 115200 устанавливать не рекомендуется. Это можно сделать при помощи микроконтроллерного программирования, однако впоследствии приводит к нестабильной работе компьютера.

смена Bluetooth-имени
команда: AT + NAMEname
ответ: OKname
Это имя устройства. Должно быть длиной 20 символов или меньше.
пример: Sending AT + NAMEbill_gates
ответ: OKname

смена Bluetooth passkey
команда: AT + PINxxxx
ответ: OKsetpin
Пароль длиной 4 символа для установления пары устройств.
пример: Sending AT + PIN8888
ответ: OKsetpin

После изменения настроек bluetooth-модуля не забудьте установить новые параметры при повторном установлении соединения с модулем HC-07. Произведеные вами изменения сохраняются в модуле HC-07, повторной настройки не требуют.

На этом ваш модуль HC-07 готов к работе на полной скорости. Можно продолжить эксперименты.
Еще один момент. Не знаю, как ведут себя другие платы bluetooth, но при установлении HC-07 на обмен данными, плату ардуино необходимо запитывать от отдельного источника питания, отключая USB-соединение. Может быть, приоритетным для обмена является USB серийный порт, но обмен данными при включенном USB кабеле через bluetooth модуль HC-07 не происходит.


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

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение