CONCEPTO Y DESARROLLODEPORTE NO TRIPULADO · #bezpiLOTa · KAIROS DRONE AGENTDocumentación
#bezpiLOTa→Drone Agent→Extensiones
KairOS / DRONE AGENT / 06

Un paquete firmado recibe un conjunto limitado de capacidades de hardware, MAVLink, telemetría, misión y red, se ejecuta en un proceso independiente y se comunica con el anfitrión mediante IPC verificable. Un fallo de la extensión no debe detener servicios críticos de vuelo.

NO PUBLICADO

El modelo de extensiones y la CLI se describen como contrato previsto; el registro, la raíz de firma y el SDK público de KairOS aún no se han publicado.

Repositorio de KairOS ↗
29permisos de capacidades
ED25519firma del paquete
03complementos integrados
CGROUPaislamiento de recursos
01
SISTEMA DE EXTENSIONES FIRMADAS

Cinco límites de protección

01

Paquete

La extensión se empaqueta en .kairosplug con manifiesto, versión, punto de entrada, capacidades solicitadas y firma.

02

Confianza

La firma Ed25519 se verifica antes de descomprimir; la lista de revocación se aplica al arrancar. Los paquetes sin firma solo se permiten en modo desarrollador.

03

Autorización del operador

Los permisos se muestran a la persona antes de instalar; los permisos sensibles requieren una confirmación adicional independiente.

04

Límite de proceso

Cada complemento se ejecuta en su propio subproceso/cgroup con límites de CPU, memoria y PID.

05

IPC de capacidades

RPC msgpack mediante socket Unix verifica el token de capacidad en cada llamada a la API del anfitrión.

02
PERMISOS

Los permisos se agrupan por recurso real

GrupoEjemplos de capacidades
HardwareUART, I²C, SPI, GPIO, USB serial/UVC, CSI
MAVLinkLectura, escritura y registro de un componente propio
TelemetríaSuscripción, ampliación y publicación de eventos
Sensores / carga útilRegistro de un sensor o interfaz de carga útil
MisiónLectura, escritura y registro de datos de misión
RedSalida HTTPS solo a la lista permitida del manifiesto

Un permiso no significa acceso directo a todo el sistema. Por ejemplo, el permiso UART debe conceder un dispositivo concreto o un identificador mediado, y la salida de red, solo dominios declarados previamente. El operador puede revocar la autorización desde Mission Control.

03
DESARROLLO DE EXTENSIONES

Manifiesto y contexto mínimo del complemento

yamlManifiesto mínimo de KairOS
name: cell-balance-monitor
version: 0.1.0
agent:
  entry: cell_balance:run
  capabilities:
    - telemetry.read
    - event.publish
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.
pythonEjemplo de extensión del agente
from kairos_sdk import PluginContext

async def run(ctx: PluginContext):
    async for battery in ctx.telemetry.subscribe("telemetry.battery"):
        cells = battery.get("cells", [])
        if cells and max(cells) - min(cells) > 0.15:
            await ctx.events.publish(
                "alert.cell_imbalance",
                {"spread_v": max(cells) - min(cells)},
            )
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.
04
CLI DE COMPLEMENTOS

Instalación, permisos, registros y pruebas

bashCLI prevista de KairOS
kairos plugin install ./thermal-cam.kairosplug
kairos plugin enable thermal-cam
kairos plugin list
kairos plugin disable <name>
kairos plugin remove <name>
kairos plugin info <name>
kairos plugin perms <name>
kairos plugin logs <name>
kairos plugin test <path>
Interfaz prevista de KairOS: el comando solo será ejecutable cuando se publique el componente correspondiente.

install comprueba el paquete y la firma y después muestra los permisos solicitados. enable inicia el proceso solo después de la autorización. info y perms sirven para auditoría; logs, para diagnóstico; test, para el flujo local del autor. La eliminación debe detener el proceso y limpiar su estado acotado sin afectar a otras extensiones.

05
INTEGRADOS

Tres complementos básicos y extensiones de dispositivos

01

geofence

Comprueba la posición respecto a las zonas permitidas y publica un evento observable.

02

telemetry-logger

Registra los flujos de telemetría seleccionados con límite de volumen y ciclo de vida explícito.

03

mavlink-inspector

Muestra tramas para diagnóstico sin modificar el estado de vuelo por defecto.

04

Cámara térmica

FLIR Lepton USB UVC, Y16 radiométrico, grados Celsius, paleta/isoterma e interfaz de cámara MAVLink.

05

MAVLink Gimbal v2

Puente de controlador externo, comandos y estado de actitud y componente 154.

06
QUÉ SE PUBLICA / QUÉ VIENE DESPUÉS

Separación entre la primera versión y las siguientes etapas

Primera versión previstaSiguiente etapa
Instalación local firmadaRegistro alojado con búsqueda
Aplicación de capacidades en cada IPCPaquete público independiente kairos_sdk
Complementos integrados y CLIGenerador de proyectos y plantillas
Revisión y revocación de permisosInstalación desde URL de Git
Ejecutor de pruebasCapa compartida de controladores y documentación completa para autores