Chargement...
Chargement...
Tech Race est un projet réalisé en équipe au sein de l'école HETIC. L'objectif est de développer une application mobile permettant de contrôler un véhicule à distance via un réseau sans fil : pilotage en temps réel, prise de vidéos, visualisation de la télémétrie (vitesse, orientation) et participation à des courses, avec un mode où le véhicule suit une ligne au sol de manière autonome.
Le projet repose sur plusieurs dépôts (API backend, application mobile, programme embarqué du véhicule, modèle 3D). En équipe, j'ai participé au backend en Golang, au frontend en React Native, à la programmation du véhicule et j'ai mis en prod l'API pour réaliser une démo devant le jury : firmware en C++ sur microcontrôleur ESP32 pour la conduite, les capteurs et la communication avec l'application.
Côté véhicule, le firmware (Open Source, développé avec PlatformIO) fait se connecter l'ESP32 à un réseau WiFi existant. Une fois connecté, il reçoit les ordres en WebSocket et renvoie la télémétrie en MQTT vers le broker. Les commandes sont des JSON avec un identifiant de type (cmd) et une donnée associée (data), ce qui permet de piloter roues, LEDs, buzzer, flux vidéo, etc. sans détailler chaque ordre dans le protocole. La configuration réseau (WiFi, IP de la voiture, gateway, netmask) et le point d'accès WebSocket sont centralisés dans le code pour faciliter l'adaptation à un autre environnement.
Les enjeux pédagogiques étaient de s'adapter à des technologies nouvelles en intégrant un objet physique pour nous forcer à faire preuve d'adaptation car nos compétences sont habituellement axées sur le web pur. Ce projet a permis de mesurer les enjeux de l'intégration entre logiciel et matériel (MQTT, temps réel, télémétrie). Il ne faut pas oublier l'intérêt du travail en équipe sur une architecture multi-repos.