Skip to content

Глава 3. Подготовка к работе с микрокомпьютером NanoPi-AR

Одноплатный микрокомпьютер NanoPi-AR, по умолчанию, поставляется с установленной на него YoctoBased Linux. Таким образом, он полностью готов к работе в рамках решаемых с помощью робототехнических наборов задач. Однако, при необходимости, пользователь может установить на него любую из совместимых с микрокомпьютером операционных систем. В последующих разделах будут продемонстрированы базовые возможности функционала микрокомпьютера NanoPi-AR, применительно к штатной операционной системе. Разбираемые примеры, а также образ с операционной системой доступны на официальном Git’е компании ООО «Прикладная робототехника» В официальном Git, а также в разделе «Учебные материалы» официального сайта компании находится архив с примерами, которые будут разобраны далее.

3.1. Подключение к плате расширения NanoPi-AR Shield

Прежде чем осуществлять подключение к плате, необходимо установить программу для работы с сетевым протоколом SSH, например, бесплатную программу MobaXTerm, которая доступна для скачивания по ссылке. После этого необходимо подключить плату расширения NanoPi-AR Shield к ПК при помощи кабеля MicroUSB к соответствующему разъему, находящемуся на плате микрокомпьютера NanoPi-AR. После этого переключить тумблер питания. При подаче питания на плате расширения должен загореться зелёный светодиод, а на микрокомпьютере NanoPi-AR загорится красный светодиод.

Процесс загрузки микрокомпьютера можно наблюдать с помощью зелёного светодиода на NanoPi-AR.

При подключении платы к ПК в диспетчере устройств появится сетевой адаптер Remote NDIS Compatible Device, через который будет осуществляться подключение. Для подключения необходимо открыть окно MobaXTerm и войти во вкладку Session (Рис. 3.1). После чего откроется окно настроек подключения.

Рис. 3.1. Кнопка «Session» в окне программы MobaXTerm

Рис. 3.1. Кнопка «Session» в окне программы MobaXTerm

В окне настроек подключения (Рис. 3.2) необходимо выбрать тип подключения «SSH», ввести стандартный адрес платы «192.168.42.1» и имя пользователя «root», включив перед вводом имени пользователя параметр «Specify username», после чего нажать кнопку «ОК» для запуска подключения к плате.

Рис. 3.2. Окно настроек подключения

Рис. 3.2. Окно настроек подключения

Далее в терминале появится командная строка с просьбой ввести пароль пользователя (Рис. 3.3). В данной строке необходимо ввести стандартный пароль «12345» и нажать «Enter». Пароль при вводе не отображается. Необходимо помнить, что после успешного входа пароль необходимо изменить из соображения безопасности данных.

Рис. 3.3. Строка ввода пароля

Рис. 3.3. Строка ввода пароля

После успешного входа в окне программы слева от терминала появится файловый менеджер, в котором можно работать с файлами (Рис. 3.4). Проверить то, что терминал находится в той же папке, что и файловый менеджер, можно с помощью ввода в терминале команды «ls», которая выводит список всех папок в текущем каталоге.

Рис. 3.4. Окно программы MobaXTerm с файловым менеджером

Рис. 3.4. Окно программы MobaXTerm с файловым менеджером

3.2. Работа с файловой системой

Ниже приведён список основных команд для работы с файлами через терминал:

pwd – возвращает адрес текущего каталога.

ls -1 – возвращает список файлов в текущем каталоге с подробным выводом данных о файлах.

cd <путь к каталогу> - переход в другой каталог из текущего расположения. Если не указан путь команда перейдёт в корневой каталог root. При указании “..”, вместо пути каталога, команда перейдёт в каталог на уровень выше.

mkdir <имя каталога> - создание каталога с заданным именем. Если нужно создать каталог не в текущей директории, то необходимо указать пусть до нужной директории.

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

nano <имя файла> - открытие файла в текстовом редакторе nano.

cp <исходный путь> <конечный путь> - копирование указанного файла в другую директорию. Если необходимо скопировать директорию целиком, то после команды “cp” нужно указать флаг “-r”.

mv <исходный путь> <конечный путь> - перемещение указанного файла или каталога в другую директорию.

rm <путь к файлу> - удаление файла. Для удаления всех файлов в каталоге необходимо поставить “*”, вместо пути к файлу. Для удаления каталога нужно поставить флаг “-r”.

ls /dev/mmc* - вывод списка всех внутренних и внешних разделов.

mount <исходный путь> <конечный путь> - монтирование раздела в выбранный путь. Используется для работы с внешними накопителями.

umount <исходный путь> <конечный путь> - отключения раздела от выбранного пути. Используется для работы с внешними накопителями.

Cmake .. – сборка проекта в текущей папке.

make -j2 – компиляция проекта в исполняемый файл с использованием двух потоков процессора.

При отправке команды ls /dev/mmc* без подключенных внешних устройств выводится список внутренних разделов микрокомпьютера, cписок которых показан на Рис. 3.5.

Рис. 3.5. Список разделов микрокомпьютера NanoPi-AR

Рис. 3.5. Список разделов микрокомпьютера NanoPi-AR

При подключении к плате карты памяти microSD, в списке разделов появится новый раздел с адресом /dev/mmcblk0. Для монтирования данного раздела необходимо использовать команду mount /dev/mmcblk0 / mnt (Рис. 3.6). После выполнения данной команды при просмотре содержимого раздела /mnt будет отображаться список файлов, находящийся в корне MicroSD карты. В данном случае, отображается папка "Исходники примеров к учебному пособию «Одноплатный микрокомпьютер NanoPi- AR»"с примерами по работе с данной платой, которую можно скачать по ссылке

Рис. 3.6. Монтирование раздела с картой microSD

Рис. 3.6. Монтирование раздела с картой microSD

3.3. Установка и запуск примеров

Для перехода в папку с примерами необходимо ввести команду «cd nanopi_examples/» и нажать клавишу «Enter». Для того, чтобы не вводить название папки целиком, можно ввести первые символы названия папки и нажать клавишу «TAB». В этом случае система сама пропишет название.

Если в корне существует несколько папок с похожими названиями, система пропишет только совпадающую часть, после чего нужно будет «подсказать» конец названия, введя нужное продолжение. После этого можно просмотреть список папок с помощью команды ls (Рис. 3.7).

Рис. 3.7. Просмотр списка файлов в папке

Рис. 3.7. Просмотр списка файлов в папке

В данном каталоге находятся примеры для работы микрокомпьютера NanoPi-AR с Dynamixel-совместимыми модулями через протокол Dynamixel. В каждой папке с примером находится файл исходного кода с расширением .cpp и текстовый файл «CmakeLists.txt», отвечающий за сборку проекта из папки источников src. Сама папка src находится в каталоге с примерами и одинакова для всех проектов.

Рассмотрим типовую структуру файла CmakeLists.txt:

cmake_minimum_required(VERSION 3.14)
project(example)
file(GLOB SRC_DYNAMIXEL
    «../src/dynamixel_sdk/*.cpp»
)
add_executable(example)

target_sources(example PRIVATE
    example.cpp
    ${SRC_DYNAMIXEL}
)
target_compile_definitions(example PRIVATE -DFMT_HEADER_ONLY=1)
target_compile_options(example PRIVATE -Wno-psabi)
target_include_directories(example PRIVATE
    ../src
    ../src/dynamixel_sdk
)

Здесь:

cmake_minimum_required – проверка версии Cmake с указанием минимальной версии.

project() - название проекта.

file .. – список файлов, используемых системой в сборке.

add_executable .. – название выходного исполняемого файла

target_sources .. – команда добавления источников в сборку.

target_compile_definitions – команда указания определений компиляции файлов в сборке.

target_compile_options – команда добавления параметров определений в сборку.

target_include_directories – команда добавления используемых каталогов в проект.

3.4. Компиляция и запуск проекта

Для сборки и компиляции проекта необходимо перейти в папку с проектом, используя для этого команду «cd». Далее необходимо создать папку, в которой будет собираться проект, с помощью команды «md» и перейти в созданную папку (Рис. 3.8).

Рис. 3.8. Создание папки «build» в каталоге проекта «example»

Рис. 3.8. Создание папки «build» в каталоге проекта «example»

Рис. 3.9. Успешная сборка проекта

Рис. 3.9. Успешная сборка проекта

Теперь можно собрать проект. Для этого необходимо ввести команду «cmake ..», находясь в папке «build». Результат сборки показан на Рис. 3.9.

После сборки проекта в папке «build» появится список файлов, необходимых для компиляции проекта. Для компиляции необходимо использовать команду «make -j2» (Рис. 3.10)

Рис. 3.10. Компиляция проекта в исполняемый файл

Рис. 3.10. Компиляция проекта в исполняемый файл

Для запуска исполняемого файла нужно использовать команду «./<имя исполняемого файла>».