КОНЦЕПЦИЯ И РАЗРАБОТКАБЕСПИЛОТНЫЙ СПОРТ · #bezpiLOTa · KAIROS DRONE AGENTДокументация
#bezpiLOTa→Getting Started→Mission Control
QUICKSTART / MISSION CONTROL

Целевой сценарий начинается с локального demo mode: Dashboard, Plan, Configure, Flight Control и Simulate изучаются на синтетических данных. Реальный FC подключается только после публикации компонента, проверки secure context, serial flow и safety‑условий.

PLANNED

#bezpiLOTa Mission Control — соседний компонент экосистемы, а не часть KairOS Drone Agent; исполнимый репозиторий пока не опубликован.

Репозиторий KairOS ↗
NODE 20+runtime requirement
4000default dev port
07целевых demo profiles
NO FCdemo requirement
01
PREREQUISITES

Среда разработки и браузер

  • Node.js 20 или новее.
  • npm 9 или новее.
  • Git для clone и обновления исходного кода после публикации репозитория.
  • Chrome, Edge или Firefox для обычного UI; WebSerial/WebUSB требуют Chromium‑browser.
  • USB cable с data lines, если позже подключается реальный FC.
bashПроверка toolchain
node --version
npm --version
git --version
02
OPTION A

Безопасный demo‑контур без FC

Демонстрационный режим проектируется для безопасного знакомства с интерфейсом без подключения реального аппарата. Он использует симулированную телеметрию и не выдаёт тестовый стенд за действующий полётный контур.

03
OPTION B

Локальный demo mode

bashЦелевой локальный demo flow
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run dev
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.

Планируемый интерфейс должен открываться на http://localhost:4000. При NEXT_PUBLIC_DEMO_MODE=true внешняя база, SITL и physical hardware не нужны. Этот блок фиксирует контракт запуска, а не утверждает наличие команды в текущем репозитории KairOS Drone Agent.

04
EXPLORE THE UI

Пять основных рабочих поверхностей

01

Dashboard

Attitude, GPS/altitude, battery, flight mode, connection path и системные alerts.

02

Plan

Waypoints, семь generators, altitude/speed/camera trigger, geofences, rally, QGC WPL/KML/CSV.

03

Configure

Failsafe, PID, power, OSD, ports, sensors, gimbal и firmware‑specific panels.

04

Flight Control

Arm/disarm, 25+ ArduPilot modes, gamepad/HOTAS 50 Hz, keyboard и guided waypoint.

05

Simulate

3D mission path, terrain following, camera markers, timing и altitude profile.

Видеокабина #bezpilOta GCS: изображение с камеры, HUD, мини-карта, батарея, GPS, прогресс миссии и полётные команды.
ИНТЕРФЕЙС / ВИЗУАЛЬНЫЙ ПРИМЕРВидеокабина и полётные команды

HUD, телеметрия, мини-карта и прогресс миссии находятся рядом с командами управления. Пример помогает сориентироваться в операторских рабочих поверхностях.

05
CONNECT A REAL FC

WebSerial flow по localhost

bashЗапуск development server
npm run dev
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.
01

Открыть localhost

Перейдите на http://localhost:4000 в Chromium‑browser.

02

Подключить FC

Используйте data USB cable, нажмите Connect и выберите serial port в browser prompt.

03

Serial open

Browser получает user gesture permission и открывает port.

04

Heartbeat

Mission Control ждёт FC heartbeat и определяет autopilot/vehicle.

05

Capabilities

Запрашивает AUTOPILOT_VERSION и протокольные возможности.

06

Streams + params

Запрашивает telemetry streams и скачивает parameters; проектный ориентир handshake — 2–5 секунд.

06
BROWSER SECURITY

WebSerial работает только в secure context

WebSerial, WebUSB и Web Bluetooth требуют HTTPS либо специального доверия к localhost. Поэтому http://localhost:4000 допускается, а http://<lan-ip>:4000 с другого устройства не получает эти APIs. Для hardware access на другом устройстве нужен HTTPS или desktop/Electron build.

Подключение к Drone Agent через обычный WebSocket и REST не использует WebSerial permission, но browser mixed-content rules всё равно важны: HTTPS‑страница может заблокировать plain HTTP/WS Agent. Для полностью локального plain‑HTTP режима GCS и Agent должны быть доступны в согласованном контексте.

07
LAN SELF-HOSTING

Local server и Agent в одной сети

textLAN addresses
npm run dev

# GCS on this machine
http://localhost:4000

# GCS from another LAN client
http://<your-lan-ip>:4000

# Example KairOS Agent address
http://kairos.local:8080
http://192.168.1.50:8080
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.
08
SITL

Физика и протокол без реального аппарата

bashЦелевой SITL bridge — после публикации компонента
cd KairOS_Drone-Agent/tools/sitl
npm install
npm start

ArduPilot SITL должен быть установлен отдельно; binary обычно находится в ~/.ardupilot/. Bridge соединяет simulator telemetry с browser transport. Это безопаснее первого протокольного эксперимента на аппарате, но всё ещё требует проверки версий, params и mission behavior.

Экран симуляции SOFTWARE SITL: карта маршрута, прохождение точек, телеметрия, видео и журнал событий миссии.
ИНТЕРФЕЙС / ВИЗУАЛЬНЫЙ ПРИМЕРМиссия в контексте SOFTWARE SITL

На экране симуляции видны карта, прохождение waypoint, телеметрия и события перехода между точками. Журнал даёт контекст для проверки поведения миссии.

09
DESKTOP APP

Electron для hardware APIs и автономного пакета

bashKairOS desktop scripts
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:build
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.

Для планирования принят ориентир около 200 MB на диске и 200–300 MB RAM. Реальные требования зависят от platform/runtime version и будут опубликованы вместе со сборкой Mission Control.

10
ENVIRONMENT

Переменные режима и внешней инфраструктуры

VariableDefaultНазначение
NEXT_PUBLIC_DEMO_MODEfalseСемь simulated drones вместо реальных sources
PORT4000Development server port
NEXT_PUBLIC_CONVEX_URLnoneOptional Convex backend
NEXT_PUBLIC_MQTT_URLnoneOptional MQTT broker

Для local/direct mode cloud variables не нужны. Отсутствие Convex или MQTT не должно блокировать direct USB, local Agent discovery или offline mission planning.

11
PROJECT STRUCTURE

Целевая структура отдельного GCS

textЦелевая структура репозитория
KairOS_Drone-Agent/
├── agent/                onboard runtime
├── api/                  local control surface
├── protocols/            MAVLink and MSP adapters
├── media/                video transports
├── extensions/           sandbox runtime and SDK
├── tools/sitl/           simulator bridge
├── deploy/systemd/       Linux services
├── docs/                 project documentation
└── tests/                contracts and hardware profiles