Проблема HC-05 при сканировании других устройств - PullRequest
0 голосов
/ 25 октября 2018

Я пытался использовать мой модуль HC-05 в качестве центрального узла для сканирования ближайших устройств Bluetooth.но я столкнулся с проблемой со следующими командами: AT+INQ дает ответ ERROR: (1F) и AT+INIT дает ответ ERROR: (17), но позже я обнаружил, что ERROR: (17) происходит из-за повторной инициализации SPP, и я предполагаю,это не серьезный.Но я не знаю, что ОШИБКА: (1F).

Я следую этой процедуре: AT+INIT AT+IAC=9E8B33 AT+INIT AT+IAC=9E8B33 AT+CLASS=0 AT+INQM=1,9,48 AT+INQ
каждая команда, кроме AT+INIT и AT+INQ, работает нормально.Документ, на который я ссылался, - https://cdn.instructables.com/ORIG/FKY/Z0UT/HX7OYY7I/FKYZ0UTHX7OYY7I.pdf, и код ОШИБКИ 1F здесь также не упоминается.Я пробовал с другими сайтами, но у меня не было никакого решения.

Я также пытался удерживать маленькую кнопку на моем модуле (без контакта KEY) и затем пропускать AT + INQ, что также давало тот же ответ об ошибке.все остальные AT-команды работают нормально, и нет никаких проблем при переключении между основным и подчиненным режимами.

версия прошивки: 3.0-20170601

, если кто-то сталкивался с такой же проблемой или нашел какое-либо решение, пожалуйста,помоги мне ..

1 Ответ

0 голосов
/ 30 декабря 2018

У меня есть HC-05 с 3.0-20170601, который мне удалось связать с рабом прошлой ночью.Оказывается, у v3 есть два режима AT.

Первый - когда вы удерживаете кнопку во время подключения питания.Светодиод будет медленно мигать, и вы сможете подключиться со скоростью 38400 бод.Но это похоже на режим конфигурации, где AT + INQ недоступна.

В этом режиме я выполнял следующие команды:

AT
AT+UART
AT+RMAAD
AT+ROLE=1

(нажмите и удерживайте кнопку)

AT+RESET

(отпустите кнопку после перезапуска устройства, и светодиод медленно начнет мигать)

AT+CMODE=1
AT+INQM=0,5,5
AT+PSWD="9999"

AT должен дать ОК, поскольку ответ на вопрос о том, что соединение установлено

AT + UART покажет настроенныйбод.По умолчанию 9600.

AT + RMAAD очищает все сохраненные соединения.

AT + ROLE = 1 устанавливает его как мастер

AT + RESET перезагружает устройство для переключения на мастер * 1022.*

AT + CMODE = 1 принимает все виды устройств

AT + INQM = 0,5,5 запросов в стандартном режиме с 5 максимальными подключениями или 5 секундами

AT + PSWD= "9999" устанавливает пин-код 9999, замените его на нужный

После этого пришло время обновить код arudino.В вашем случае вам следует обновить строку 4 с

const long baudRate = 38400;

до

const long baudRate = 9600;

... или на любое значение, которое вы могли бы установить в качестве скорости передачи.Затем обновите свой Arduino.

Теперь войдите в очень раздражающий режим второй команды AT.

Включите питание, не удерживая кнопку.Вы получите быструю скорость мигания.Когда он включится, нажмите и удерживайте кнопку.Светодиод будет продолжать быстро мигать, но пока кнопка нажата, вы можете подключиться к устройству с настроенной скоростью передачи.Поэтому откройте последовательный монитор и введите AT для проверки.Помните, что режим активен только при нажатии кнопки.Так что держи это нажатым.У меня был небольшой зажим, который я надел на него.

Затем я ввел эти команды:

AT+STATE

AT + STATE покажет текущее состояние, должен запрашивать

Затем питаниедо ведомого устройства, и адрес должен начать выскакивать.Это будет что-то вроде xyz: xy: xyzw, 931F00,7FFF

Первая часть - это нужный вам адрес (xyz: xy: xyzw)

Измените: на и получите xyz, xy, xyzw

Убедитесь, что вы подключаетесь к правильному устройству

AT+RNAME?xyz,xy,xyzw

Затем выполните привязку

AT+PAIR=xyz,xy,xyzw,5
AT+BIND=xyz,xy,xyzw
AT+LINK=xyz,xy,xyzw

Команда AT + LINK выдала мне FAIL в качестве вывода.Но это не имело значения.Я перезапустил и не нажал ни одной кнопки ни до, ни после.Просто нормальный запуск.

Через 5-10 секунд на моем последовательном мониторе появились последовательные данные.

Модули связаны.И будет автоматически подключаться при включении питания.Если нет, возможно, у вас неправильный пин-код.Убедитесь, что изменили 9999 выше на 0000 или 1234 или что бы то ни было.Когда у меня был неправильный вывод, я все еще получал ОК от команд AT + PAIR и AT + BIND ... У меня не получалось, пока я не ввел правильный вывод.

Извините за длинный пост, но я хотелбудьте внимательны, поскольку информация о HC-05 v3 в Интернете сейчас очень скудна.

Ссылку на все команды можно найти здесь: http://www.electronicaestudio.com/docs/istd016A.pdf (ссылка действительна 2018-08-13)

...