# Быстрый старт ## Список оборудования Данное ПО предназначено для управления несколькими квадрокоптерами с компьютера-сервера. Для полноценной работы необходимо следующее оборудование: * Один или несколько квадрокоптеров, работающих на базе ПО [Клевер](https://github.com/copterexpress/clever). * Компьютер с операционной системой Linux. * Wifi роутер, работающий на частоте 2.4 ГГц, либо 5.8 ГГц, если эту частоту поддерживают wifi модули коптеров и компьютера. ## Подготовка ПО Скачайте на компьютер последний образ (clever-show_XXX.img.zip) и исходный код (Source code) из последнего [релиза](https://github.com/copterexpress/clever-show/releases/latest). Разархивируйте исходный код в удобную директорию. ## Настройка роутера Для управления одним или несколькими коптерами требуется подключение коптеров и сервера к одной сети. Для этого требуется отдельный wifi роутер с известным SSID и паролем. Подключите компьютер, который будет использоваться в качестве сервера, к сети роутера и узнайте его ip адрес - он понадобится для дальнейшей настройки. ## Установка и запуск клиента * Запишите образ на microSD карту, используя [Etcher](https://www.balena.io/etcher/). * Вставьте флешку в Raspberry Pi, включите коптер. Дождитесь появления сети `CLEVERSHOW-XXXX`. * Подключитесь к сети коптера, используя пароль `cleverwifi`. * Подключитесь к Raspberry Pi на коптере с помощью ssh, используя статический ip `192.168.11.1`, имя пользователя `pi` и пароль `raspberry`. ```bash ssh pi@192.168.11.1 ``` * Перейдите в директорию клиента и выполните скрипт настройки клиента с указанными параметрами - название точки доступа (`SSID`), пароль точки доступа (`password`), имя коптера (`copter name`), ip сервера (`server ip`). Коптер переключится в режим клиента указанной точки доступа и настроит автозапуск клиента на Raspberry Pi. ```bash cd ~/clever-show/Drone sudo ./client_setup.sh ``` * Теперь при запуске серверного приложения настроенные коптеры будут отображаться в виде таблицы. Также можно подключаться к Raspberry Pi на коптере по его имени с добавкой .local через `ssh` в указанной при настройке wifi сети, например `ssh pi@clever-1.local`, пароль `raspberry`. Если у вас установлено приложение samba, то к коптеру можно подключаться по его имени, например `ssh pi@clever-1`. Документация по клиентской части находится [здесь](client.md). ## Установка и запуск сервера * Установите [chrony](https://chrony.tuxfamily.org/index.html), [samba](https://help.ubuntu.ru/wiki/samba) и Python 3 на ваш компьютер: ```bash sudo apt install chrony samba python3 python3-pip ``` * Установите необходимые python-пакеты с помощью команды (запущенной из директории с исходным кодом) ```bash pip3 install -r requirements.txt ``` * Подключитесь к wifi сети роутера, к которому подключены коптеры. * Скопируйте [файл настроек chrony](../../Server/chrony.conf) в `/etc/chrony/chrony.conf`. Если ip адрес сети начинается не с `192.168.`, то исправьте адрес после слова allow в скопированном файле настроек. * Перезапустите сервис chrony ```bash sudo systemctl restart chrony ``` * Перейдите в директорию сервера из директории с исходным кодом и запустите сервер ```bash cd source-code-dir/Server python3 server_qt.py ``` Документация по серверной части находится [здесь](server.md). ## Подготовка дрона Для запуска анимации все коптеры должны иметь настроенную систему позиционирования. По-умолчанию в образе настроен полёт по optical flow - на коптере должен быть установлер лазерный дальномер, а камера должна быть наклонена вниз шлейфом назад. Вы можете настроить один коптер на любую систему позиционирования, которую поддерживает пакет [clever](https://clever.coex.tech/ru/programming.html#positioning), а затем размножить настройки на остальные коптеры с [сервера](server.md#раздел-server) с помощью команды `Send launch files`. ## Подготовка анимации * Создайте анимацию объектов в Blender или воспользуйтесь [примерами](../../blender-addon/examples). Условная единица расстояния в Blender конвертируется в метры. Задержка между кадрами по-умолчанию в [настройках коптера](../../Drone/client_config.ini) равна 0.1 секунды (параметр frame_delay в разделе ANIMATION), будьте внимательны при настройке частоты кадров в анимации Blender. Следите за скоростями коптеров, чтобы они были не слишком большими: аддон выдаст предупреждение, но всё равно сконвертирует анимацию. * Сконвертируйте анимацию с помощью [аддона для Blender](blender-addon.md). * Загрузите анимацию с помощью команды `Send animations` на [сервере](server.md#раздел-server).