O agente previsto instala-se num SBC Linux ligado ao controlador de voo por UART ou USB. Após lançamento, o painel de estado deverá mostrar o URL local e a lista no navegador confirmar MAVLink, vídeo, rede e transferência para Mission Control.
O instalador próprio KairOS ainda não foi publicado; a página define um contrato de instalação verificável sem URL falso.
Repositório KairOS ↗Nesta página +
Agente predominantemente em Rust junto ao controlador de voo
O agente previsto deve funcionar num SBC auxiliar, receber heartbeat do FC e disponibilizar REST em 8080, encaminhamento MAVLink, vídeo, rádio e nuvem opcional. A camada Python destina-se a IA/visão, inicialização de hardware e ambiente de plugins. systemd supervisiona cada serviço e dependências.
Hardware e software antes da instalação
- Computador de placa única Linux compatível.
- Controlador de voo com ArduPilot, PX4, Betaflight ou iNav, ligado por UART ou USB.
- Câmara USB UVC ou CSI apenas se precisar de vídeo.
- Acesso à Internet no SBC durante a instalação de dependências.
- Raspberry Pi OS Bookworm, Ubuntu 22.04+, Armbian, Debian 12+ ou Linux compatível.
- Acesso SSH e curl.
- Alimentação independente e estável para o SBC, dimensionada para câmara, rádios e carga máxima.
A ferramenta de gravação prevista escolhe a placa e gera o comando
Carregar o sistema operativo original
Grave e inicie um sistema operativo compatível do fabricante, ative SSH e atualize o sistema base.
Abrir a ferramenta de gravação
Após publicação de Mission Control, escolha Drone Agent a bordo e o modelo exato de placa.
Copie o comando gerado
A ferramenta gera um comando curl numa linha para o instalador atual e o perfil selecionado.
Execute por SSH
O script exige sudo, instala dependências e cria o utilizador/diretórios, configuração e unidades systemd.
Aguarde um estado saudável
A deteção da placa, arranque dos serviços e primeira verificação de estado devem terminar sem unidades em falha.
O planeamento prevê 3–8 minutos, mas isto não constitui um SLA do KairOS. Não é inserido deliberadamente um URL estático: o Flash Tool publicado deve fornecer o comando correto. Um kairos/install.sh inexistente seria uma instrução enganadora e potencialmente perigosa.
Primeiro o estado, depois o URL
kairos| Via | URL |
|---|---|
| Na mesma máquina | http://127.0.0.1:8080 |
| mDNS | http://kairos.local:8080 |
| Hotspot do Agent | http://192.168.4.1 |
| Partilha USB | http://10.55.0.1:8080 |
| LAN | http://<sbc-ip>:8080 |
kairos status
kairos status --jsonSete ecrãs antes da passagem para Mission Control
Identificação
Nome, papel, perfil da placa, versão e fuso horário.
MAVLink
Heartbeat do FC, firmware, porta série, velocidade de comunicação, IDs de sistema/componente e URL do encaminhador.
Vídeo
Deteção da câmara, resolução, codec, WHEP local e estado de gravação; pode ser ignorado se não houver câmara.
Rede
Hotspot/LAN, cliente Wi-Fi, Ethernet, partilha USB, modem e mDNS.
Acesso remoto
Túnel/nuvem opcionais; o modo local é um estado completo e válido.
Mission Control
Abra o GCS e adicione um nó pelo nome de anfitrião/IP ou descubra-o automaticamente.
Concluir
Guarde um resumo de suporte, verifique os serviços e termine a configuração inicial.
CLI mínima para estado e ciclo de vida
kairos
kairos status
kairos status --json
kairos update
kairos uninstallAs operações de estado apenas leem o estado. Atualizações e desinstalação alteram o sistema e exigem uma decisão separada do operador, configuração guardada e plano de recuperação. Não execute comandos do ciclo de vida durante a preparação ou execução de um voo.
Diagnostique supervisor, MAVLink e câmara separadamente
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- Se :8080 não estiver à escuta, verifique o estado do supervisor/serviço antes da cache do navegador.
- Se o dispositivo série não aparecer, verifique o cabo, alimentação do FC, enumeração USB e permissões.
- Se não houver heartbeat, compare a velocidade de comunicação e as configurações da porta de telemetria do FC.
- Se /dev/video* existir mas o fluxo não arrancar, verifique os formatos e se outro processo ocupa o dispositivo.
- Não publique registos do journal que contenham chaves API, credenciais Wi-Fi ou estado de emparelhamento.
