Целевой Agent устанавливается на Linux SBC, подключённый к flight controller по UART или USB. После выпуска status cockpit должен показывать локальный URL, а browser checklist — подтверждать MAVLink, video, network и передачу в Mission Control.
Собственный установщик KairOS ещё не опубликован; страница фиксирует проверяемый install‑контракт без ложного URL.
Репозиторий KairOS ↗На этой странице +
Rust-first Agent рядом с полётным контроллером
Целевой Agent должен работать на companion SBC, получать FC heartbeat и обслуживать REST на 8080, MAVLink routing, video, radio и optional cloud. Python‑слой предусматривается для AI/vision, hardware bootstrap и plugin runtime. systemd контролирует каждый service и его зависимости.
Hardware и software перед установкой
- Поддерживаемый Linux single-board computer.
- Flight controller с ArduPilot, PX4, Betaflight или iNav, соединённый UART или USB.
- USB UVC или CSI camera только если требуется video.
- Internet access на SBC во время установки зависимостей.
- Raspberry Pi OS Bookworm, Ubuntu 22.04+, Armbian, Debian 12+ или совместимый Linux.
- SSH access и curl.
- Отдельное стабильное питание для SBC, рассчитанное на camera, radios и peak load.
Целевой Flash Tool выбирает board и формирует команду
Загрузить stock OS
Запишите и запустите поддерживаемую ОС производителя, включите SSH и обновите базовую систему.
Открыть Flash Tool
После публикации Mission Control выберите air-side Drone Agent и точную модель платы.
Скопировать generated command
Tool формирует one-line curl для актуального installer и выбранного profile.
Выполнить по SSH
Script требует sudo, устанавливает dependencies и создаёт user/directories, config и systemd units.
Дождаться health
Board detection, service start и первый status должны завершиться без failed units.
Для планирования принят ориентир 3–8 минут, но это не KairOS SLA. Статический URL намеренно не подставляется: правильную команду должен выдавать выпущенный Flash Tool. Несуществующий kairos/install.sh был бы ложной и потенциально опасной инструкцией.
Сначала status, затем URL
kairos| Путь | URL |
|---|---|
| Same machine | http://127.0.0.1:8080 |
| mDNS | http://kairos.local:8080 |
| Agent hotspot | http://192.168.4.1 |
| USB tether | http://10.55.0.1:8080 |
| LAN | http://<sbc-ip>:8080 |
kairos status
kairos status --jsonСемь экранов до передачи в Mission Control
Identify
Имя, роль, board profile, version и часовой пояс.
MAVLink
FC heartbeat, firmware, serial port, baud, system/component IDs и router URL.
Video
Camera detection, resolution, codec, local WHEP и recording state; можно пропустить без камеры.
Network
Hotspot/LAN, Wi‑Fi client, Ethernet, USB tether, modem и mDNS.
Remote access
Optional tunnel/cloud; local mode является полноценным и правильным состоянием.
Mission Control
Открыть GCS и добавить node по hostname/IP либо обнаружить автоматически.
Finish
Сохранить support summary, проверить services и выйти из onboarding.
Минимальный CLI для состояния и lifecycle
kairos
kairos status
kairos status --json
kairos update
kairos uninstallStatus operations read state. Update и uninstall меняют систему и требуют отдельного решения оператора, сохранённой конфигурации и recovery plan. Не запускайте lifecycle command во время подготовки или выполнения полёта.
Разделите supervisor, MAVLink и camera
journalctl -u kairos-supervisor -n 50 --no-pager
ss -tlnp | grep 8080ls -la /dev/ttyUSB* /dev/ttyAMA* /dev/ttyACM* 2>/dev/null
journalctl -u kairos-mavlink -n 50 --no-pagerls -la /dev/video*
v4l2-ctl --list-devices- Если :8080 не слушает, сначала проверяйте supervisor/service state, а не browser cache.
- Если serial device отсутствует, проверьте кабель, питание FC, USB enumeration и permissions.
- Если heartbeat не появляется, сверяйте baud и FC telemetry port settings.
- Если /dev/video* есть, но stream не запускается, проверяйте formats и занятость устройства другим process.
- Не публикуйте journal с API keys, Wi‑Fi credentials или pairing state.
