Aaron Hanson
allaboutcircuits.com
Информация по настройке и использованию модуля RN487x для примеров проектов, которые будут рассматриваться в последующих частях статьи.
Использование консольного подключения для настройки 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) после скачивания.