Retour aux projets

Étude de cas

Dashboard IoT - Capteurs IUT Blagnac

Plan interactif des salles
Données en temps réel d'une salle
Graphiques historiques

Contexte

Les salles du 1er étage du département d'informatique de l'IUT de Blagnac (B101 à B115) sont équipées de capteurs AM107. Ces capteurs remontent en continu des données environnementales sur un flux MQTT : température, humidité, activité (présence), CO2, TVOC, luminosité, infrarouge et pression atmosphérique.

L'objectif du projet est de développer une interface web permettant de visualiser ces données en temps réel, de les stocker dans une base de données et de proposer un historique sous forme de graphiques. Les principaux utilisateurs sont des analystes de données du pôle recherche, qui exploitent ces informations pour comprendre l'utilisation des espaces et optimiser leur gestion.

Problème & objectifs

Problème

  • Données de 9 types de capteurs non exploitées et dispersées
  • Absence de visibilité sur l'occupation réelle des 15 salles du département
  • Pas d'historique permettant d'analyser les tendances sur plusieurs mois
  • Besoin d'une solution déployable facilement et maintenable

Objectifs

  • Collecter et stocker les données de tous les capteurs IoT en temps réel
  • Visualiser les 9 métriques (température, humidité, CO2, TVOC, activité, luminosité, infrarouge, pression) via une interface intuitive
  • Proposer un plan interactif des salles pour une navigation simple
  • Afficher des graphiques historiques filtrables par période (mensuel)

Approche

Le projet a été développé avec une architecture modulaire pour simplifier le développement, la maintenance et le déploiement :

  • mise en place d'une architecture conteneurisée avec Docker (Nginx, Node-RED, TimescaleDB) ;
  • utilisation de Node-RED pour la gestion des flux MQTT et l'ingestion automatique des données ;
  • stockage dans TimescaleDB, base optimisée pour les séries temporelles ;
  • développement d'une interface web en PHP avec plan interactif des salles et cartes de métriques avec indicateurs d'évolution.

Cette architecture permet de gérer efficacement les services et facilite le déploiement sur différents environnements GNU/Linux.

Points techniques

Frontend : Interface PHP avec plan interactif SVG des salles, cartes de métriques en temps réel avec indicateurs d'évolution colorés, et graphiques Chart.js interactifs avec filtres par légende.

Base de données : TimescaleDB pour le stockage optimisé des séries temporelles, permettant des requêtes performantes sur l'historique des données.

IoT / MQTT : Node-RED pour la souscription aux topics MQTT des capteurs AM107 et l'ingestion automatique vers la base de données.

Infrastructure : Docker Compose orchestrant Nginx, PHP-FPM, Node-RED et TimescaleDB pour un déploiement reproductible.

Résultats

À l'issue du projet :

  • un tableau de bord avec plan interactif permettant de sélectionner n'importe quelle salle (B101-B115) ;
  • affichage en temps réel des 9 métriques avec indicateurs d'évolution (+/-) colorés ;
  • graphiques historiques interactifs avec filtres par type de donnée et période mensuelle ;
  • une solution 100% conteneurisée déployable en quelques commandes Docker.

Le dashboard est déployé et accessible, offrant au pôle recherche de l'IUT un outil complet d'analyse de l'environnement des salles.

Ce que j'ai appris

  • concevoir une architecture IoT complète de la collecte à la visualisation ;
  • manipuler des flux MQTT et gérer l'ingestion de données temps réel avec Node-RED ;
  • utiliser TimescaleDB pour le stockage performant de séries temporelles ;
  • créer des visualisations interactives (plan SVG, graphiques Chart.js) ;
  • conteneuriser une application multi-services avec Docker Compose.

Ce projet m'a permis de découvrir l'écosystème IoT et de mettre en pratique des compétences en architecture logicielle, visualisation de données et déploiement conteneurisé.

Ce projet vous intéresse ?

Discutons de vos besoins et voyons comment je peux vous aider à concrétiser votre projet.