Эта пошаговая инструкция поможет вам запустить графический интерфейс RemoteXY на контроллере Arduino UNO используя модуль связи Bluetooth HC-05 или HC-06. Инструкция так же может быть использована для контроллеров Arduino Nano, Arduino Mini и совместимых.
Примечание. Устройства iOS не поддерживают модули с классическим Bluetooth HC-05(06). Вместо них вы можете использовать модуль BLE HM-10.
Войдите в редактор RemoteXY. Найдите на левой панели инструментов элемент Кнопка, и переместите его в поле телефона. Выделите кнопку в поле телефона, что бы вокруг нее отобразилась рамка. Когда кнопка выделена, в правой панели свойств разверните вкладку Элемент. В свойстве элемента Привязать к выводу установите значение 13(LED).
Примечание. Редактор позволяет указать вывод контроллера для некоторых элементов, которые могут однозначно определить состояние вывода, например «Включен «или «Отключен». Однако лучшим решением будет написание собственного кода управления выводами контроллера.
Разверните вкладку Конфигурация на правой панели свойств. Кликните в любой элемент списка, откроется окно выбора конфигурации. Настройка конфигурации позволяет указать параметры вашей схемы. Выберите следующие параметры и нажмите кнопку Применить:
Вкладка Конфигурация должна выглядеть как на рисунке:
Разверните вкладку Подключение модуля и установите следующие значения настроек:
Настройки определяют, что модуль HC-05(06) подключается к Arduino через программный последовательный порт SoftwareSerial на скорости 9600 и используются контакты микроконтроллера 2 и 3 .
Примечание. Скорость 9600 является скоростью обмена по умолчанию для модулей Bluetooth HC-05 и HC-06. Не выбирайте другую скорость.
Нажмите кнопку Получить исходный код.
На открывшейся странице кликните ссылку Загрузить код и загрузите архив скетча. Распакуйте архив. В архиве размещен файл project.ino
, откройте его в Arduino IDE.
Для компиляции скетча в среду Arduino IDE необходимо добавить библиотеку RemoteXY. Пройдите по ссылке загрузки библиотеки и следуйте инструкциям по ее установке.
В среде разработки выберите плату Arduino UNO и попробуйте скомпилировать скетч. Если вы все сделали правильно, скетч должен компилироваться без ошибок.
Подключите модуль Bluetooth HC-05 или HC-06 к Arduino Uno по схеме приведенной на рисунке. Обратите внимание, что контакт 2 платы Arduino выбранный как RX соединяется с контактом TX модуля Bluetooth, а контакт 3 платы Arduino выбранный как TX с контактом RX модуля Bluetooth.
Загрузите скетч в контроллер стандартным способом. Подсоедините контроллер Arduino UNO к компьютеру, выберите COM порт к которому подключилась плата и нажмите кнопку загрузки.
Установите мобильное приложение RemoteXY на ваш телефон.
Запустите приложение и нажмите кнопку + (Плюс) на верхней панели справа. В открывшемся окне выберите подключение Bluetooth.
Если на вашем телефоне отключен Bluetooth, то включите его. Нажмите кнопку обновления списка доступных устройств в правом верхнем углу. Модуль Bluetooth HC-05 (HC-06) может иметь одно из следующих имен: «HC-05», «HC-06», «INVOR». Выберите его. Откроется окно для ввода пароля спаривания Bluetooth устройств. Пароль по умолчанию для HC-05 (HC-06) может быть 1234 или 0000. Введите пароль.
После ввода пароля начнется подключение. Если вы все сделали правильно ту у вас должен отобразиться графический интерфейс с кнопкой, точно такой же как вы его разработали. Попробуйте нажимать кнопку. При удерживании кнопки нажатой должен загораться светодиод LED на плате Arduino UNO.
Примечание: В приложении для iOS необходимо включить Bluetooth используя системные настройки.
Если подключение не удалось, проверьте себя по списку ниже. Это поможет вам найти ошибку.
Если вы не видите вашего модуля в списке доступных устройств, попробуйте повторно нажать на кнопку обновления списка устройств спустя несколько секунд. Если модуль так и не появился, возможны следующие причины:
Если вы видите ошибку Bluetooth device not found
или Bluetooth device connection error
это означает что телефон не смог обнаружить модуль Bluetooth или не смог с ним соединиться. Возможны следующие причины:
Попробуйте разорвать пару используя системные настройки если Bluetooth устройство уже было спарено до этого.
Если вы видите ошибку Board not reply
это означает что приложение подключилось к модулю Bluetooth но не может производить обмен данными с контроллером. Возможны следующие причины:
RemoteXY
или массив RemoteXY_CONF
, удалили вызовы функций RemoteXY_Init()
или RemoteXY_Handler()
. Сформируйте исходный код заново и загрузите его в контроллер без каких либо изменений.Bluetooth модуль HC-05 подключается по шине UART и способен выполнять AT-команды. AT-команда это строка начинающаяся с букв «AT» (от английского attention — «внимание»). Модуль выполняет поступившую команду и отправляет обратно ответ (результат выполнения команды), который также является строкой. В Bluetooth модулях HC-05 каждая команда (как и ответ) должна заканчиваться символами перевода строки «\r\n».
Модуль Bluetooth HC-05 сможет принимать команды только если правильно настроены следующие параметры последовательного порта:
Для настройки этих параметров в программе Termite, нажмите на кнопку «Настройки» (Settings). В том же окне можно установить Русский язык.
При использовании Arduino, номер порта указывается во вкладке «Инструменты». Параметры передачи данных используются по умолчанию. Для добавления символов NL & CR воспользуйтесь меню в правом нижнем углу монитора последовательного порта.
После каждого подключения питания или перезагрузки модуля, до того как отправлять команды, нужно кратковременно нажать на кнопку модуля. Если у модуля нет кнопки, то кратковременно подать высокий уровень на вывод K. После чего модуль останется в обычном режиме, но будет воспринимать AT-команды. Помимо обычного режима, модуль может работать в режиме AT-команд. О том как войти в этот режим и чем он отличается от обычного, рассказано ниже, в разделе примечание.
Для проверки связи с Bluetooth модулем отправьте тестовую команду AT (введите текст AT и нажмите Enter). Если связь установлена корректно, то модуль ответит OK. После этого можно отправлять остальные AT-команды.
Если в программе терминал указано добавлять символы CR & LF или NL & CR то символы «\r\n» в командах ставить не нужно!
Команды могут быть обычными: AT+КОМАНДА\r\n, запросами: AT+КОМАНДА?\r\n, или установками: AT+КОМАНДА=ПАРАМЕТР(Ы)\r\n.
AT-команда: | Ответ: | Назначение: | |
---|---|---|---|
AT | AT\r\n | OK\r\n | Команда Тест: Используется для проверки связи с модулем. |
RESET | AT+RESET\r\n | OK\r\n | Команда программной перезагрузки модуля: Модуль ведёт себя так, как после кратковременного отключения питания. |
VERSION | AT+VERSION?\r\n | +VERSION:ВЕРСИЯ\r\n OK\r\n | Запрос версии прошивки модуля: Модуль возвращает версию в виде строки до 32 байт. Пример ответа: +VERSION:hc01.comV2.1\r\nOK\r\n |
AT+ORGL | AT+ORGL\r\n | OK\r\n | Сброс пользовательских настроек: Модуль сбрасывает следующие настройки: CLASS=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, NAME=hc01.com. |
ADDR | AT+ADDR?\r\n | +ADDR:АДРЕС\r\n OK\r\n | Запрос адреса модуля: Модуль возвращает три части своего адреса NAP:UAP:LAP разделённые двоеточием. Каждая часть состоит из шестнадцатиричных цифр. Пример ответа: +ADDR:1234:56:789ABC\r\nOK\r\n |
NAME | AT+NAME?\r\n | +NAME:ИМЯ\r\n OK\r\n | Запрос / установка имени модуля: Имя модуля представлено строкой до 32 байт. Пример ответа: +NAME:iArduino\r\nOK\r\n Пример установки: AT+NAME=iArduino\r\n Некоторые модули реагируют на команду AT+NAME?\r\n только при нажатой кнопке модуля или наличии высокого уровня на входе K. |
AT+NAME=ИМЯ\r\n | OK\r\n | ||
RNAME | AT+RNAME? АДРЕС\r\n | +RNAME:ИМЯ\r\n OK\r\n | Запрос имени найденного Bluetooth устройства: Адрес вводится после пробела, а части адреса (NAP,UAP,LAP) разделены запятой. Модуль возвращает имя найденного Bluetooth устройства находящегося в зоне действия, адрес которого был в запросе. Пример запроса: AT+NAME? 1234,56,789ABC\r\n Пример ответа: +RNAME:iArduino\r\nOK\r\n |
ROLE | AT+ROLE?\r\n | +ROLE:РОЛЬ\r\n OK\r\n | Запрос / установка роли модуля: Роль модуля представлена цифрой: 0 — ведомый, 1 — ведущий, 2 — ведомый в цикле*. Пример ответа: +ROLE:1\r\n Пример установки: AT+ROLE=0\r\n |
AT+ROLE=РОЛЬ\r\n | OK\r\n | ||
CLASS | AT+CLASS?\r\n | +CLASS:ТИП\r\n OK\r\n | Запрос / установка типа устройства: Тип устройства представляется 32 битным числом, по которому можно определить назначение модуля: Bluetooth клавиатура, Bluetooth мышь, гарнитура … Пример установки: AT+CLASS=0\r\n |
AT+CLASS=ТИП\r\n | OK\r\n | ||
IAC | AT+IAC?\r\n | +IAC:КОД\r\nOK\r\n | Запрос / Установка кода общего доступа GIAC: Код представлен 32 битным числом и используется для обнаружения Bluetooth устройств. В роли ведущего, по данному коду модуль будет получать доступ к другим Bluetooth устройствам для их поиска (опроса), а в роли ведомого по данному коду будет предоставляться доступ для опроса модуля другими ведущими. Пример ответа: +IAC:9e8b33\r\nOK\r\n Пример установки: AT+IAC=9e8b33\r\n |
AT+IAC=КОД\r\n | OK\r\n или FAIL\r\n | ||
INQM | AT+INQM?\r\n | +INQM:РЕЖИМ,КОЛ,ВРЕМЯ\r\n OK\r\n | Запрос / Установка режима опроса модулей: Используемые параметры являются настройками для команды поиска (опроса) других Bluetooth устройств. — Режим поиска представлен цифрой: 0-стандартный, 1-поиск по интенсивности сигнала. — Количество представлено цифрой определяющей предельное количество найденных Bluetooth устройств, после которого требуется прекратить поиск. — Время поиска задаёт таймаут после которого поиск прекращается. Реальное время поиска в секундах равно указанному числу умноженному на 1,28. Пример ответа: +INQM:1,1,48\r\nOK\r\n Пример установки: AT+INQM:1,1,48\r\n |
AT+INQM=РЕЖИМ,КОЛ,ВРЕМЯ\r\n | OK\r\n или FAIL\r\n | ||
PSWD | AT+PSWD?\r\n | +PSWD:КОД\r\n OK\r\n | Запрос / Установка PIN-кода: Код доступа представлен строкой до 16 байт. Код модуля в роли ведомого устройства является паролем доступа к текущему модулю. Код модуля в роли ведущего устройства является паролем доступа к внешним Bluetooth устройствам. Пример ответа: +PSWD:1234\r\nOK\r\n Пример установки: AT+PSWD=1234arduino\r\n |
AT+PSWD=КОД\r\n | OK\r\n | ||
UART | AT+UART?\r\n | +UART:СКОР,СТОП,ПРОВ\r\n OK\r\n | Запрос / установка скорости UART: Скорость представлена числом бит/сек Стоп бит представлен цифрой: 0 — один, 1 — два Проверка представлена цифрой: 0 — без проверки, 1 — проверка нечётности, 2 — проверка чётности. Пример ответа: +UART:38400,0,0\r\nOK\r\n Пример установки: AT+UART=38400,0,0\r\n |
AT+UART=СКОР,СТОП,ПРОВ\r\n | OK\r\n | ||
CMODE | AT+CMODE?\r\n | +CMOD:РЕЖИМ\r\n OK\r\n | Запрос / установка режима подключения: Режим представлен цифрой: 0 — модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND. 1 — модуль в роли ведущего подключается к любому ведомому Bluetooth устройству. 2 — модуль в роли ведомого работает в цикле* Пример ответа: +CMOD:0\r\nOK\r\n Пример установки: AT+CMOD=1\r\n |
AT+CMODE=РЕЖИМ\r\n | OK\r\n | ||
BIND | AT+BIND?\r\n | +BIND:АДРЕС\r\n OK\r\n | Запрос / установка фиксированного адреса: Если модуль находится в роли ведущего (ROLE=1) и установлен режим подключения к фиксированному адресу (CMODE=0), то он будет подключаться только к тому Bluetooth устройству, адрес которого указан данной командой. Части адреса вводятся: при установке — через запятую, а при ответе — через двоеточие. Пример ответа: +BIND:1234:56:789ABC\r\nOK\r\n Пример установки: AT+BIND=0,0,0\r\n |
AT+BIND=АДРЕС\r\n | OK\r\n | ||
POLAR | AT+POLAR?\r\n | +POLAR:ЛОГ,ЛОГ\r\n OK\r\n | Запрос / установка активного логического уровня для включения светодиодов: Полярность представлена цифрой 0 или 1 соответствующей активному логическому уровню. Первый параметр указывает логический уровень для включения светодиода подключённого к выводу PIO8 (отображает режим работы), а второй для светодиода подключённого к выводу PIO9 (отображает статус соединения). Пример ответа: +POLAR:1,1\r\nOK\r\n Пример установки: AT+POLAR=1,1\r\n |
AT+POLAR=ЛОГ,ЛОГ\r\n | OK\r\n | ||
PIO | AT+PIO=НОМЕР,УРОВЕНЬ\r\n | OK\r\n | Установка логического уровня PIO: Позволяет установить логический уровень на выводе PIO. Номер вывода представлен числом от 2 до 11, кроме 8 и 9. Уровень представлен цифрой 0 или 1. Пример установки: AT+PIO=11,0\r\n |
MPIO | AT+MPIO?\r\n | +MPIO:ЧИСЛО\r\n OK\r\n | Запрос / установка логических уровней PIO: Позволяет узнать или установить логические уровни сразу на всех выводах PIO. Уровни представлены шестнадцатиричным числом, каждый бит которого соответствует уровню вывода PIO. Пример ответа: +MPIO:1F0\r\nOK\r\n Пример установки: AT+MPIO:CFC\r\n |
AT+MPIO=ЧИСЛО\r\n | OK\r\n | ||
IPSCAN | AT+IPSCAN?\r\n | +IPSCAN:А,Б,В,Г\r\n OK\r\n | Запрос / установка параметров IP сканирования: А — интервал сканирования Б — продолжительность сканирования В — интервал страниц Г — количество страниц Пример ответа: +IPSCAN:1024,512,1024,512\r\nOK\r\n Пример установки: AT+IPSCAN:1024,512,1024,512\r\n |
AT+IPSCAN=А,Б,В,Г\r\n | OK\r\n | ||
SNIFF | AT+SNIFF?\r\n | +SNIFF:А,Б,В,Г\r\n OK\r\n | Запрос / установка параметров энергосберегающего режима: А — максимальное время Б — минимальное время В — период повторов Г — таймаут Пример ответа: +SNIFF:0,0,0,0\r\nOK\r\n Пример установки: AT+SNIFF=0,0,0,0\r\n |
AT+SNIFF=А,Б,В,Г\r\n | OK\r\n | ||
ENSNIFF | AT+ENSNIFF=АДРЕС\r\n | OK\r\n | Переход в энергосберегающий режим: Части адреса вводятся через запятую (NAP,UAP,LAP) Пример команды: AT+ENSNIFF=1234,56,789ABC\r\n |
EXSNIFF | AT+EXSNIFF=АДРЕС\r\n | OK\r\n | Выход из энергосберегающего режима: Части адреса вводятся через запятую (NAP,UAP,LAP) Пример команды: AT+EXSNIFF=1234,56,789ABC\r\n |
SENM | AT+SENM?\r\n | +SENM:СЕКРЕТ,ШИФР\r\n OK\r\n | Запрос / установка параметров безопасности: Режим секретности представлен цифрой: 0 — выключен 1 — незащищённое соединение 2 — защита на сервисном уровне 3 — защита на уровне соединения 4 — неизвестный режим Режим шифрования представлен цифрой: 0 — без шифрования 1 — шифруется только трафик PTP 2 — шифруется весь трафик Пример ответа: +SENM:0,0\r\nOK\r\n Пример установки: AT+SENM:0,0\r\n |
AT+SENM=СЕКРЕТ,ШИФР\r\n | OK\r\n | ||
PMSAD | AT+PMSAD=АДРЕС\r\n | OK\r\n | Удаление устройства из списка пар: Удаление Bluetooth устройства из списка приведёт к необходимости заново образовывать пару для подключения к нему. Части адреса удаляемого устройства вводится через запятую (NAP,UAP,LAP) Пример команды: AT+PMSAD=1234,56,789ABC\r\n |
RMAAD | AT+RMAAD\r\n | OK\r\n | Удаление всех устройств из списка пар: Очистка данного списка приведёт к необходимости заново образовывать пары с Bluetooth устройствами для подключения к ним. |
FSAD | AT+FSAD=АДРЕС\r\n | OK\r\n или FAIL\r\n | Поиск устройства в списке пар: Если Bluetooth устройство с указанным адресом имеется в списке, то модуль вернёт OK\r\n иначе FAIL\r\n. Части адреса вводятся через запятую (NAP,UAP,LAP) Пример запроса: AT+FSAD=1234,56,789ABC\r\n |
ADCN | AT+ADCN?\r\n | +ADCN:КОЛИЧЕСТВО\r\n OK\r\n | Запрос количества устройств в списке пар: При образовании пары ведущий-ведомый, данные о паре автоматически попадают в список пар и для последующих подключений (даже после отключения питания) не требуется повторно устанавливать пару. Пример ответа: +ADCN:10\r\nOK\r\n |
MRAD | AT+MRAD?\r\n | +MRAD:АДРЕС\r\n OK\r\n | Запрос адреса устройства из списка пар: Модуль вернёт адрес Bluetooth устройства из списка пар с которым выполнялось последнее успешное соединение. Части адреса выводятся через двоеточие (NAP:UAP:LAP) Пример ответа: +MRAD:1234:56:789ABC\r\nOK\r\n |
STATE | AT+STATE?\r\n | +STATE:СТАТУС\r\n OK\r\n | Запрос статуса модуля: Модуль вернёт свое текущее состояние в виде строки: INITIALIZED — инициализация READY — готов PAIRABLE — образование пары PAIRED — пара образована INQUIRING — запрос CONNECTING — подключение CONNECTED — подключён DISCONNECTED — отсоединён NUKNOW — неизвестное состояние Пример ответа: +STATE:CONNECTED\r\nOK\r\n |
INIT | AT+INIT\r\n | OK\r\n или FAIL\r\n | Инициализация профиля SPP: Профиль SPP эмулирует последовательный порт. |
INQ | AT+INQ\r\n | +INQ:АДРЕС,ТИП,СИГНАЛ\r\n +INQ:АДРЕС,ТИП,СИГНАЛ\r\n … +INQ:АДРЕС,ТИП,СИГНАЛ\r\n | Поиск (опрос) Bluetooth устройств: Команда доступна модулю в роли ведущего. Модуль ищет Bluetooth устройства в радиусе действия и выводит каждый найденный модуль на новой строке. Режим поиска (опроса) устанавливается командой AT+INQM, код опроса устанавливается командой AT+IAC, тип искомых устройств указывается командой AT+CLASS. Поиск завершается по достижении предельного количества найденных Bluetooth устройств, или по достижении таймаута, или командой AT+INQC. Пример ответа: +INQ:1234:56:789ABС,240404,7FFF |
INQC | AT+INQC\r\n | OK\r\n | Завершить поиск (опрос) Bluetooth устройств: Досрочно завершает поиск Bluetooth устройств инициированный командой AT+INQ |
PAIR | AT+PAIR=АДРЕС,ТАЙМАУТ\r\n | OK\r\n или FAIL\r\n | Создать пару с Bluetooth устройством: Создание пары или сопряжение Bluetooth устройств инициируется ведущим устройством. Таймаут указывается десятичным числом в секундах. Если пара создана, то информация о ней автоматически запишется в список пар, модуль ответит OK\r\n после чего можно подключить Bluetooth устройство командой AT+LINK. Если пара не создана (например не подошёл PIN-код или истек таймаут), то модуль ответит FAIL\r\n. Пример команды: AT+PAIR=1234,56,789ABC,10\r\n |
LINK | AT+LINK=АДРЕС\r\n | OK\r\n или FAIL\r\n | Подключиться к Bluetooth устройству: После выполнения данной команды можно общаться с подключённым Bluetooth устройством. Команда доступна модулю в роли ведущего. Пример команды: AT+LINK=1234,56,789ABC\r\n |
DISC | AT+DISC\r\n | +DISC:РЕЗУЛЬТАТ\r\n OK\r\n | Отключиться от Bluetooth устройства: Команда указывает модулю отключиться от Bluetooth устройства с которым установлено соединение. После отключения от Bluetooth устройства информация о нём сохраняется в списке пар. Если потребуется вновь подключиться к этому устройству, то создание пары будет необязательно (если Bluetooth устройство намеренно не удалить из списка пар). После выполнения команды модуль ответит результатом её выполнения: SUCCESS — успех LINK_LOSS — соединение потеряно NO_SLC — отсутствует SLC TIMEOUT — истекло время ожидания ERROR — ошибка Пример ответа: +DISC:SUCCESS\r\nOK\r\n |
* Ведомый в цикле — это ведомая роль модуля в которой он отправляет обратно всё что получает от ведущего.
** На некоторые команды модуль реагирует только при нажатой кнопке модуля или наличии высокого уровня на выводе K.
Если отправить команду, которую модуль не знает, не может выполнить, или у команды неправильные аргументы, то модуль вернёт строку «ERROR:(НОМЕР)», где по указанному шестнадцатиричному номеру можно определить, на что «ругается» модуль.
№ ошибки | Описание ошибки |
---|---|
0 | Неправильная AT команда (нет такой команды) |
1 | Результат по умолчанию |
2 | Ошибка сохранения пароля |
3 | Слишком длинное имя устройства (более 32 байт) |
4 | Имя устройства не указано |
5 | Часть адреса NAP слишком длинная (более 4 разрядов в шестнадцатиричной системе) |
6 | Часть адреса UAP слишком длинная (более 2 разрядов в шестнадцатиричной системе) |
7 | Часть адреса LAP слишком длинная (более 6 разрядов в шестнадцатиричной системе) |
8 | Не указана маска порта PIO |
9 | Не указан номер вывода PIO |
A | Не указан тип (класс) устройства |
B | Слишком длинный тип (класс) устройства |
C | Не указан общий код доступа IAC (Inquire Access Code) |
D | Слишком длинный общий код доступа IAC (Inquire Access Code) |
E | Недопустимый общий код доступа IAC (Inquire Access Code) |
F | Не указан пароль (или пароль пуст) |
10 | Слишком длинный пароль (более 16 байт) |
11 | Недопустимая роль модуля |
12 | Недопустимая скорость передачи данных |
13 | Недопустимый размер стоп-бита |
14 | Недопустимая настройка бита четности |
15 | Устройство отсутствует в списке пар (списке сопряжённых Bluetooth устройств) |
16 | Профиль последовательного порта (SPP, Serial Port Profile) не инициализирован |
17 | Повторная инициализация профиля SPP (SPP, Serial Port Profile) |
18 | Недопустимый режим опроса Bluetooth устройств |
19 | Слишком большое время опроса |
1A | Не указан адрес Bluetooth устройства |
1B | Недопустимый режим безопасности (секретности) |
1C | Недопустимый режим шифрования |
Если нажать на кнопку или подать высокий уровень на вход K непосредственно в момент включения модуля (подачи питания), то модуль перейдёт в режим AT-команд. В этом режиме модуль не соединится с другими модулями, но у этого режима фиксированная скорость = 38400 бит/сек. Если при настройке, в обычном режиме работы модуля, Вы не смогли определить скорость модуля, то можно войти в данный режим и установить новую скорость. Вновь установленная скорость вступит в силу только в обычном режиме, для этого потребуется перезагрузить модуль не удерживая кнопку и не подавая высокий уровень на вход K в момент включения. Помните, что в обычном режиме, не раньше чем через пол секунды после подачи питания (или перезагрузки) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать AT-команды.
Если Вы хотите иметь возможность «нажимать» на кнопку программно, но у Вашего модуля нет вывода K, воспользуйтесь командой AT+PIO=11,УРОВЕНЬ\r\n, где уровень представляется цифрой 1 или 0 соответствующий устанавливаемому логическому уровню. (AT+PIO=11,0\r\n — кнопка отпущена, AT+PIO=11,1\r\n — кнопка нажата).
У некоторых модулей есть вывод En который управляет питанием и подтянут к Vcc. Если на вывод En подать низкий логический уровень, то отключится питание чипов. Данный вывод можно использовать для программного входа в режим AT-команд. Если сразу после снятия низкого уровня с вывода En подать команду AT+PIO=11,1\r\n это будет эквивалентно включению модуля с нажатой кнопкой.
Не раньше чем через пол секунды после перезагрузки (командой AT+RESET\r\n) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
Если модуль с ведущей ролью подключается к ведомым модулям по их адресу, а не через их имя, то адрес данного (ведомого) модуля можно узнать выполнив команду AT+ADDR?\r\n.
Не раньше чем через пол секунды после перезагрузки (командой AT+RESET\r\n) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
16 июля 2021 — 0 комментариев
HC-05 — популярный модуль Bluetooth, который может добавить в ваши проекты двустороннюю (дуплексную) беспроводную связь.
Конфигурация выводов HC-05
Номер контакта | Название контакта | Описание |
1 | Включение/Ключ | Этот вывод используется для переключения между режимом данных (низкий уровень) и режимом AT-команд (высокий уровень). По умолчанию он находится в режиме данных 9.0003 |
2 | Вкк | Включает модуль. Подключить к +5В Напряжение питания |
3 | Земля | Штырь заземления модуля, соедините с заземлением системы. |
4 | ТХ — Передатчик | Передает последовательные данные. Все, что получено через Bluetooth, будет выдано этим контактом как последовательные данные. |
5 | RX – приемник | Получение последовательных данных. Все последовательные данные, передаваемые на этот контакт, будут транслироваться через Bluetooth 9.0003 |
6 | Состояние | Контакт состояния подключен к светодиоду на плате, его можно использовать в качестве обратной связи для проверки правильности работы Bluetooth. |
7 | Светодиод | Указывает состояние модуля
|
8 | Кнопка | Используется для управления выводом Key/Enable для переключения между данными и командным режимом |
HC-05 Настройки по умолчанию
По умолчанию Имя Bluetooth: «HC-05» Связь: Ведомый
Режим по умолчанию: Режим данных
Режим данных Бод Скорость: 9600, 8, N, 1
Скорость передачи в командном режиме: 38400, 8, N, 1
Прошивка по умолчанию: LINVOR
Технические характеристики HC-05 90 004
HC-05 Эквивалентный модуль Bluetooth
HC-02
HC-04, HC-06, HM- 11, ESP32, CSR8645
Где использовать HC Модуль Bluetooth -05
HC-05 — это популярный модуль, который может добавить в ваши проекты двустороннюю (дуплексную) беспроводную связь. Вы можете использовать этот модуль для связи между двумя микроконтроллерами, такими как Arduino, или для связи с любым устройством с функцией Bluetooth, например телефоном или ноутбуком. Существует множество приложений для Android, которые уже доступны, что значительно упрощает этот процесс. Модуль связывается с помощью USART на 9Скорость 600 бод позволяет легко взаимодействовать с любым микроконтроллером, поддерживающим USART. Мы также можем настроить значения модуля по умолчанию, используя командный режим. Поэтому, если вы ищете беспроводной модуль, который может передавать данные с вашего компьютера или мобильного телефона на микроконтроллер или наоборот, этот модуль может быть для вас правильным выбором. Однако не ожидайте, что этот модуль будет передавать мультимедиа, такие как фотографии или песни; вам, возможно, придется изучить модуль CSR8645 для этого.
Как использовать Bluetooth-модуль HC-05
HC-05 имеет два режима работы: один — режим данных, в котором он может отправлять и получать данные с других устройств Bluetooth, а другой — AT Командный режим, в котором можно изменить настройки устройства по умолчанию. Мы можем управлять устройством в любом из этих двух режимов, используя ключевой контакт, как описано в описании контакта.
Сопряжение модуля HC-05 с микроконтроллерами очень просто, поскольку он работает с использованием протокола последовательного порта (SPP). Просто подключите модуль к +5 В и подключите контакт Rx модуля к Tx MCU, а контакт Tx модуля к Rx MCU, как показано на рисунке ниже 9.0003
Во время включения питания контакт ключа можно заземлить для перехода в командный режим, если его оставить свободным, он по умолчанию перейдет в режим данных. Как только модуль будет включен, вы сможете обнаружить устройство Bluetooth как «HC-05», затем подключиться к нему, используя пароль по умолчанию 1234, и начать с ним общение. Имя, пароль и другие параметры по умолчанию можно изменить, введя
Приложения
1. Беспроводная связь между двумя микроконтроллерами
2. Связь с ноутбуком, настольным компьютером и мобильным телефоном
3. Приложение для регистрации данных
4. Пользовательские приложения
5. Беспроводные роботы
6. Домашняя автоматизация
2D-модель
Bluetooth
Беспроводная связь
Я пишу код для своей Arduino Nano и использую модуль HC-05 для беспроводной передачи данных. Я отправляю свои данные как таковые. Это из последовательного монитора с использованием USB и обычных операторов печати. Я хочу иметь возможность получать эти данные и сохранять их в csv (я знаю, как хранить входящие данные). Мне нужна помощь в получении моих данных.
22:17:46.765 -> ======================================== ===================== 22:17:47.770 -> Таймер сна: 242 22:17:47.770 -> Легкий сон: 0 Глубокий сон: 0 22:17:47.805 -> Всего легкого сна: 0 Всего глубокого сна: 0 22:17:47.838 -> Всего сна: 0 22:17:47.871 -> =========================================== ==================
По какой-то причине, когда я подключаю свой HC-05 к рабочему столу Windows через bluetooth и открываю последовательный монитор в com-портах 3 или 4, я не получаю считывания. Мои порты У меня так настроено. Моя беспроводная инициализация
Затем я использую
MySerial.print()
, чтобы отправить данные, но я не получаю вывода, то же самое происходит, если я использую
Serial.print()
.
Я попытался получить новый модуль HC-05, отключил все оборудование, попробовал разные печати, включая Serial и MySerial. Я, хотя я мог бы получить вывод. Код Python Я пытался использовать python для извлечения данных, но не получил результата. Я не уверен, что делать здесь.
2
Недостаточно информации, но я отвечу предвзято, исходя из своего опыта работы с этими модулями. Вот инструкции по изменению или проверке скорости передачи на модуле:
https://www.instructables.com/Change-the-Baud-Rate-of-HC-05-Bluetooth-Module-Usi/
Для моего модуль, я мог бы просто отправлять AT-команды по умолчанию, не переводя его в AT-режим. Отправьте «AT» модулю, и он должен ответить «ОК».
Это очень помогает, если у вас есть кабель ftdi для устранения неполадок. Подключите ftdi к HC-05, проверьте скорость передачи данных и ответ HC-05, откройте последовательный монитор для Bluetooth на ПК и один для кабеля ftdi. Попробуйте отправить данные туда и обратно. Кроме того, будьте на 100% уверены, что вы используете правильный COM-порт для вашего Bluetooth, отключив и восстановив соединение, и посмотрите, какой COM-порт появляется.
На самом деле можно использовать HC-05 и для программирования Arduino, если вы установите скорость передачи данных на 115200 и найдете способ сброса на Arduino, как только Bluetooth подключится (статус/состояние не меняется) . Я использовал для этого ATTiny, но вы можете просто использовать контакт нано, подключенный к сбросу, и другой контакт для контроля контакта «состояния», который подключен к светодиоду на HC-05. Таким образом, вы можете иметь беспроводную передачу данных и беспроводное программирование, если хотите.