CONCEITO E DESENVOLVIMENTODESPORTO NÃO TRIPULADO · #bezpiLOTa · KAIROS DRONE AGENTDocumentação
#bezpiLOTa→Drone Agent→Extensões
KairOS / DRONE AGENT / 06

Um pacote assinado recebe um conjunto limitado de capacidades de hardware, MAVLink, telemetria, missão e rede, executa-se num processo independente e comunica com o anfitrião por IPC verificável. Uma falha da extensão não deve parar serviços críticos de voo.

NÃO LANÇADO

O modelo de extensões e a CLI são descritos como contrato previsto; registo, raiz de assinatura e SDK público KairOS ainda não foram lançados.

Repositório KairOS ↗
29permissões de capacidades
ED25519assinatura do pacote
03plugins integrados
CGROUPaisolamento de recursos
01
SISTEMA DE EXTENSÕES ASSINADAS

Cinco limites de proteção

01

Pacote

A extensão é empacotada em .kairosplug com manifesto, versão, ponto de entrada, capacidades pedidas e assinatura.

02

Confiança

A assinatura Ed25519 é verificada antes da extração; a lista de revogação aplica-se no arranque. Pacotes não assinados só são permitidos no modo de desenvolvimento.

03

Autorização do operador

As permissões são apresentadas antes da instalação; permissões sensíveis exigem confirmação adicional separada.

04

Limite de processo

Cada plugin executa-se no próprio subprocesso/cgroup com limites de CPU, memória e PID.

05

IPC de capacidades

RPC msgpack por socket Unix verifica o token de capacidade em cada chamada à API do anfitrião.

02
PERMISSÕES

Permissões agrupadas pelo recurso real

GrupoExemplos de capacidades
HardwareUART, I²C, SPI, GPIO, USB serial/UVC, CSI
MAVLinkLeitura, escrita e registo de um componente próprio
TelemetriaSubscrição, extensão e publicação de eventos
Sensores / carga útilRegisto de sensor ou interface de carga útil
MissãoLeitura, escrita e registo de dados de missão
RedeSaída HTTPS apenas para a lista permitida do manifesto

Uma permissão não significa acesso direto a todo o sistema. Por exemplo, UART deve conceder um dispositivo específico ou identificador mediado, e a saída de rede apenas domínios previamente declarados. O operador pode revogar a autorização em Mission Control.

03
CRIAÇÃO DE EXTENSÕES

Manifesto e contexto mínimo do plugin

yamlManifesto mínimo KairOS
name: cell-balance-monitor
version: 0.1.0
agent:
  entry: cell_balance:run
  capabilities:
    - telemetry.read
    - event.publish
Interface prevista KairOS: o comando só será executável após o lançamento do componente correspondente.
pythonExemplo de extensão do 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)},
            )
Interface prevista KairOS: o comando só será executável após o lançamento do componente correspondente.
04
CLI DE PLUGINS

Instalação, permissões, registos e testes

bashCLI prevista 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>
Interface prevista KairOS: o comando só será executável após o lançamento do componente correspondente.

install verifica pacote e assinatura e mostra as permissões pedidas. enable inicia o processo apenas após autorização. info e perms servem para auditoria, logs para diagnóstico e test para o fluxo local do autor. A remoção deve parar o processo e limpar o seu estado delimitado sem tocar noutras extensões.

05
INTEGRADOS

Três plugins básicos e extensões de dispositivos

01

geofence

Verifica a posição relativamente às zonas permitidas e publica um evento observável.

02

telemetry-logger

Regista os fluxos de telemetria selecionados com limite de volume e ciclo de vida explícito.

03

mavlink-inspector

Mostra tramas para diagnóstico sem alterar o estado de voo por predefinição.

04

Câmara térmica

FLIR Lepton USB UVC, Y16 radiométrico, Celsius, paleta/isoterma e interface de câmara MAVLink.

05

MAVLink Gimbal v2

Ponte de controlador externo, comandos e estado de atitude e componente 154.

06
O QUE É LANÇADO / O QUE VEM DEPOIS

Separação entre a primeira versão e as etapas seguintes

Primeira versão previstaEtapa seguinte
Instalação local assinadaRegisto alojado com pesquisa
Aplicação das capacidades em cada IPCPacote público independente kairos_sdk
Plugins integrados e CLIGerador de projetos e modelos
Revisão e revogação de permissõesInstalação a partir de URL Git
Executor de testesCamada comum de controladores e documentação completa para autores