Difficultés rencontrées et solutions apportées
Au cours de ce projet, nous avons été confrontés à de nombreux obstacles, tant techniques qu’organisationnels. Voici un récapitulatif des principales difficultés rencontrées et des solutions mises en œuvre pour les surmonter.
Problèmes matériels et soudures
Les soudures ont représenté un défi majeur, particulièrement sur le module BLE. Faux contacts, problèmes de stabilité dus aux petits fils fragiles, absence de connecteurs standards… Nous avons dû refaire les soudures jusqu’à 6 fois sur certaines parties du module BLE. Cette fragilité mécanique a considérablement ralenti notre progression et généré de l’incertitude sur la fiabilité des mesures.
État : ⚠️ Résolu partiellement (soudures fonctionnelles mais fragiles)
Échec de la communication USB du module BLE
La communication par USB du capteur BLE (port COM habituel) n’a jamais fonctionné, nous obligeant à passer exclusivement par le Bluetooth Low Energy. Cette limitation nous a privés d’une alternative de communication plus stable et plus facile à déboguer, allongeant considérablement le temps de mise au point.
État : ❌ Non résolu (contournement par BLE uniquement)
Accès aux données brutes et rétro-ingénierie
Les logs Bluetooth étaient incomplets et nous n’avons pas réussi à rétro-ingénier l’application mobile fournie par le constructeur pour comprendre la base de la communication du module. Le produit étant chinois, la documentation française était inexistante et la documentation anglaise disponible était obsolète et incomplète. Nous avons dû retrouver la documentation originale en chinois et utiliser Google Lens pour traduire page par page les écritures affichées à l’écran, documentant de notre côté les différentes commandes du protocole au fur et à mesure.
État : ✅ Résolu (documentation recréée manuellement)
Interférences entre radars 24 GHz
Lorsque deux radars 24 GHz sont placés dans le même champ d’action, ils se gênent mutuellement, générant des fausses détections et des données erratiques. Cette limitation rend impossible la trilatération (localisation précise par croisement de plusieurs capteurs) et limite les scénarios d’usage possibles.
État : ❌ Non résolu (limitation intrinsèque du matériel)
Abandon de Node-RED
Nous avons dû abandonner l’utilisation de Node-RED faute d’un cahier des charges suffisamment clair sur cette partie. Le temps investi dans cette technologie aurait été mieux employé sur d’autres aspects du projet. Cette décision a été prise pour réallouer les ressources sur des tâches plus critiques.
État : ✅ Résolu (abandon stratégique)
Limitations de portée et précision aléatoire
La portée réelle des modules radar est bien inférieure à ce qu’annoncent les constructeurs. La précision varie énormément selon l’environnement (réflexions, objets métalliques réfléchissants, matériaux des obstacles). La détection de présence et de distance reste très approximative. De plus, il est impossible de capter les micro-mouvements promis par les constructeurs (mouvements de plantes, courants d’air, battements cardiaques).
État : ⚠️ Mitigé (performances en-deçà des attentes)
Contraintes CMS WordPress
L’utilisation de WordPress pour un site « sur mesure » a généré une grosse perte de temps sur la personnalisation des menus, templates et extensions. Les limitations du CMS nous ont obligés à faire de nombreux compromis ou à développer du code custom là où un développement from scratch aurait été plus rapide et flexible.
État : ✅ Résolu (site fonctionnel malgré les contraintes)
Migration MQTT vers MQTTS (sécurisé)
Lors du remplacement du broker MQTT local par celui de la plateforme Locura, la simple modification des variables d’environnement n’a pas suffi car le broker utilisait une communication sécurisée (MQTTS). Le code initial ne prévoyait pas ce cas de figure. Nous avons dû modifier le code et ajouter une variable d’environnement permettant d’activer le chiffrement SSL/TLS.
État : ✅ Résolu (code adapté pour MQTTS)
Fonctionnalités non implémentées faute de temps
Par manque de temps, nous n’avons pas pu implémenter certaines fonctionnalités prévues initialement : réduction de la bande passante pour optimiser le trafic réseau, et surtout le mapping 2D (nuage de points) de l’environnement statique permettant de mémoriser la scène et de détecter uniquement les nouveaux objets dans le champ de détection.
État : ❌ Non réalisé (pistes pour évolutions futures)