L'IoT reste une boîte noire tant qu'on n'a pas vu la trame
Comprendre une chaîne IoT LoRaWAN de bout en bout — comment une mesure devient une trame binaire, transite par un réseau, arrive dans une base et finit sur un graphique — ne s'apprend pas dans un schéma d'architecture. Il fallait construire le pipeline complet soi-même, et le rendre visible : voir les octets, les topics MQTT, les messages WebSocket.
Construire chaque maillon, puis le rendre inspectable
Le projet a grandi en deux temps. D'abord un prototype backend (FlowIoT) : un simulateur de capteurs qui encode ses mesures comme un vrai capteur LoRaWAN — payload binaire big-endian inspiré du Dragino LHT65 (gestion du complément à deux pour les températures négatives), encodé en Base64 — publié en MQTT via Mosquitto, consommé par un subscriber qui persiste dans PostgreSQL, exposé par une API FastAPI.
Puis le projet complet ExploreIoT : un dashboard Next.js/React temps réel (WebSocket, graphiques Recharts) posé sur ce pipeline, avec ChirpStack v4 dans la stack Docker (11 services) pour le volet serveur de réseau LoRaWAN, et surtout une couche pédagogique : convertisseur interactif valeur→binaire→hex→Base64, manipulateur de bits, démonstration de corruption de données, inspecteur de trames MQTT/WebSocket/HTTP, glossaire. Sécurité soignée pour un projet d'exploration : API key, en-têtes CSP, rate limiting. Les capteurs restent simulés — c'est assumé : l'objet d'étude est la chaîne de transmission, pas le matériel.
Un pipeline opérationnel et démontable
Pipeline MQTT → PostgreSQL opérationnel (commit dédié), CI GitHub Actions verte, plus de 200 tests annoncés (Vitest + pytest), documentation MkDocs, lancement en une commande — et le dashboard en ligne sur exploreiot.fr. Trois jours d'exploration concentrée qui couvrent la chaîne IoT du bit à l'interface. Le projet est abouti et volontairement non maintenu : c'était une exploration, elle a rempli son office — et laisse un socle réutilisable pour un futur passage sur matériel réel.