BT модуль HC-06 AT команды

Опять же, больше для себя, дабы не забыть 😊 Очередной раз пришлось столкнуться с настройкой АТ командами данного модуля. А поскольку прошло много времени с последней подобной операции, то я это всё благополучно забыл.

Порывшись в тырнете, нашёл много обучалок, ну хорошо, почитал. Схему собрал. И так, и сяк - ничего не получается - ответа от АТ команды нет. Перебрал всё на свете: и типы подключений (разные UART преобразователи от Arduino UNO в разных вариантах до FTDI), и разные скорости, и ноги RX и TX менял местами (от безисходности), и разные терминалы (от Terminte и подобных, до Ардуиновского монитора (мои предпочтения - Termite (ссылки не привожу, можно без проблем найти в тырнете)). Начал проверять модули и искать скорость приёма/передачи. Замыкаем на модуле RX и TX и подключаемся на Андроид телефоне через BT соединение (используем любимую терминальную программу-приложение для Android. Отправляем любой текст, например, test и тут же приходит этот же ответ - Ура, модуль живой. Далее подключаю к компьютеру через преобразователь UART, например, FTDI или Arduino UNO с подключением RX от модуля через делитель к преобразователю и подключаюсь на телефоне через BT. Из Андроид-терминала шлю любой текст, а на компьютере переключаю по очереди скорость передачи данных. Когда на ПК начинают приходить слова такие же, как отправляются, то скорость найдена. По умолчанию скорость 9600bps. Отключаюсь от BT.

Ремарка: во всех обучалках написано, мол в настройках терминала для отправки текста должна стоять опция “перевода каретки” и “новая строка” (CR+LF) и у вас будет счастье с AT командами.

В общем, АТ команды так и не шлются. Перепробовал на 3х модулях - нифига! Психанул, начал перебирать настройки. И…и когда добрался до символов CR+LF. Отключил их полностью - и пошли АТ команды. УРА!!!

Вывод: Для использования АТ команд надо: 1. Правильное кроссовое подключение (в большинстве случаев). 2. Правильная скорость передачи данных. 3. В настройках терминала убрать использование символов CR+LF (а для передачи текста (во время работы по назначению, а не в режиме программирования), действительно, нужны эти символы). 4. Ну и правильный СОМ порт. 5. Отсутствие ВТ соединения.

Пример. Использование Arduino UNO в качестве моста USB <–> UART. Замыкаем GND и RST (удобно перемычкой на разъёме ICSP (см.рисунок) и Ардуинка превращается в “тыкву”, т.е. залитая программа отсекается и передача данных идёт напрямую с USB моста на цифровые выводы 0 и 1 (RX и TX). В данном случае подключаемся не кроссом, а напрямую, т.е. RX -> RX и TX -> TX. Т.к. кроссеровка уже имеется на плате Arduino. Когда снимем перемычку, “тыква” снова превращается в Ардуинку УНО с залитой ранее программой. Резисторы R1 и R2 можно использовать и другие, например, R1 - 2кОм, R2 - 1кОм

Пока всё. Как придёт ВТ модуль HC-05, проверю на нём и дополню.

Приехал модуль, дополняю.

Здесь примерно так, как описано на разных сайтах. Перед включением, зажимаем кнопку или подаём 3V3 на “Ключ” и включаем модуль, заранее подключенный к UART преобразователю по схеме выше. Статусный светодиод должен мигать примерно раз в 3 секунды (медленно). Это режим программирования и работает он по умолчанию на скорости 38400bps, но здесь как раз нужно включить передачу символов CR+LF.

На этом всё.

З.Ы. AT команды для HC-05

  • 139