Тип устройства bluetooth uart

Тип устройства bluetooth uart

UART интерфейс наряду со стандартными механизмами типа JTAG и SWD является является одним из основных методов отладки микропрограмм для микроконтроллеров. Обычно используется COM-порт, хотя последнее время все чаще мосты на USB-шину и драйверы виртуального COM-порта на PC, так как USB есть повсеместно, а вот COM-порт встречается все реже и реже.

Еще один способ использования UART, ставший доступным и дешевым относительно недавно — это UART-Bluetooth мост, позволяющий производить обмен с микроконтроллерами по беспроводному интерфейсу BlueTooth. При этом с софтовой стороны на PC все точно так же как и при работе по обычному физическому COM-порту, да и со стороны контроллера не нужны никакие дополнительные модификации. Мало того, Bluetooth-UART — это практически идеальный способ состыковки своего устройства с современным планшетом-кпк-телефоном на Android, WinCE и, скорее всего, iOS. Купить модули можно, к примеру, на DealExtreme, там цена за модуль около 200 рублей с доставкой.

Вообще, имеется информация о модулях HC-04 (на сколько я понимаю, полноценный) и HC-05 (видимо урезанный, только с функционалом UART). Какой модуль продается на DX не разбирался. В настоящий момент мне требуется только функционал UART.

Добавление: как выясняется, зоопарк модулей растет, попался модуль HC-05, видимо, «истинный». Определился не как linvor, а как HC-05. Распиновка оказалась у него несколько другая (светодиод не загорался):

Невысокая цена и подтолкнуло попробовать внедрить беспроводной интерфейс и опробовать его для целей отладки. Для своих целей я обернул модуль в оболочку и вывел основные линии на обычный удобный PBD-разъем с возможностью установки на плату управления LPC134x:

Для конфигурирования модуля используются сделующие команды:

  1. AT — команда проверки модуля и доступности конфигурирования через AT-команды. В ответ модуль должен вернуть OK.
  2. AT+BAUDx — установка скорости, где x — код скорости из таблицы:
    Значение Скорость (бод)
    1 1200
    2 2400
    3 4800
    4 9600
    5 19200
    6 38400
    7 57600
    8 115200
    9 230400
  3. AT+NAMEname — изменение имени устройства, где name — новое имя. Имя по умолчанию linvor.
  4. AT+PINpass — изменение пароля (PIN-кода), где pass — новый пароль. Пароль по умолчанию 1234.

Команды требуется посылать по интерфейсу UART, когда Bluetooth не активен, иначе модуль не воспримет команды и передаст их по воздуху хосту. Скорость по-умолчанию 9600, хотя должен работать Autobaund (автоподстройка скорости), но это не проверял. Время выполнения команды до 1 секунды, пока не придет ответа, лучше ничего посылать нельзя. Что не маловажно, эти настройки энергонезависимы.

Читайте также:  Bluetooth how do they work

Так же есть статьи о программировании непосредственно самих модулей, это очень интересная опция, в отдельных случаях можно вообще построить целую систему на таком модуле, не прибегая к помощи отдельного микроконтроллера.

А вот и сам модуль на хост-компьютере:

Вариант использования

Сброс на компьютер полетной информации:

Ссылки

Источник

Bluetooth-модуль bolutek для Arduino с UART-интерфейсом и AT-команды к нему

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

Описание

Это блютуз-модуль, установленный на плату с линейником 3.3В, синим светодиодом и выводами интерфейса:
И прозрачная термоусадочная трубка — куда же без неё?!
В комплекте была бумажка, с надписью «SKU:B16-7BC01T11» — не нагуглилось.

Подключение и настройка модуля

Удалось найти на нашем Сайте такие обзоры:
mysku.club/blog/others/9084.html
mysku.club/blog/aliexpress/36726.html
mysku.club/blog/aliexpress/36528.html
в них описаны подобные модули, способы подключения их к Ардуино и примеры написания программ для Андроид. Не вижу смысла повторяться и приводить пример того, как Я буду подключать его и как буду писать прогу для смартфона, тем более, что Андроид у меня старый и таким практически уже не пользуются. Этот модуль просто подключается к Ардуино по последовательному порту — и Вы передаёте по нему данные так, как бы передавали в окно терминала, когда отлаживаете программу, а в смартфоне или компьютере обрабатываете эти данные.
Однако, я не нашел в обзорах, как изменить пароль или имя устройства, чтобы кто попало не коннектился к Вашей ардуньке вместо Вас. Изменить пароль, скорость и какие-то еще настройки — это уже следующий шаг, но я решил, что он мало освящен, хоть и немаловажен!

Подключить к компьютеру модуль можно через USB-to-TTL-адаптер, описанный мною ранее или любым удобным для Вас способом по интерфейсу UART: например, вытащить плату из UNO и пробросить TX и RX к модулю.

Штыревые контакты модуля (слева) соединяем с адаптером интерфейса (справа):
MCU-INT — (не пригодился)
RX — TX
TX — RX
GND — GND
+5V — VCC
CLEAR — (не пригодился)
на этом изображении — упомянутые контакты расположены снизу вверх:

Подключаем адаптер к USB-разъему компьютера,
открываем среду разработки Ардуино (или putty, или терминал), выбираем наш виртуальный COM-порт и запускаем «Монитор порта».

в ответ получаем список доступных команд, которые помогут нам изменить имя адаптера видимое другими Bluetooth-устройствами, код доступа (пароль), скорость работы интерфейса и некоторые другие полезняшки:

Command Description ---------------------------------------------------------------- AT Check if the command terminal work normally AT+RESET Software reboot AT+VERSION Get firmware, bluetooth, HCI and LMP version AT+HELP List all the commands AT+NAME Get/Set local device name AT+PIN Get/Set pin code for pairing AT+BAUD Get/Set baud rate AT+CLEAR Remove the remembered remote address AT+LADDR Get local bluetooth address AT+DEFAULT Restore factory default AT+COD Get/Set local class of device AT+IAC Get/Set inquiry access code AT+ROLE Get/Set master or slave mode AT+STATE Get current state AT+UARTMODE Get/Set uart stop bits and parity AT+ENABLEIND Enable/Disable Indication print AT+LSP List Paired Device List AT+RESETPDL Reset Paired Device List AT+REMOVEPDL Remove one entry from Paired Device List ----------------------------------------------------------------- Note: (M) = The command support master mode only, other commands support both master and slave mode. For more information, please visit http://www.bolutek.cn Copyright@2012 www.bolutek.cn. All rights reserved.
>> AT+VERSION +VERSION=+BOLUTEK Firmware V2.2, Bluetooth V2.1 >> AT+NAMESO-NO-ME +NAME=SO-NO-ME OK >> AT+NAME +NAME=SO-NO-ME >> AT+PIN +PIN=1234 >> AT+PIN0987 +PIN=0987 OK >> AT+BAUD +BAUD=4 >> AT+LADDR +LADDR=00:**:**:**:**:** >> AT+STATE +STATE=3 

Чтобы установить пин-код для подключений в значение 0000, достаточно отправить «AT+PIN0000\r\n» — и всё, не нужно никаких дополнительных манипуляций, менять его можно из ардуино «на лету», и не запоминать пароль каждый раз, а прописвать его в скетче.

Читайте также:  Casio g shock with bluetooth

Более полное описание команд изложено в этом документе. Надеюсь, не сильно отвлек от празднований и эта инфа поможет Вам в труде и обороне)… Хотя, на Пасху о труде думается не особо.

Сопряжение с ПК

Что-то не особо большой обзор получился. Добавлю информацию о том, как настроить USB Bluetooth-dongle на компьютере, чтобы подключиться с него к нашему модулю как к COM-порту.

Подключаем USB-свисток к компьютеру. У меня он выглядит как в этом обзоре. Устанавливаем драйвера, — в трее появляется иконка; кликаем по ней и выбираем «Открыть параметры»:

При этом Ардуино с модулем уже должна работаь и Вы должны помнить пин-код доступа к ней (по умолчанию — 1234).
Переходим на вкладку «COM-порты», если Вы не добавляли их ранее, список будет пуст:

Нажимаем «Добавить. » — откроется окно, выбираем «Исходящий»:

Если Вы ранее там мусолили, то в списке будут устройства, если их нет, нажимаем «Обзор. » и выбираем устройство по имени модуля (имя, как мы помним, устанавливается AT-командой AT+NAME):

Далее пройдёт какое-то время и в списке портов появится новый, нужно запомнить его номер, в моём случае — 13:

Готово! Теперь мы можем из любого приложения соединяться по этому порту — с Ардуино и обмениваться данными. Для примера, я использоВал клиент putty:
Выбираем «Serial», вводим имя порта и баудрейт (9600), затем жмём «Open» и быстро…
Быстро кликаем по этому балон-попапу… Дааа, ну не могу я называть tray balloon pop up иначе, уж извините, это запомнилось мне давно, программировании таких уведомлений, всплывающих из системной области… Если не успели — кликайте по значку в трее — откроется окно для ввода пин-кода доступа к Ардуниевскому модулю и вводим туда наш пин (он устанавливается командой AT+PIN в том модуле):

Если пин-«пароль» введён корректно, открывается окно терминала, а в это время модуль отправляет Ардуино такое информационное сообщение:

«Окно ардуино» у меня эмулируется «Монитором порта» сверху, putty — снизу.
В любом случае, нам, как программистам Ардуино полезно знать, что из модуля мы вычитываем не только то, что в него пишет клиент, но еще и такие информационные сообщения, их нужно фильтровать ну или опознавать и обрабатывать. Чтобы отправить сообщение из ардуино, достаточно написать в модуль:

Читайте также:  Принтер распечатка через блютуз

так как это окно «Монитора порта», сообщения отправляются только после нажатия на кнопку.

Далее напечатаем что-то в окне putty:как и следовало ожидать, после каждого нажатия клавиши в окне putty, в «Мониторе порта» появляются символы. Так же, когда мы будем писать в этот порт данные, на стороне Ардуино они будут считываться.
Далее, я ошибся и ввёл «а» в другой раскладке, ну да ладно, закроем окно putty:
Оно предупреждает — жмём «OK».
При отключении, на стороне Ардуино появляется информация об этом:

Жуть какая-то с этими сообщениями, может, есть AT-команда для их отключения? Да! Есть такая команда. Это как раз Indication print — просто введите на стороне «Монитора порта» код:

(ноль на конце) — и лишние сообщения не будут засорять Вам трафик на Ардуино… Хотя, возможно, кому-то эти сообщения будут полезными.

Тестирование скорости

230400 baud — 185 Kbps, 9600 baud — 8 Kbps, от погрешности, вносимой терминалом решил абстрагироваться.

Измерял расстояние работы: на скорости 4800 бод сигнал доставал через две бетонные стены панельного дома на расстоянии , в компе торчал вышеупомянутый свисток…

Источник

Оцените статью
Adblock
detector