Skip to main content

Техническое руководство по установке ПО Wheelies

ПараметрЗначение
НазначениеАдминистратор платформы, администратор организации, инженер и специалист сопровождения
СценарийПодключение дрона к серверной версии платформы Wheelies
Редакция1.0 • 08.09.2026

Цель. Провести пользователя от создания организации и выдачи лицензии до установки дистрибутива на бортовой компьютер дрона, выпуска TLS-сертификата, отправки дроном запроса на активацию и его регистрации на платформе.


1. Термины и роли​

ТерминОпределение
ДистрибутивПерсонализированный архив config.tar с токеном для доступа к GitLab Container Registry и метаданными о программных продуктах, выбранных для установки на дрон. Токен действует 5 суток.
КонфигурацияЗапись на платформе, резервирующая идентификатор дрона. Живет 45 дней, имеет статус и историю скачиваний. В интерфейсе подписана «дистрибутив».
Доступная лицензияСвободная лицензия организации со статусами «Действительна» и «Активна».
One-Time Token (OTT)Одноразовый JWT-токен для получения клиентского TLS-сертификата от SmallStep Certificate Authority. Срок действия TLS-сертификата дрона — 180 дней.
Запрос на активацию дронаСообщение, которое дрон публикует в MQTT-топике drone_request_init; для регистрации дрона на платформе пользователь с соответствующим правом доступа сначала должен подтвердить запрос на его активацию.
Автоматизированное рабочее место (АРМ)Qt-приложение на ноутбуке для автономного управления дронами.
РольЧто делаетЧто должно быть выдано
Администратор платформыСоздает организацию, выдает лицензии и по запросу сбрасывает лимит cert_count. cert_count — заданное максимально допустимое количество TLS-сертификатов, которое может быть выдано одному дрону с одним серийным номером.Права администратора платформы.
Администратор организацииНастраивает роли в организации, приглашает пользователей и контролирует доступ.Роль «Полный доступ» или соответствующие права.
Пользователь с правом управления дронамиФормирует дистрибутив и подтверждает запрос на активацию дрона.Право на управление дронами.
Пользователь с правом на управление лицензиямиУправляет лицензиями организации: привязывает и отвязывает лицензии от дронов.Право на управление лицензиями.
Инженер / операторГотовит оборудование, устанавливает дистрибутив и запускает mainmenu.Доступ к бортовому компьютеру.
Платформа / Certificate Authority (CA)Проверяет данные, выдает OTT и TLS-сертификат, регистрирует дрон и привязывает лицензию.Автоматическая обработка.
Ограничение ролей

У одного пользователя (одного email) в одной организации одновременно может быть только одна роль.


2. Предварительные условия​

  • Организация создана, а ее главный администратор завершил регистрацию.
  • Пользователю выдано право на управление дронами.
  • У организации есть хотя бы одна свободная, действительная и активная лицензия.
  • Модель дрона заведена в каталоге платформы.
  • Бортовой компьютер поддерживается; схема UART сверена с документацией производителей.
  • Подготовлены стабильное питание, Интернет-соединение, дисплей и клавиатура.
  • Известна утвержденная процедура загрузки и установки config.tar.
Безопасность коммутации

Перед соединением UART обесточьте бортовой компьютер и полетный контроллер. Это снижает риск короткого замыкания, повреждения интерфейсных портов и нежелательной разности потенциалов. Приоритет имеют требования производителей оборудования.


3. Сквозной процесс​

Схема 1 — От подготовки организации до регистрации дрона
Схема 1 — От подготовки организации до регистрации дрона

4. Организация и лицензии​

Шаг 1. Создать организацию и назначить главного администратора​

Перед началом необходимо удостовериться:

  • У администратора платформы есть необходимые права.
  • Известны сведения об организации и данные ее будущего главного администратора.

Ответственные:

  • администратор платформы — создает организацию и назначает главного администратора;
  • главный администратор организации — при необходимости приглашает других участников.

Раздел / место: «Организации», «Участники».

Действие: Администратор платформы создает организацию и назначает ее главного администратора. После регистрации главный администратор организации при необходимости настраивает роли и приглашает других пользователей.

Ожидаемый результат: Организация отображается в разделе «Организации», а ее главный администратор и приглашенные участники — в разделе «Участники».

Шаг 2. Выдать организации лицензии​

Перед началом необходимо удостовериться:

  • Организация создана и отображается на платформе.
  • Известно количество лицензий, приобретенных организацией.

Ответственные: администратор платформы.

Раздел / место: «Лицензии».

Действие: Выдать организации приобретенное количество лицензий.

Ожидаемый результат: В разделе «Лицензии» есть как минимум одна свободная, действительная и активная лицензия организации.


5. Формирование и скачивание дистрибутива​

Шаг 3. Собрать дистрибутив​

Перед началом необходимо удостовериться:

  • Пользователь авторизован.
  • Пользователю выдано право на управление дронами.
  • Согласован перечень программных продуктов, доступных для установки.

Ответственный: пользователь с правом управления дронами.

Раздел / место: «Дистрибутив» (рисунок 1) → кнопка «Скачать дистрибутив».

Действие: Выбрать необходимые программные продукты и их версии (рисунок 2), затем нажать «Скачать».

Ожидаемый результат: Сгенерирована конфигурация, скачан дистрибутив (config.tar); в разделе «Дистрибутив» появилась запись. Начался 45-дневный срок отправки запроса на активацию дрона, а токен GitLab Container Registry действует 5 суток.

Рисунок 1 — Раздел «Дистрибутив» и кнопка «Скачать дистрибутив»
Рисунок 1 — Раздел «Дистрибутив» и кнопка «Скачать дистрибутив»
Рисунок 2 — Сборка дистрибутива
Рисунок 2 — Сборка дистрибутива
Если прошло больше 45 дней с момента создания конфигурации

Обработка запроса на активацию дрона, для которого была сгенерирована такая конфигурация, прервется с ошибкой «Активный резерв для дрона не найден»; уведомление о соответствующей ошибке будет доступно в интерфейсе организации.


6. Установка дистрибутива и регистрация дрона​

Шаг 4. Подготовить оборудование​

Перед началом необходимо удостовериться:

  • Бортовой компьютер и полетный контроллер обесточены.
  • Схема UART проверена.
  • Доступны питание, Интернет, дисплей и клавиатура.

Ответственный: инженер / оператор.

Раздел / место: на дроне.

Действие: При отключенном питании соединить бортовой компьютер и полетный контроллер по UART. Затем подключить к бортовому компьютеру питание и периферию, обеспечить Интернет-соединение.

Ожидаемый результат: Бортовой компьютер запитан, имеет доступ в Интернет и готов к установке дистрибутива.

Шаг 5. Установить дистрибутив и зарегистрировать дрон​

Перед началом необходимо удостовериться:

  • config.tar перенесен на бортовой компьютер.
  • Токен GitLab Container Registry действует, конфигурация не старше 45 дней.
  • Бортовой компьютер дрона имеет доступ к Интернету.

Ответственный: инженер / оператор.

Раздел / место: бортовой компьютер дрона.

Действие: Загрузить config.tar на бортовой компьютер, выполнить утвержденную процедуру установки, запустить mainmenu, выбрать «Быстрый старт» и прямое подключение к платформе.

Ожидаемый результат: Дрон проходит первичную регистрацию, получает OTT и TLS-сертификат, подключается напрямую к платформе и отправляет запрос на активацию.


7. Выдача OTT и TLS-сертификата​

Проверка конфигурации, серийного номера и лимита выпуска с ветвями ошибок
Схема 2 — Выдача OTT и TLS-сертификата

Запрос: POST /api/management/cert-enroll с drone_id, organization_id и serial_number, где:

  • drone_id — идентификатор дрона;
  • organization_id — идентификатор организации;
  • serial_number — серийный номер дрона.

Платформа выполняет проверки в следующем порядке:

  1. Проверяет в БД наличие действующей конфигурации для drone_id и organization_id.
  2. Сверяет серийный номер с ранее зарегистрированным. При первой регистрации сохраняет уникальную привязку серийного номера к drone_id.
  3. Проверяет cert_count: для одного дрона с одним серийным номером допускается выпуск менее 50 TLS-сертификатов.
  4. Формирует OTT, увеличивает cert_count на 1 и возвращает OTT дрону.
  5. Дрон предъявляет OTT SmallStep CA и получает клиентский TLS-сертификат.
HTTPКодПричина / действие
403CERT_ENROLL_UNKNOWN_DEVICEНе найдена конфигурация для drone_id и organization_id. Проверить, что используется конфигурация нужной организации.
403CERT_ENROLL_SERIAL_MISMATCHСерийный номер не совпадает с ранее зарегистрированным либо уже связан с другим drone_id. Серийный номер вручную не подменять.
429CERT_ENROLL_TOO_MANY_REQUESTScert_count достиг 50. Администратор платформы сбрасывает счетчик по запросу после проверки причины повторных выпусков.
500OTT_GENERATION_FAILEDНе удалось сформировать OTT. Передать сопровождению время, идентификатор дрона и код ошибки.

8. Запрос на активацию дрона и лицензия​

Шаг 6. Подтвердить запрос на активацию дрона​

Перед началом необходимо удостовериться:

  • Запрос на активацию дрона появился в разделе «Дроны».
  • У организации есть доступная лицензия.

Ответственный: пользователь с правом управления дронами.

Раздел / место: «Дроны» → вкладка «Требуется активация» (рисунок 3).

Действие: Выбрать запрос на активацию дрона, указать название и модель дрона, затем нажать «Активировать» (рисунок 4).

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

Рисунок 3 — Запросы на активацию дронов во вкладке «Требуется активация» в разделе «Дроны»
Рисунок 3 — Запросы на активацию дронов во вкладке «Требуется активация» в разделе «Дроны»
Рисунок 4 — Карточка запроса на активацию дрона
Рисунок 4 — Карточка запроса на активацию дрона
Нет доступной лицензии

Платформа возвращает ошибку валидации 400 Bad Request: NO_AVAILABLE_LICENSES = «Нет доступных лицензий.». После выдачи или освобождения лицензии подтвердите тот же запрос на активацию дрона повторно.

Шаг 7. Проверить регистрацию дрона и привязку лицензии​

Перед началом необходимо удостовериться:

  • Запрос на активацию дрона подтвержден без ошибки.

Ответственный:

  • пользователь с правом управления дронами;
  • пользователь с правом управления лицензиями;
  • система.

Раздел / место:

  • «Дроны» → вкладка «Подключенные» (рисунок 5);
  • «Лицензии» (рисунок 6).

Действие: Проверить появление дрона во вкладке «Подключенные» и привязку к нему лицензии в разделе «Лицензии».

Ожидаемый результат: Дрон зарегистрирован; лицензия привязана. Начальный статус «Оффлайн» не отменяет успешную регистрацию.

Рисунок 5 — Успешно зарегистрированные дроны во вкладке «Подключенные» в разделе «Дроны»
Рисунок 5 — Успешно зарегистрированные дроны во вкладке «Подключенные» в разделе «Дроны»
Рисунок 6 — Лицензии организации в разделе «Лицензии»
Рисунок 6 — Лицензии организации в разделе «Лицензии»

9. Контроль результата и отклонения​

СимптомПроверка / действие
Образ не скачиваетсяПроверить, не истек ли токен GitLab Container Registry: он действует 5 суток. При истечении сформировать актуальный дистрибутив по принятому регламенту.
Запрос на активацию дрона отклонен после 45 днейСформировать новую конфигурацию.
Не получен TLS-сертификатПередать сопровождению HTTP-код, код CERT_ENROLL_* и время события; не изменять серийный номер вручную.
Достигнут лимит 50 выпусковАдминистратор платформы сбрасывает cert_count по запросу после проверки причины.
Нет доступной лицензииВыдать или освободить лицензию и повторно подтвердить тот же запрос на активацию дрона.
Дрон зарегистрирован, но «Оффлайн»Проверить прямое сетевое подключение отдельно; регистрацию считать завершенной, если дрон виден в «Подключенные» и лицензия привязана.

10. Критерий успешного завершения​

Процесс завершен успешно, если

Образ скачан до истечения 5-дневного токена; запрос на активацию дрона отправлен в пределах 45 дней; дистрибутив установлен; запрос на активацию дрона подтвержден; дрон зарегистрирован и отображается во вкладке «Подключенные»; лицензия привязана и отображается в разделе «Лицензии».