РадиоЛоцман - Все об электронике

Изучаем Bluetooth-модули RN487x для применения в своих периферийных проектах с низким энергопотреблением. Часть 2 - Использование консольного подключения для настройки Bluetooth модуля RN487x

Microchip RN4870 RN4871

Aaron Hanson

allaboutcircuits.com

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

Часть 1

Использование консольного подключения для настройки Bluetooth модуля RN487x

Для настройки модуля сначала подайте на него питание и подключите его по последовательному интерфейсу к рабочей станции (ПК). Каждая из наших демонстрационных схем в цикле статей содержит 3-контактный разъем «Prog»,  на котором доступны необходимые сигналы Rx, Tx и GND. Если вы не знаете, как установить соединение модуля с ПК, то отличное руководство можете найти в [1].

Запустите эмулятор терминала на ПК. Одним из эмуляторов, который особенно подходит и широко доступен, является утилита miniterm, входящая в состав среды Python. В оболчке ПК его можно запустить с помощью команды:

python -m serial.tools.miniterm --eol LF /dev/ttyUSB0 115200

В этом примере команды указано имя порта (/dev/ttyUSB0), свойственное Linux системам. Форма имени последовательного порта будет отличаться в других операционных системах. Скорость обмена данными по умолчанию для этого модуля составляет 115200, и нет особых оснований для ее изменения.

Модуль RN487x по умолчанию находится в режиме «Данные» (Data); нам нужен режим «Команды» (Command). Этот режим активируется путем ввода трех символов доллара ($$$) в эмуляторе терминала. Вы не увидите вводимые символы в окне терминала, но результатом должна быть командная строка, возвращаемая RN487x, вида:

CMD>

Попробуйте теперь нажать клавишу «d», а затем «Ввод». В результате выполнения этой команды вы должны увидеть что-то вроде этого:

CMD>
BTA=D88039F80080
Name=RN_BLE
Connected=no
Authen=2
Features=0000
Services=00
CMD>

Это минимальное описание состояния модуля. Обратите внимание, что интерпретатор команд не отображал введенный вами символ “d”. Вы должны включить «эхо»: нажмите клавишу «+», затем «Enter». Устройство должно отреагировать так:

CMD> ECHO ON
CMD>

Теперь вы находитесь в точке, где сможете выполнять различные задачи по настройке модуля, описанные в последующих частях статьи. Например, создание службы выполняется простым вводом команды «PS» в одну строку с последующим нажатием клавиши «Ввод». Пример:

CMD> PS,59c88760536411e7b114b2f933d5fe66
AOK

Каждая из конфигураций демонстрационных проектов также требует ввода многострочного скрипта. Чтобы многострочный скрипт (или команда) был зафиксирован в энергонезависимой памяти NVRAM, следует соблюдать некоторые правила. Вы начинаете ввод скрипта командой «WW» и затем «Enter». Затем вводите каждую строку скрипта, которые, включая последнюю строку,  должны завершаться нажатием клавиши «Ввод». По завершению вы фиксируете многострочный скрипт, нажимая клавишу «Esc». Например:

CMD> ww
@CONN
|O,08,72
AOK
CMD>

Общая инициализация модуля

Если вы будете использовать модуль RN487x для одного из примеров в статье, или вы использовали модуль для каких-то совершенно других целей, и вы собираетесь настроить модуль для другого примера, то необходимо учитывать, что модуль может иметь некоторую конфигурацию, которая может противоречить следующему предполагаемому использованию.

Следующие шаги должны быть выполнены перед реалиазцией каждого демонстрационного проекта из этой статьи:

  • удалите любой существующий скрипт;
  • включите обработку скриптов;
  • удалите все существующие определения служб/характеристик;
  • удалите все специальные функции из используемого нами порта (P1_2, индекс "0A");
  • перезагрузите модуль.

Подключите модуль как указано выше и запустите эмулятор терминала. Используйте следующий последовательность команд для выполнения инициализации модуля:

CMD> WC
AOK
CMD> SR,0040
AOK
CMD> PZ
AOK
CMD> SW,0A,00
AOK
CMD> R,1
Rebooting

Требования к ОС Linux для выполнения демонстрационного скрипта Python

Аппаратная часть

Система, выполняющие демонстрационные скрипты из статьи, конечно, потребуется оборудование, поддерживающее BLE. Стандарт BLE был представлен в версии 4, поэтому, если ваше оборудование Bluetooth указывает версию ниже этой, оно, вероятно, не будет работать для этих примеров.

Возможно приобрести отдельный USB-адаптер для ПК; автор рекомендует адаптеры на чипсете Qualcomm CSR8510.

Программное обеспечение

Демонстрационные примеры и проекты были проверены на Debian 10 и должны быть применимы к для дистрибутивов на основе Debian, таких как Ubuntu. Примеры имеют прямой доступ к двум компонентам, которые по умолчанию не установлены в Debian 10:

Модуль Python для доступа к стеку Bluetooth. Этот компонент доступен через систему управления пакетами и называется «python-bluez».

Специальный модуль Python для вызова методов GATT: «gattlib». Этот компонент доступен из официального индекса пакетов Python (устанавливается с помощью утилиты «pip»).

Установка с помощью «pip» компонента «gattlib» создает библиотеку ELF. Этот процесс также требует некоторых инструментов и библиотек. Скрипт, выполняющий все эти действия, доступен для скачивания в разделе загрузок. Обратите внимание, если вы выберете запуск скрипта, то вам необходимо предоставить права на выполнение (execute) после скачивания.

Ссылки

  1. Эмуляторы консоли/терминала

Загрузки

  1. Скрипт установки дополнительных компонентов для работы с BLE.

Продолжение

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Sensors and Controls with the RN487x Bluetooth Module from Microchip. Part 2 - How to configure the RN487x module

JLCPCP: 2USD 2Layer 5PCBs, 5USD 4Layer 5PCBs

RN4870 Купить ЦенаКупить RN4870 на РадиоЛоцман.Цены — от 14,71 до 11 904
12 предложений от 9 поставщиков
Модули Bluetooth (802.15.1) Bluetooth 4.2 BLE Module, ASCII Interface, Shielded, Antenna, 12x22mm, Industrial Temp
Триема
Россия
RN4870-V/RM118
15 ₽
Элитан
Россия
RN4870U-V/RM118
Microchip
497 ₽
Интерия
Россия и страны СНГ
RN-4870-SNSR
Microchip
7 565 ₽
ЗУМ-СМД
Россия
RN4870-I/RM128
Microchip
по запросу
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя