El agente previsto se instala en un SBC Linux conectado al controlador de vuelo por UART o USB. Tras publicarse, el panel de estado deberá mostrar la URL local, y la lista del navegador deberá confirmar MAVLink, vídeo, red y traspaso a Mission Control.
El instalador propio de KairOS todavía no está publicado; la página define un contrato de instalación verificable sin URL ficticia.
Repositorio de KairOS ↗En esta página +
Agente basado principalmente en Rust junto al controlador de vuelo
El agente previsto debe ejecutarse en un SBC auxiliar, recibir heartbeat del FC y ofrecer REST en 8080, enrutamiento MAVLink, vídeo, radio y nube opcional. La capa Python está prevista para IA/visión, inicialización del hardware y entorno de complementos. systemd supervisa cada servicio y sus dependencias.
Hardware y software antes de instalar
- Ordenador de placa única Linux compatible.
- Controlador de vuelo con ArduPilot, PX4, Betaflight o iNav, conectado por UART o USB.
- Cámara USB UVC o CSI solo si se necesita vídeo.
- Acceso a Internet en el SBC durante la instalación de dependencias.
- Raspberry Pi OS Bookworm, Ubuntu 22.04+, Armbian, Debian 12+ o Linux compatible.
- Acceso SSH y curl.
- Alimentación independiente y estable para el SBC, dimensionada para cámara, radios y carga máxima.
La herramienta de flasheo prevista elige la placa y genera el comando
Cargar el sistema operativo original
Grabe y arranque un sistema operativo compatible del fabricante, active SSH y actualice el sistema base.
Abrir la herramienta de flasheo
Una vez publicado Mission Control, seleccione Drone Agent a bordo y el modelo exacto de placa.
Copiar el comando generado
La herramienta genera un comando curl de una línea para el instalador actual y el perfil elegido.
Ejecutar por SSH
El script requiere sudo, instala dependencias y crea usuario, directorios, configuración y unidades systemd.
Esperar al estado saludable
La detección de placa, el inicio de servicios y el primer estado deben completarse sin unidades fallidas.
Como referencia de planificación se prevén 3–8 minutos, pero no es un SLA de KairOS. No se proporciona deliberadamente una URL estática: la herramienta de flasheo publicada debe generar el comando correcto. Un kairos/install.sh inexistente sería una instrucción falsa y potencialmente peligrosa.
Primero el estado, después la URL
kairos| Vía | URL |
|---|---|
| Misma máquina | http://127.0.0.1:8080 |
| mDNS | http://kairos.local:8080 |
| Punto de acceso del agente | http://192.168.4.1 |
| Conexión compartida USB | http://10.55.0.1:8080 |
| LAN | http://<sbc-ip>:8080 |
kairos status
kairos status --jsonSiete pantallas antes del traspaso a Mission Control
Identificación
Nombre, rol, perfil de placa, versión y zona horaria.
MAVLink
Heartbeat del FC, firmware, puerto serie, baudios, ID de sistema y componente y URL del enrutador.
Vídeo
Detección de cámara, resolución, códec, WHEP local y estado de grabación; se puede omitir si no hay cámara.
Red
Punto de acceso/LAN, cliente Wi-Fi, Ethernet, conexión compartida USB, módem y mDNS.
Acceso remoto
Túnel/nube opcionales; el modo local es un estado completo y correcto.
Mission Control
Abrir el GCS y añadir el nodo por nombre de host/IP o descubrirlo automáticamente.
Finalizar
Guardar el resumen de soporte, comprobar los servicios y salir de la incorporación.
CLI mínima para estado y ciclo de vida
kairos
kairos status
kairos status --json
kairos update
kairos uninstallLas operaciones de estado leen información. Update y uninstall modifican el sistema y requieren una decisión independiente del operador, configuración guardada y plan de recuperación. No ejecute comandos de ciclo de vida durante la preparación o ejecución de un vuelo.
Separar supervisor, MAVLink y cámara
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- Si :8080 no escucha, compruebe primero el estado del supervisor y los servicios, no la caché del navegador.
- Si falta el dispositivo serie, compruebe cable, alimentación del FC, enumeración USB y permisos.
- Si no aparece el heartbeat, compruebe baudios y configuración del puerto de telemetría del FC.
- Si existe /dev/video* pero el flujo no arranca, compruebe formatos y si otro proceso está utilizando el dispositivo.
- No publique registros con claves API, credenciales Wi-Fi o estado de emparejamiento.
