Arnaud H. HOUNSINOU
← Retour aux projets
IoT / Firmware / Web / Cloud

ALCMS (PFE EAMAC)

📅 juillet 2026🔗 Dépôt Privé
IoTFirmwareBackendReactSystème CritiqueC++Node.jsMQTT

Description du Projet

Le projet ALCMS (Airfield Lighting Control and Monitoring System) a été conçu dans le cadre de mon Projet de Fin d'Études à l'EAMAC. Il s'agit d'une infrastructure complète et modernisée visant à superviser le balisage lumineux aéronautique (AGL) sur les pistes d'aéroport.

Ce système respecte strictement les normes de l'ASECNA et de l'OACI. Il dépasse la supervision traditionnelle au niveau des circuits en préparant l'intégration de l'Intelligence Artificielle en bordure (Edge AI / TinyML) pour séparer les pannes électriques de la dégradation optique des feux.

Architecture du Système (De bout en bout)

Le système couvre l'ensemble de la chaîne de données, depuis l'environnement difficile du tarmac jusqu'au tableau de bord de supervision dans le cloud, via un réseau hybride résilient.

1. La Couche Terrain (Tarmac / Piste)

  • Acquisition : Chaque nœud, installé dans les regards de balisage, surveille le circuit secondaire via un capteur de courant SCT-013. Simultanément, une fibre optique achemine la lumière de la lentille du feu vers un spectromètre 14 canaux AS7343.
  • Edge Processing : Un ESP32-S3 effectue une vérification déterministe pour les défauts électriques immédiats. Une évolution future prévoit l'exécution d'un modèle TinyML directement dans la SRAM pour classifier les défauts optiques (verre brisé, encrassement par la boue).
  • Réseau Maillé (Mesh) : La télémétrie est transmise via un réseau maillé multi-sauts ESP-NOW (mode longue portée) pour contourner les obstacles RF (plaques en fonte), jusqu'à atteindre la Gateway.

2. La Couche de Liaison et Cloud (Backend)

  • Gateway (Uplink) : La passerelle consolide la télémétrie du secteur et l'envoie via un modem cellulaire 4G au Broker MQTT (Eclipse Mosquitto). Une partition SPIFFS de 8MB sert de tampon circulaire pour survivre aux coupures réseau.
  • Traitement Backend : Une API Node.js (Express) ingère les données MQTT, stocke les séries temporelles dans une base de données MongoDB, et évalue les seuils critiques.

3. La Couche de Supervision (Tour de Contrôle)

  • Application Web React/TypeScript : En cas de détection de panne, le Backend pousse une alerte via WebSockets vers l'application Web. La tour de contrôle voit alors un feu clignoter en rouge sur une carte géométrique de la piste et entend une alarme sonore.

Fonctionnalités Complètes et Modules

Le projet est un monorepo divisé en domaines spécialisés :

  • Backend (Node.js & MQTT) : Agit comme le système nerveux central. Implémente un RBAC strict (Admin, Cadre, Surveillant) et diffuse les pannes matérielles en temps réel via WebSockets.
  • Gateway Firmware (C++/PlatformIO) : Coordonnateur central BLE/ESP-NOW de la zone locale avec gestion de la liaison modem cellulaire.
  • Node Firmware (C++/PlatformIO) : Interagit avec l'ADC ADS1115 (Courant) et l'AS7343 (Spectromètre). Expose un serveur GATT BLE pour l'injection des identifiants OACI et GPS.
  • Application Mobile (Flutter) : Outil de mise en service sur le terrain. Utilise une architecture "Offline-First" (SQLite) et se connecte aux nœuds via BLE pour afficher les courbes True RMS en temps réel et commissionner les nœuds sans ouvrir les boîtiers IP68.
  • Web-App Dashboard : Carte interactive géométrique des pistes, tableaux de données complets (données spectrales sur 14 canaux) et alarmes en temps réel.
  • Machine Learning (Data Pipeline) : Flux de données pour capturer les spectres de feux sains, cassés et encrassés, avec extraction de caractéristiques pour générer le modèle Edge Impulse (.tflite).
  • Infrastructure MQTT & Sécurité : Listes de contrôle d'accès (ACLs) strictes et certificats TLS/MQTTS pour empêcher l'injection de commandes non autorisées.