Внешний вид адаптера LM048

Реализация автоматического соединения Bluetooth-устройств при помощи модулей LM Technologies

№ 3’2012
PDF версия
При наличии на рынке широкого ассортимента модулей Bluetooth с разнообразными характеристиками имеется недостаток бюджетных моделей, обладающих всеми необходимыми свойствами для автоматического установления соединения между двумя устройствами. В данной статье будут рассмотрены характеристики и процедура настройки модулей LM072 и LM780 компании LM Technologies. Эти модули поддерживают управление при помощи AT-команд, что позволяет значительно упростить процедуру автоматического соединения для конечного пользователя.

Компания LM Technologies (Лондон, Великобритания) является ведущим производителем изделий, предназначенных для замены кабеля беспроводным соединением. При этом основной упор LM Technologies делает на передачу данных посредством технологии Bluetooth. Модули компании ориентированы на широкий круг приложений, включая системы промышленной автоматизации, медицинское оборудование, охранные комплексы, торговые автоматы и M2M-приложения.

LM Technologies разрабатывает для Bluetooth-модулей собственное программное обеспечение, а также использует их в своих законченных продуктах, таких, например, как адаптеры LM048 и LM058.

 

Характеристики модулей LM Technologies

Основные параметры модулей LM072 и LM780, а также адаптера LM048 приведены в таблице 1.

Таблица 1. Основные параметры Bluetooth-устройств компании LM Technologies

Параметр

LM072

LM780

LM048

Стандарт

Bluetooth 2.0+EDR

Bluetooth 2.1+EDR

Bluetooth 2.0+EDR

Поддерживаемые профили

SPP, HSP/HFP,

HID, DUN

SPP, HID

SPP

Дальность передачи, м

100

25

100

Выходная мощность, дБм

18 (класс 1)

4 (класс 2)

18 (класс 1)

Чувствительность приемника, дБм

–88

–88

–86

Напряжение питания, В

3,0–3,6

3,0–5,5

5,0–6,0

Температурный диапазон, °C

–20…+75

–10…+70

–20…+75

Размеры, мм

28,2×15×2,8

26,9×15,2×2,0

34×36×13

Модуль LM072 (рис. 1а) не требует использования внешних компонентов, за исключением антенны [1]. LM780 (рис. 1б) имеет встроенную антенну и не требует использования внешних компонентов [2].

Bluetooth-модули LM Technologies

Рис. 1. Bluetooth-модули LM Technologies:
а) LM072;
б) LM780

В отличие от более дорогих Bluetooth-модулей, оснащенных встроенными кодеками и способных передавать потоковое аудио или видео, LM072 и LM780 предназначены исключительно для передачи телеметрической информации. Оба модуля реализуют профиль последовательного порта (SPP), который позволяет организовать «прозрачный» беспроводной канал между двумя устройствами, ранее связанными проводным последовательным интерфейсом. Встраиваемый Bluetooth-модуль осуществляет преобразование потока данных, поступающих по проводному асинхронному последовательному каналу, в беспроводной поток в соответствии с профилем последовательного порта. На удаленной стороне в качестве приемопередатчика Bluetooth можно использовать штатный Bluetooth-адаптер персонального компьютера или второй встраиваемый модуль [6].

Профиль последовательного порта предполагает выполнение следующих операций с устройствами Bluetooth:

  • обнаружение;
  • установление соединения;
  • передача данных в режиме «прозрачного» канала.

Ведомый Bluetooth-модуль (Slave) при включении питания находится в состоянии «доступный для обнаружения». Ведущий модуль (Master) при включении питания начинает поиск ведомых устройств и при нахождении свободного ведомого устройства пытается присоединиться к нему. Ведомый запрашивает PIN-код, ведущий отвечает. Если PIN-коды совпадают, то устройства обмениваются своими адресами, образуют пару и могут выполнять обмен данными. Таким образом, установление соединения может быть выполнено автоматически, без участия пользователя. Модули LM072 и LM780 могут иметь статус как Master, так и Slave. Статус модуля задается пользователем или управляющим микроконтроллером при помощи AT-команд.

Если необходимо обеспечить беспроводной доступ к уже законченному изделию с интерфейсом RS-232, то оптимальным решением будет использование адаптера LM048 (рис. 2). Благодаря наличию у адаптера разъема DB9 его подключение является предельно простым. LM048 обеспечивает передачу данных со скоростью 1200–921600 бод. Адаптер можно использовать с устройствами как DTE (Data Terminal Equipment), так и DCE (Data Сommunication Equipment). Для этого корпус LM048 снабжен переключателем, позволяющим попарно менять назначение контактов TxD/RxD и CTS/RTS. Адаптер может получать питающее напряжение от внешнего блока питания 5 В, от USB-порта ПК, а также от 9-го контакта разъема DB9 [3].

Внешний вид адаптера LM048

Рис. 2. Внешний вид адаптера LM048

 

Интеграция Bluetooth-модулей в приложения

Интеграция модулей LM Technologies в конечное изделие не представляет никаких сложностей. Если в процессе передачи данных планируется использовать аппаратный контроль потока, то необходимо распаять семь контактов модуля; если контроль потока не требуется — пять. Остальные выводы можно оставить неподключенными. Схема подключения модуля LM780 представлена на рис. 3. Подключение LM072 полностью аналогично, за исключением номеров выводов модуля. RF-сигнал модуля LM072 следует вывести на внешнюю антенну.

Схема подключения модуля LM780

Рис. 3. Схема подключения модуля LM780

Преимуществом модулей и адаптеров LM Technologies является поддержка AT-команд, которые используются для задания начальных настроек модуля и для управления соединением. Таким образом, введение небольшой управляющей программы, алгоритм которой рассмотрен ниже, позволяет реализовать автоматическое соединение между Bluetooth-устройствами, минимизировав участие конечного пользователя в этом процессе.

При помощи набора AT-команд можно изменять статус устройства (Master или Slave), PIN-код, параметры обмена по последовательному интерфейсу, настройки автоматического соединения с удаленным устройством и т. д. [4]. Полный перечень управляющих AT-команд приведен в таблице 2.

Таблица 2. Список управляющих AT-команд

Тип команды

Код команды

Краткое описание

Тестовые команды

AT

Проверка связи с модулем

AT+VER

Запрос версии прошивки

AT+ENQ

Запрос всех текущих настроек модуля

Сброс настроек

AT+RESET

Восстановление заводских настроек и сброс модуля

Настройки

последовательного интерфейса

AT+BAUD

Выбор скорости передачи данных по последовательному интерфейсу. Поддерживаются скорости передачи от 1200 до 921 600 бод

AT+STOP

Выбор количества стоповых бит (1 или 2)

AT+PAR

Выбор варианта контроля четности (none, odd, even)

AT+FLOW

Управление контролем потока (сигналы RTS/CTS)

AT+ECHO

Управление функцией «эхо» (отображение получаемых модулем управляющих команд)

AT+RESP

Разрешение/запрещение ответа модуля на управляющие команды

Настройки соединения

AT+ROLE

Выбор статуса модуля (Master/Slave)

AT+ADDR

Запрос Bluetooth-адреса модуля

AT+FIND

Поиск Bluetooth-устройств в зоне видимости модуля. Поиск выполняется в течение 1 мин., отображается максимум восемь устройств

AT+RSSI

Запрос величины RSSI (Received Signal Strength Indication — уровень мощности принимаемого сигнала) текущего Bluetooth-соединения

AT+NAME

Выбор имени модуля, под которым он будет виден

другим Bluetooth-устройствам

AT+DCOV

Разрешение/запрещение обнаружения модуля

другими Bluetooth-устройствами

AT+PIN

Выбор PIN-кода, которым обмениваются два Bluetooth-устройства в процессе установления соединения

AT+CONN

Установление соединения с заданным Bluetooth-устройством

AT+DROP

Сброс текущего соединения

AT+BOND

Выбор адреса Bluetooth-устройства, с которым будет разрешено установление соединения. Соединение со всеми остальными Bluetooth-устройствами будет запрещено

AT+ACON

Разрешение/запрещение автоматического установления соединения при включении питания

Прочие команды

+++

Переход в режим конфигурирования из режима передачи данных. Промежуток между отправкой каждого символа «+» должен составлять 800–1000 мс

AT+ESC

Разрешение/запрещение обработки последовательности «+++»

AT+AUTO

Переход в режим передачи данных из режима конфигурирования

AT+RCFG

Разрешение/запрещение конфигурирования модуля со стороны удаленного устройства

AT+SLEEP

Разрешение/запрещение автоматического перехода в режим энергосбережения

Все AT-команды можно условно разделить на две категории: команды начальной настройки модуля и команды установления соединения. К первому типу относятся команды изменения параметров обмена по интерфейсу UART, выбор статуса и имени модуля (Master/Slave), разрешение обнаружения модуля другими Bluetooth-устройствами и т. п. Все эти параметры достаточно установить один раз, после чего они будут сохранены в энергонезависимой памяти модуля и будут использоваться при последующих включениях. Это удобно в случае, когда ограничена возможность управления Bluetooth-модулем в составе конечного изделия. При таком варианте имеет смысл задать все начальные настройки, подключив модуль к компьютеру, после чего интегрировать модуль в конечное устройство. Подключение к ПК легко осуществить при помощи конвертера USB–TTL [5], для этого достаточно распаять контакты модуля VCC, GND, RESET, RX и TX. В операционной системе компьютера конвертер распознается как виртуальный COM-порт, через который можно отправить модулю все необходимые команды.

Ниже приведен пример последовательности команд для конфигурирования модуля:

AT+STOP1
OK
AT+PAR0
OK
AT+FLOW-
OK
AT+BAUD14
OK
AT+ROLES
OK
AT+NAME=LM780
OK
AT+DCOV+
OK
AT+PIN=1111
OK

В примере задаются следующие параметры обмена по интерфейсу UART: один стоповый бит, контроль четности и аппаратный контроль потока выключены, скорость передачи 19 200 бод. Последующими командами устанавливается статус и имя модуля, разрешается его обнаружение другими Bluetooth-устройствами и задается PIN-код.

Команды второго типа необходимы для управления установлением соединения с удаленным устройством. Рассмотрим последовательность команд для соединения в ручном и автоматическом режимах. В первом случае пользователь или внешний микроконтроллер самостоятельно дает модулю команду выполнить поиск устройств и выбирает требуемое устройство из списка. Для этого необходимо сначала запретить автоматическое соединение при помощи команды AT+ACON-. После этого изменим статус модуля на Master и выполним поиск Bluetooth-устройств командой AT+FIND?. По этой команде модуль будет выполнять поиск в течение 1 мин., после чего отобразит список первых восьми найденных устройств:

AT+ACON-
OK
AT+ROLEM
OK
AT+FIND?
OK
Inquiry Results:
1 Serial Adapter     0012-6F-231C0F
2 ORG-CEF12A0AB42 001E-3D-EDACE4
3 Thror 28D1-AF-27AC06
4 BT007Si    000B-0D-04B2D7
Inquiry End. 4 Device(s) Found
AT+CONN1
OK
CONNECT «0012-6F-231C0F»

После завершения поиска можно установить Bluetooth-соединение с нужным устройством командой AT+CONNn, где n — номер устройства в списке. В случае успешного соединения модуль вернет адрес удаленного устройства и перейдет в режим передачи данных. После этого все отправляемые по последовательному интерфейсу символы будут передаваться по радиоканалу удаленному устройству. Чтобы вернуться в режим конфигурирования, необходимо передать модулю последовательность символов «+++». В этом случае пауза перед каждым символом «+» должна составлять 800–1000 мс.

Соединение также можно установить, не выполняя поиск устройств. В этом случае в команде AT+CONN указывается Bluetooth-адрес удаленного устройства:

AT+CONN=00126F231C0F
OK
CONNECT «0012-6F-231C0F»

В автоматическом режиме Bluetooth-соединение между устройствами будет происходить сразу после включения питания без участия пользователя или внешнего микроконтроллера. Для перехода в автоматический режим следует дать модулю команду AT+ACON+. Для защиты соединения можно задействовать проверку PIN-кода или командой AT+BOND задать адрес уникального устройства, с которым будет разрешено установление соединения. Эти два варианта защиты могут быть использованы совместно:

AT+PIN=1234
OK
AT+BOND=00126F231C0F
OK
AT+ACON+
OK
CONNECT «0012-6F-231C0F»

После получения команды AT+ACON+ модуль перезапустится и попытается установить соединение с удаленным устройством.

При первом включении модулей следует обратить внимание на то, что аппаратный контроль потока по умолчанию включен. Следовательно, если выводы UART_CTS и UART_RTS модуля не были задействованы, то отправляемые с ПК команды не будут отображаться в окне терминала. В этом случае следует дать модулю команду AT+FLOW- для отключения контроля потока (эта команда также не будет отображена). Все настройки модулей LM Technologies, установленные по умолчанию, перечислены в таблице 3.

Таблица 3. Начальные установки модулей LM Technologies

Код команды

Параметр

Значение

AT+BAUD

Cкорость передачи данных по интерфейсу UART

19200 бод

AT+STOP

Количество стоповых бит

1

AT+PAR

Контроль четности

None

AT+FLOW

Аппаратный контроль потока

Включен

AT+ECHO

Функция «эхо»

Включена

AT+RESP

Ответ на команды

Разрешен

AT+ROLE

Статус устройства

Slave

AT+ADDR

Имя устройства

Serial Adapter

AT+PIN

PIN-код

1234

AT+DCOV

Обнаружение другими устройствами

Разрешено

AT+BOND

Сопряженное устройство

Не задано

AT+ACON

Автоматическое соединение

Разрешено

AT+ESC

Обработка последовательности «+++»

Включена

AT+RCFG

Конфигурирование модуля со стороны удаленного устройства

Разрешено

AT+SLEEP

Переход в режим энергосбережения

Запрещен

 

Примеры применения модулей и адаптеров компании LM Technologies

Рассмотрим несколько практических вариантов применения Bluetooth-модулей. В каждом примере нашей целью будет настроить автоматическое соединение двух устройств после включения питания, минимизировав участие пользователя в этом процессе.

Простейший случай: необходимо установить Bluetooth-соединение между двумя компьютерами (рис. 4), которые ранее были соединены последовательным кабелем. В этом случае удобнее всего использовать адаптеры LM048. При помощи AT-команд один LM048 следует предварительно сконфигурировать как Master, другой — как Slave. Присоединив их к COM-портам компьютеров, можно установить соединение как в ручном, так и в автоматическом режимах, используя приведенные выше последовательности управляющих AT-команд.

Bluetooth-соединение двух компьютеров

Рис. 4. Bluetooth-соединение двух компьютеров

Следующий вариант: нужно соединить оснащенное Bluetooth-модулем устройство и, например, ноутбук (рис. 5). При этом ноутбук имеет встроенный или внешний Bluetooth-адаптер, которым мы не можем управлять программно (нет доступа к исходным кодам соответствующего драйвера). Если в оснащенном Bluetooth-модулем устройстве предусмотрен способ ввода информации (клавиатура, сенсорный дисплей и т. п.), удобно настроить автоматическое соединение именно с его стороны. Встроенному Bluetooth-модулю следует присвоить статус Master, адаптеру ноутбука — статус Slave. Используя устройство ввода, можно выполнить поиск или сразу ввести требуемый Bluetooth-адрес, с которым будет выполняться соединение при включении питания.

Bluetooth-соединение с удаленным устройством

Рис. 5. Bluetooth-соединение с удаленным устройством

Наиболее сложным представляется случай, при котором оснащенное Bluetooth-модулем изделие не имеет какого-либо устройства ввода (рис. 6).

Bluetooth-соединение с изделием без устройства ввода информации

Рис. 6. Bluetooth-соединение с изделием без устройства ввода информации

В этом случае для автоматического установления соединения с ПК или ноутбуком можно предложить следующий алгоритм:

  1. При первом соединении, когда удаленному устройству не известен адрес компьютера, Bluetooth-модуль изделия должен иметь статус Slave. Встроенный в ПК Bluetooth-адаптер в этом случае будет работать как Master (рис. 7).
  2. Со стороны ПК устанавливаем соединение с удаленным устройством вручную. После установления соединения Bluetooth-модуль отправляет по интерфейсу UART сообщение с Bluetooth-адресом компьютера:CONNECT «xxxx-xx-xxxxxx».
Алгоритм настройки автоматического соединения с изделием без устройства ввода информации

Рис. 7. Алгоритм настройки автоматического соединения с изделием без устройства ввода информации

Этот адрес должен быть сохранен управляющим микроконтроллером устройства.

  1. Используем сохраненный Bluetooth-адрес для установления соединения со стороны удаленного устройства. Для этого управляющий микроконтроллер должен отправить Bluetooth-модулю следующие команды:
AT+ROLEM
OK
AT+BOND= xxxxxxxxxxxx
OK
AT+ACON+
OK

В результате Bluetooth-модуль изменит статус на Master и будет автоматически устанавливать соединение с компьютером при включении питания. На стороне ПК при этом следует разрешить входящие Bluetooth-подключения (компьютер при последующих соединениях будет работать как Slave).

Таким образом, несложная ручная настройка потребуется только при первом установлении соединения. Эта настройка сводится к пересылке Bluetooth-адреса компьютера удаленному устройству, чтобы адрес мог быть сохранен управляющим микроконтроллером. При всех последующих включениях пользователь должен будет только включить питание устройства. Если компьютер при этом будет находиться в зоне радиовидимости, то соединение будет установлено автоматически. Никаких действий от пользователя не потребуется до тех пор, пока не возникнет необходимость установить соединение с другим ПК. Для этой цели в конструкции оснащенного Bluetooth-модулем устройства следует предусмотреть способ очистки сохраненного Bluetooth-адреса (например, специальную кнопку). Чтобы вернуться к исходному состоянию, управляющий микроконтроллер должен отправить Bluetooth-модулю следующие команды:

AT+ACON-
OK
AT+BOND-
OK
AT+ROLES
OK

Таким образом автоматическое установление соединения будет выключено, Bluetooth-модуль очистит сохраненный адрес и изменит свой статус на Slave. После этого, повторив пункты 1–3 описанного алгоритма, можно будет установить соединение с любым другим Bluetooth-устройством.

Как видно из предложенного алгоритма автоматического установления соединения, для его реализации требуется изменение статуса Bluetooth-модуля (Master/Slave) в процессе работы. Возможность такого изменения при помощи AT-команд является большим преимуществом Bluetooth-модулей компании LM Technologies перед более простыми и дешевыми моделями, которые поставляются с неизменяемыми настройками.

 

Заключение

LM072 и LM780 хорошо подходят для широкого круга приложений, в которых требуется заменить кабельное соединение двух устройств беспроводным доступом. Низкая цена, легкость интеграции в конечное изделие и удобный командный интерфейс делают эти модули оптимальным выбором для таких задач.

Литература
  1. Datasheet LM072 Bluetooth Class 1 Module. LM Technologies Ltd. 2010.
  2. Datasheet LM780 Bluetooth Class 2 Module. LM Technologies Ltd. 2010.
  3. Datasheet LM048 Bluetooth Class 1 Serial Adapter. LM Technologies Ltd. 2010.
  4. AT Command Manual v1.4. LM Technologies Ltd. 2011.
  5. Datasheet TTL to USB Serial Converter Range of Cables. FTDI. 2008.
  6. http://www.wless.ru/

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *