Réseau IoT & LoRa
Communication entre Microcontrôleurs (SAE 32)
Conception d'un protocole de communication sans fil robuste en C sur des nœuds M5Stack.
Le Défi Technique
L'objectif était de créer de toute pièce une application de messagerie sans fil entre
plusieurs modules M5Stack.
Contrairement au Wi-Fi classique, nous avons utilisé la modulation LoRa et
développé notre propre couche protocolaire en langage C (bas niveau) pour
gérer les envois, les erreurs et les collisions (façon ALOHA).
Implémentation & Protocole
Structure des échanges et mécanismes de fiabilité.
Développement C
Programmation bas niveau sur microcontrôleur ESP32, gestion de la librairie
RH_RF95 (RadioHead) et de l'affichage LCD.
Protocole Custom
Structure de trames définies :
DATA : Compteur + Payload + CRC
ACK : Accusé de réception pour valider l'envoi.
Gestion d'Erreurs
Détection d'intégrité via XOR/CRC et correction avancée (Reed-Solomon). Gestion
des timeouts et retransmissions.
Logique de l'Automate
Difficultés & Apprentissages
Synchronisation
Coordonner plusieurs émetteurs sans horloge commune pour éviter que tout le monde parle en même temps.
Automates d'États
Conception rigoureuse pour ne jamais bloquer le programme (boucle infinie) en cas de perte de paquet.
Fiabilisation
Implémentation de numéros de séquence pour écarter les doublons (trames reçues deux fois).
"Ce projet m'a permis de toucher du doigt la complexité des communications bas niveau, bien loin de la simplicité apparente du TCP/IP moderne."