10/11

Projet 10 · sur 11

Traçage de véhicule par GNSS

SAÉ 5.01 · BUT3 · Systèmes embarqués / IoT · groupe de 3-4 En cours
LoRaWANThe Things NetworkPycom FiPy / LoPyMicroPythonGNSSMQTTNode-REDRaspberry PiDeep sleepSMS 2G/3G
Le projet en cours

La SAÉ 5.01 « Concevoir, réaliser et présenter une solution technique » du parcours cybersécurité porte sur les systèmes embarqués. Le sujet : suivre un véhicule par GNSS et transmettre sa position à travers le réseau LoRaWAN de The Things Network, pour l'afficher sur une carte depuis un serveur web.

Le matériel est celui de l'environnement Pycom : une carte Pytrack avec un module FiPy ou LoPy embarqué dans le véhicule (le end-device), une carte Expansion ou Pysense avec un second module qui sert de passerelle LoRaWAN, des antennes LoRa, et un Raspberry Pi qui héberge le serveur avec Node-RED pour la cartographie. Le code des modules est développé avec Pymakr sous VS Code.

Le système doit être pensé comme un vrai objet embarqué sur batterie : par défaut, le module reste en faible consommation (mode deep sleep) et ne se réveille, n'active le GNSS et ne se connecte au réseau LoRaWAN que lorsque l'accéléromètre détecte que le véhicule se déplace. L'utilisateur est alors prévenu par SMS, et peut remettre le module en veille depuis la page web. L'objectif final est de remplacer The Things Network par son propre serveur réseau LoRaWAN (LNS).

Le projet se fait en groupe de 3 ou 4 étudiants, sur environ 50 heures (dont 36 heures en autonomie). Chaque étape n'est validée que si l'on est capable d'expliquer ce qui a été fait, en particulier le contenu des scripts.

Objectif

Concevoir un traceur GNSS basse consommation qui transmet la position d'un véhicule en LoRaWAN, l'affiche sur une carte web, alerte l'utilisateur par SMS et se pilote à distance — d'abord via The Things Network, puis via un serveur réseau LoRaWAN auto-hébergé.

Les étapes de validation
  • Envoyer des coordonnées en MQTT depuis le module (en Wi-Fi) et afficher la position du véhicule sur une carte web.
  • Créer sur The Things Network une application et une passerelle, et suivre les messages qui transitent.
  • Formater les données reçues en JSON côté TTN (payload formatter montant).
  • Récupérer les positions via le broker MQTT de TTN et les afficher sur la carte avec Node-RED.
  • Optimiser la trame LoRa : latitude et longitude codées chacune sur 3 octets, en respectant le temps d'émission autorisé (duty cycle).
  • Réveiller le module grâce à l'accéléromètre et le laisser en deep sleep le reste du temps.
  • Arrêter le suivi depuis la page web par un message descendant (downlink) et repasser en faible consommation.
  • Prévenir l'utilisateur par SMS avec une clé 2G/3G, permettre la mise en veille par SMS et envoyer des notifications sur smartphone.
  • Étudier les solutions libres de serveur réseau LoRaWAN, en déployer une avec MQTT et faire fonctionner tout le projet sans TTN.
Enjeux
  • Concilier suivi en temps réel et autonomie sur batterie (gestion du sommeil profond et des interruptions).
  • Respecter les contraintes radio du LoRaWAN : taille de trame réduite et temps d'émission limité.
  • Faire dialoguer toute la chaîne : module, passerelle, serveur réseau, broker MQTT, Node-RED et page web, dans les deux sens.
  • Remplacer un service hébergé (TTN) par une infrastructure auto-hébergée maîtrisée.
Livrables attendus
  • Traceur fonctionnel (module embarqué + passerelle) et serveur web de cartographie sous Node-RED.
  • Démonstration des différentes étapes, avec explication des scripts.
  • Étude comparative (2 pages) des serveurs réseau LoRaWAN libres et déploiement de la solution retenue.

Démo interactive · du véhicule à la carte web

Démarre le trajet pour suivre une position de bout en bout, puis arrête le suivi depuis la carte. Architecture visée par la SAÉ, projet en cours.

La démo interactive nécessite JavaScript.