CONCEPT ET DÉVELOPPEMENTSPORT SANS PILOTE · #bezpiLOTa · KAIROS DRONE AGENTDocumentation
#bezpiLOTa→Premiers pas→Mission Control
DÉMARRAGE RAPIDE / MISSION CONTROL

Le scénario cible débute en démonstration locale : explorez Tableau de bord, Plan, Configuration, Commande de vol et Simulation sur des données synthétiques. Le FC réel n’est connecté qu’après publication du composant et vérification du contexte sécurisé, du flux série et de la sécurité.

PRÉVU

#bezpiLOTa Mission Control est un composant voisin, pas une partie de KairOS Drone Agent ; son dépôt exécutable n’est pas encore publié.

Dépôt KairOS ↗
NODE 20+prérequis d’exécution
4000port de développement par défaut
07profils de démonstration cibles
NO FCprérequis de démonstration
01
PRÉREQUIS

Environnement de développement et navigateur

  • Node.js 20 ou ultérieur.
  • npm 9 ou ultérieur.
  • Git pour cloner et actualiser les sources après publication du dépôt.
  • Chrome, Edge ou Firefox pour l’interface ordinaire ; WebSerial/WebUSB exigent Chromium.
  • Câble USB avec lignes de données si un FC réel sera connecté.
bashVérification de la chaîne d’outils
node --version
npm --version
git --version
02
OPTION A

Un environnement de démonstration sûr sans FC

La démonstration permet d’explorer l’interface sans connecter d’appareil réel. Elle utilise une télémétrie simulée et ne présente pas un banc d’essai comme un système de vol opérationnel.

03
OPTION B

Mode de démonstration local

bashParcours de démonstration local cible
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run dev
Interface cible KairOS : la commande ne devient exécutable qu’après la publication du composant correspondant.

L’interface prévue doit s’ouvrir sur http://localhost:4000. Avec NEXT_PUBLIC_DEMO_MODE=true, aucune base externe, SITL ou matériel physique n’est requis. Ce bloc fixe un contrat de lancement sans affirmer que le dépôt actuel KairOS Drone Agent contient la commande.

04
EXPLORER L’INTERFACE

Cinq surfaces de travail principales

01

Tableau de bord

Attitude, GPS/altitude, batterie, mode de vol, chemin de connexion et alertes système.

02

Plan

Points de passage, sept générateurs, altitude/vitesse/déclenchement caméra, geofences, ralliement, QGC WPL/KML/CSV.

03

Configurer

Failsafe, PID, alimentation, OSD, ports, capteurs, nacelle et panneaux propres au micrologiciel.

04

Commande de vol

Armement/désarmement, plus de 25 modes ArduPilot, manette/HOTAS 50 Hz, clavier et point guidé.

05

Simuler

Trajectoire 3D, suivi du terrain, marqueurs caméra, durées et profil d’altitude.

Cockpit vidéo #bezpilOta GCS : caméra, HUD, mini-carte, batterie, GPS, progression et commandes de vol.
INTERFACE / EXEMPLE VISUELCockpit vidéo et commandes de vol

HUD, télémétrie, mini-carte et progression côtoient les commandes. Cet exemple aide à se repérer dans les surfaces opérateur.

05
CONNECTER UN FC RÉEL

Parcours WebSerial sur localhost

bashLancer le serveur de développement
npm run dev
Interface cible KairOS : la commande ne devient exécutable qu’après la publication du composant correspondant.
01

Ouvrir localhost

Ouvrez http://localhost:4000 dans Chromium.

02

Connecter le FC

Utilisez un câble USB de données, cliquez sur Connect et choisissez le port série dans la demande du navigateur.

03

Ouverture série

Le navigateur obtient l’autorisation par une action utilisateur puis ouvre le port.

04

Heartbeat

Mission Control attend le heartbeat du FC et identifie pilote automatique et appareil.

05

Capacités

Demande AUTOPILOT_VERSION et les capacités du protocole.

06

Flux et paramètres

Demande les flux de télémétrie et télécharge les paramètres ; la négociation cible dure 2–5 secondes.

06
SÉCURITÉ DU NAVIGATEUR

WebSerial exige un contexte sécurisé

WebSerial, WebUSB et Web Bluetooth exigent HTTPS ou la confiance spéciale de localhost. http://localhost:4000 est donc admis, mais http://<lan-ip>:4000 depuis un autre appareil ne donne pas ces API. L’accès matériel distant nécessite HTTPS ou une version bureau/Electron.

La connexion à Drone Agent par WebSocket et REST ordinaires n’utilise pas l’autorisation WebSerial, mais les règles de contenu mixte restent applicables : une page HTTPS peut bloquer un agent HTTP/WS. En mode entièrement local HTTP, GCS et agent doivent être accessibles dans un contexte cohérent.

07
AUTO-HÉBERGEMENT LAN

Serveur local et agent sur le même réseau

textAdresses LAN
npm run dev

# GCS on this machine
http://localhost:4000

# GCS from another LAN client
http://<your-lan-ip>:4000

# Example KairOS Agent address
http://kairos.local:8080
http://192.168.1.50:8080
Interface cible KairOS : la commande ne devient exécutable qu’après la publication du composant correspondant.
08
SITL

Physique et protocoles sans appareil réel

bashPont SITL cible — après publication du composant
cd KairOS_Drone-Agent/tools/sitl
npm install
npm start

ArduPilot SITL s’installe séparément ; le binaire se trouve généralement dans ~/.ardupilot/. Le pont relie la télémétrie simulée au transport navigateur. C’est plus sûr qu’un premier essai de protocole sur appareil, mais versions, paramètres et comportement de mission doivent encore être vérifiés.

Écran de simulation SOFTWARE SITL : carte, franchissement de points, télémétrie, vidéo et journal de mission.
INTERFACE / EXEMPLE VISUELMission dans le contexte SOFTWARE SITL

L’écran de simulation montre carte, franchissement de points, télémétrie et événements de transition. Le journal aide à vérifier le comportement de mission.

09
APPLICATION DE BUREAU

Electron pour les API matérielles et un paquet autonome

bashScripts bureau KairOS
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:build
Interface cible KairOS : la commande ne devient exécutable qu’après la publication du composant correspondant.

La planification prévoit environ 200 Mo sur disque et 200–300 Mo de RAM. Les besoins réels dépendent de la plateforme et de l’environnement d’exécution, et seront publiés avec la version Mission Control.

10
ENVIRONNEMENT

Variables de mode et d’infrastructure externe

VariablePar défautFonction
NEXT_PUBLIC_DEMO_MODEfalseSept drones simulés à la place des sources réelles
PORT4000Port du serveur de développement
NEXT_PUBLIC_CONVEX_URLaucunBackend Convex facultatif
NEXT_PUBLIC_MQTT_URLaucunCourtier MQTT facultatif

Le mode local/direct n’exige pas de variables cloud. L’absence de Convex ou MQTT ne doit pas bloquer USB direct, découverte locale de l’agent ou planification hors ligne.

11
STRUCTURE DU PROJET

Structure cible du GCS distinct

textStructure cible du dépôt
KairOS_Drone-Agent/
├── agent/                onboard runtime
├── api/                  local control surface
├── protocols/            MAVLink and MSP adapters
├── media/                video transports
├── extensions/           sandbox runtime and SDK
├── tools/sitl/           simulator bridge
├── deploy/systemd/       Linux services
├── docs/                 project documentation
└── tests/                contracts and hardware profiles