Station de base mobile¶
Centre de commande et de contrôle de la flotte Fleet. Vit dans un véhicule de support (van, pickup, remorque), opère les 3 véhicules.
Architecture¶
┌─────────────────────────────────────┐
│ Toit véhicule │
│ │
│ Mât télescopique 10 m │
│ ↓ │
│ Antenne LoRa 915 MHz omni │
│ (Diamond X300 ou équivalent) │
└──────────────┬──────────────────────┘
│ LMR400 coax
│ (passage étanche
│ par gland sur toit)
│
┌───────────────────────────┴─────────────────────┐
│ Espace cabine │
│ │
│ ┌─────────────────┐ ┌──────────────────┐ │
│ │ MacBook │ │ Radiomaster │ │
│ │ (laptop ops) │←──►│ Boxer │ │
│ │ │USB │ ELRS 915 MHz TX │←──→│ Antenne LoRa
│ │ - QGC │ └──────────────────┘ │
│ │ - MAVProxy │ │
│ │ - Glue scripts │ ┌──────────────────┐ │
│ │ - Logging │ │ Lunettes ou │ │
│ └─────────────────┘ │ box monitor FPV │←──→│ Antennes 5.8 GHz
│ │ 5.8 GHz │ │ diversity
│ ┌─────────────────┐ └──────────────────┘ │
│ │ ISDT Q6 Nano │ │
│ │ chargeur DC-DC │ │
│ │ 12V → 4S Li-ion │ │
│ └─────────────────┘ │
│ │ │
│ └─── Système 12V véhicule ────────────┘
│ │
│ ┌─────────────────┐ │
│ │ Starlink │ │
│ │ (existant) │ Internet optionnel │
│ └─────────────────┘ │
└─────────────────────────────────────────────────┘
Sous-systèmes¶
Compute — MacBook en mode serveur¶
Architecture clé : le laptop tourne en serveur headless dans le véhicule. Pas de pilotage devant le laptop. L'interface se fait via tablet, phone, ou client Tailscale depuis n'importe où sur le réseau privé.
Laptop (véhicule) Opérateur (où il veut)
┌──────────────────┐ ┌─────────────────┐
│ Services : │ │ iPad / phone / │
│ MAVProxy │←─Tailscale→│ laptop client │
│ mavlink-router │ │ │
│ QGC (VNC) ou │ │ Dashboard web │
│ web dashboard │ │ (lecture) │
│ Map tiles │ └─────────────────┘
│ Photo server │
│ Logging │ Boxer (RF + BT/WiFi)
│ Storage SSD │←──BT/WiFi──┤ ELRS 915 TX │
└──────────────────┘ │ pilotage hands-on│
└─────────────────┘
Bénéfice opérationnel : superviser une mission autonome depuis l'extérieur, ou accéder au système à distance via Starlink → Tailscale (depuis n'importe où).
Contraintes : - Tous les services tournent en auto-start (launchd ou Docker Compose). - La Boxer doit relayer MAVLink au laptop via Bluetooth ou WiFi (EdgeTX supporte les deux). - Le box monitor FPV reste direct (analogique → yeux), pas via le laptop (latence prohibitive pour pilotage). - Le laptop peut capturer le flux 5.8 GHz en parallèle pour l'enregistrement et le partage dashboard, mais pas comme chemin principal de pilotage.
Stack logicielle macOS :
| Logiciel | Installation | Rôle |
|---|---|---|
| MAVProxy | pip install MAVProxy ou Homebrew |
Hub MAVLink CLI, logging, routage UDP. Service auto-start. |
| mavlink-router | Homebrew ou compilé | Routeur multi-endpoints alternatif à MAVProxy |
| QGroundControl | DMG officiel | GUI carte + télémétrie. Accès via VNC/Screen Sharing depuis tablet. |
| Tailscale | DMG officiel | Réseau privé pour accès remote (tablet, phone, autres machines) |
| rust-mavlink ou gomavlib | Cargo / go get | Glue logicielle multi-véhicules + dashboard web |
| EdgeTX Companion | DMG officiel | Configuration Boxer, modèles, mixages |
| ArduPilot SITL | Compilé localement ou via Docker | Simulation Phase 0.5 |
| rsync + systemd côté véhicules / launchd côté Mac | Natif | Offload auto des données véhicules au retour |
Note SITL sur macOS : ArduPilot SITL build sur macOS ARM mais Linux est le terrain de référence. Si tu rencontres des bugs SITL spécifiques macOS, fallback sur Docker avec image Ubuntu — l'overhead Apple Silicon est négligeable.
Stockage : SSD interne du laptop pour les logs et l'OS. SSD externe USB-C dédié pour les captations HD et l'archive Fleet (les vidéos vont vite remplir le SSD interne, et on veut pouvoir détacher ce stockage). Recommandation : Samsung T7 Shield 2 TB ou équivalent rugged (~250 $CAD). Capté dans la BOM ci-dessous.
Logs MAVLink ~10 MB par mission, captations HD au retour des véhicules ~1–5 GB par mission. 2 TB = espace pour 400+ missions de captation HD.
Réseau — Starlink (existant) + WiFi local¶
Internet (Starlink existant)¶
Présent dans le véhicule, non requis pour les ops mais disponible pour : - Téléchargement de tuiles cartes hors-ligne (NAV Drone, QGC offline maps). - Streaming live de contenu Estran (Phase 6). - Mise à jour firmware ArduPilot. - Sync cloud des logs et vidéos. - Accès remote à la flotte via Tailscale (depuis ailleurs sur la planète).
Réseau privé (Tailscale)¶
Tailscale crée un réseau mesh privé entre : - Le laptop ops (véhicule) - Tablet / phone (clients dashboard) - Laptop secondaire si applicable - Optionnel : un nœud cloud Estran (build server, archive)
Tous les services Fleet (MAVProxy port UDP, QGC VNC, dashboard web) sont accessibles uniquement via Tailscale → sécurité par défaut.
WiFi local (hotspot laptop ou point d'accès)¶
Pour l'offload automatique des véhicules au retour :
| Véhicule | Méthode | Trigger |
|---|---|---|
| Avion | Pull manuel SD card du RunCam | À chaque swap batterie |
| Rover | Auto-rsync via WiFi quand revient en zone laptop | systemd timer côté Pi détecte SSID disponible |
| Bateau | Idem rover | Idem |
Le Pi du rover/bateau est configuré pour :
1. Détecter le SSID du laptop (hotspot ou réseau base).
2. Se connecter automatiquement.
3. rsync les nouveaux fichiers vers /Volumes/FleetSSD/incoming/<vehicle>/<mission_id>/.
4. Indexer les vidéos avec timestamps GPS extraits du log MAVLink.
Aucune intervention manuelle.
RF — Antennes et câblage¶
Antenne LoRa 915 MHz au sol¶
Décision : omnidirectionnelle, raison : les spots changent souvent, pas de direction privilégiée.
Modèles candidats : - Diamond X300NA — 6.5 dBi gain, dual-band 144/440 MHz. Adapter pour 900 MHz à vérifier. ~80-100 $CAD. - Comet GP-9NMO — 8.4 dBi, dual-band. Idem, adapter pour 900 MHz. - Mobile Mark PSKN3-925 — purement 902-928 MHz, gain 3 dBi mais résonance optimale. - Antenne 915 MHz dédiée fibre ½ onde — ~50 $CAD, gain 3-5 dBi, parfaitement accordée.
À choisir : adapter une antenne radioamateur dual-band (gain plus élevé mais accord moins parfait) OU antenne dédiée 915 MHz (gain plus modeste mais accord parfait). Probable : antenne dédiée 915 MHz fibre pour V1, simplicité.
Antennes vidéo 5.8 GHz (réception FPV)¶
Configuration diversity standard : - 1× patch directionnelle gain ~10 dBi (devant) - 1× cloverleaf omni - Les lunettes/monitor combinent les deux signaux automatiquement.
Modèles dépendent du choix lunettes vs box monitor.
Câblage RF¶
LMR400 pour les longueurs > 3 m (du toit jusqu'à la radio dans la cabine). Plus cher (~5-8 $CAD/m) mais perte beaucoup plus faible que RG58. Sur 5 m de coax au 915 MHz : - RG58 : -3 dB (perte de la moitié du signal) - LMR400 : -0.6 dB
Les connecteurs : N-type (étanche, résistant) au toit, SMA côté radio.
Mât télescopique¶
Mât fibre de verre 10 m radio amateur, type Spiderbeam ou DX-Wire : - ~120-150 $CAD - Rétracté ~1.2 m pour stockage - Déploiement < 5 minutes - Fixation sur galerie de toit via plaque adapter
Interface humaine¶
Radiocommande¶
Radiomaster Boxer ELRS 915 MHz déjà décidé (Phase 1). Branchement USB au laptop pour SITL et configs.
Radiomaster Boxer M2 — radiocommande ELRS 915 MHz avec hall sensors gimbal, EdgeTX. Branchée USB au laptop pour passthrough joystick SITL. Photo : RadioMaster.
Vue POV — Box monitor (décidé)¶
Décision : box monitor analogique 5.8 GHz pour V1.
Rationnel : pilotage POV pur peu fréquent (décollage/atterrissage + transitions ~60-90 s par mission). 80 % du temps c'est le dashboard sur tablet avec carte + télémétrie qui est surveillé. Les lunettes immersives isoleraient inutilement. Lunettes en V2 si pilotage agressif requis.
Modèle candidat : FatShark Recon HD (~150 $CAD) ou Eachine LCD800D (~200 $CAD). Both intègrent un VRx 5.8 GHz et antennes diversity.
Affichage carte / dashboard¶
Pas l'écran du laptop — il est en mode serveur dans le véhicule. Affichage via : - iPad ou tablet, accédant le dashboard web ou QGC via VNC sur Tailscale. - Phone pour vérifications rapides ou alertes. - Smart watch (futur) pour status critique en mode mains-libres.
À l'intérieur du véhicule, accès direct possible au laptop (via écran branché ou Screen Sharing).
Énergie¶
- MacBook : ~30-60 W en charge. Adaptateur USB-C PD 12V → 60W (Apple natif via USB-C, ou modules tierces ~50 $CAD).
- Radiomaster Boxer : 18650 internes, charge USB-C, ~10 h d'autonomie continue.
- ISDT Q6 Nano : déjà au plan, branché direct sur le 12V du véhicule.
- Lunettes/monitor FPV : 18650 ou pack 2S/3S à charger via le Q6 Nano.
Pas d'onduleur 110V requis = aucune perte de conversion.
Mécanique véhicule¶
À designer/sourcer : - Plaque adapter mât sur galerie de toit (impression PETG sur Neptune 4 ou achat). - Passage de câble étanche (gland marine ~15 $CAD) du toit vers la cabine. - Espace de travail : à clarifier — table fixe dédiée à la flotte, ou setup mobile sur la table principale ?
Workflow de déploiement (cible)¶
- Stationner sur le spot d'opération.
- Déployer le mât sur la galerie de toit (~3 min).
- Brancher le câble coax du mât à la radio Boxer (passage étanche déjà en place).
- Allumer le laptop, lancer MAVProxy + QGC.
- Allumer la Boxer, vérifier liaison.
- Pré-flight check des véhicules (batterie, GPS lock, télémétrie).
- Mission.
- Au retour : récupérer les véhicules, swap batteries, offload SD cards via WiFi local ou retrait physique.
Cible totale déploiement opérationnel : <10 minutes.
BOM Phase 2¶
| Item | Source | Estimation $CAD |
|---|---|---|
| MacBook (laptop opérateur) | existant | 0 |
| Starlink | existant | 0 |
| iPad / tablet (dashboard remote) | existant | 0 |
| Radiomaster Boxer | déjà dans Phase 1 | 0 |
| Tailscale | gratuit (plan personnel) | 0 |
| Antenne LoRa 915 MHz omni fibre | Sourcing radio amateur (Radioworld, DX Engineering CA) | 60-100 |
| Mât télescopique 10 m fibre verre | Spiderbeam ou équivalent | 150 |
| Câble LMR400 5 m + connecteurs N et SMA | Local RF | 80 |
| Plaque adapter galerie toit | DIY 3D print PETG ou achat | 20-50 |
| Gland étanche passage de câble | Marine store | 15 |
| Box monitor FPV (FatShark Recon HD) | RotorVillage | 150 |
| Antennes 5.8 GHz diversity (patch + omni) | RotorVillage | 60 |
| Adaptateur USB-C 12V pour laptop | Amazon | 40 |
| SSD externe USB-C 2 TB rugged (Samsung T7 Shield) | Amazon / Best Buy | 250 |
| Total | ~825–895 |
Décisions tranchées¶
- Compute : MacBook en mode serveur headless. Pas devant le pilote, accédé via Tailscale.
- Réseau privé : Tailscale pour accès remote depuis tablet, phone, ou hors-site.
- Internet : Starlink existant en backup, pas requis pour les ops V1.
- Antenne LoRa : omnidirectionnelle dédiée 915 MHz.
- Câblage : LMR400 N + SMA.
- FPV : box monitor (FatShark Recon HD ou équiv.), pas de lunettes en V1.
- Stockage : SSD externe USB-C 2 TB rugged (Samsung T7 Shield).
- Offload des données : auto-rsync via WiFi pour rover/bateau, pull manuel SD pour avion.
Questions ouvertes¶
- Modèle exact d'antenne 915 MHz (dual-band adaptée vs dédiée) — à finaliser dans le sourcing.
- Boxer ↔ Mac : Bluetooth, WiFi, ou USB long câble ? À tester selon distance d'opération typique.
- Dashboard custom : développer un dashboard web Rust/Go ou utiliser QGC via VNC ? V1 = QGC via VNC (no-code), V2 = dashboard custom si limites trouvées.
- Routeur WiFi dédié vs hotspot laptop : V1 = hotspot laptop (plus simple). V2 = routeur dédié (Mikrotik ou Ubiquiti) si plusieurs véhicules en sync simultanée.
