Aller au contenu

Installation

Ce guide détaille les étapes nécessaires pour déployer le système complet. La plateforme cible privilégiée (et exigée pour les fonctionnalités matérielles multi-drones) est Linux.

Prérequis Système

Afin de pouvoir contrôler un essaim de drones et utiliser les ressources matérielles adéquates, s'assurer que la machine hébergeant le backend satisfait les éléments suivants :

  • Matériel Réseau : L'architecture multi-drones exige des cartes réseau distinctes. Prévoyez 1 carte Wi-Fi dédiée par drone TELLO à contrôler, plus 1 carte réseau principale (filaire ou Wi-Fi intégré) pour maintenir l'accès au réseau local de la machine (ou à Internet).
  • Système d'exploitation : Distribution Linux strictement requise, de préférence Debian ou Fedora. Les namespaces réseau (nécessaires pour isoler le trafic multi-drones) dépendent du noyau Linux.
  • Outils réseau et média :
  • socat (redirection de flux vidéo ou de sockets TCP/UDP)
  • ffmpeg (pour le décodage ou l'encodage de la vidéo drone)
  • iw (essentiel pour la gestion et l'attribution dynamique des cartes Wi-Fi)

Sur Debian / dérivés : sudo apt install iw socat ffmpeg Sur Fedora : sudo dnf install iw socat ffmpeg

  • Langage : Python 3.11 minimum. Nous recommandons vivement l'utilisation de uv (un installeur ultrarapide en Rust).
  • Installer uv : curl -LsSf https://astral.sh/uv/install.sh | sh
  • Matériel IA (Uniquement pour le module optionnel de détection vidéo) : Une carte graphique (GPU) NVIDIA avec CUDA 13 et TensorRT installés, pour exécuter des modèles YOLO.

Méthodes d'Installation

Il existe plusieurs façons d'installer l'application selon que uv (recommandé) ou python standard est utilisé. Si compiler l'application n'est pas nécessaire, il est toujours possible de télécharger l'archive pré-générée :

wget https://github.com/theking90000/drone-control/releases/download/latest/drone-control-easy-install.zip
unzip drone-control-easy-install.zip
cd drone-control-easy-install

Via uv tool (La plus rapide et propre)

Cette approche installe l'application globale de façon isolée :

  • Sans IA : uv tool install -p 3.11 --find-links ./dist 'drone-control-backend[tello]'
  • Avec toutes les features (IA incluse) : uv tool install -p 3.11 --find-links ./dist 'drone-control-backend[full]'

Via paquet standard environnement virtuel (avec uv)

S'il est préféré d'utiliser une installation Python en environnement virtuel normal :

uv venv -p 3.11
source .venv/bin/activate
uv pip install --find-links ./dist 'drone-control-backend[tello]'

Méthode Sans uv (Via Vanilla pip)

Bien que moins performant, il est possible d'utiliser l'écosystème Python par défaut :

python3.11 -m venv .venv
source .venv/bin/activate
pip install --find-links ./dist 'drone-control-backend[tello]'

Compilation depuis le code source (Optionnel)

Pratique pour effectuer des développements propres (par ex. pour l'interface UI Vite/React).

  1. Cloner et packager : Depuis la racine du projet, lancer :

    make build
    

    (Cette commande lance la compilation du frontend puis génère les exécutables Python .whl dans le dossier dist/)