// iot · embarqué · infrastructure

Projet phare

Système
IoT Scolaire

Un réseau de capteurs pour rendre des salles de classe intelligentes : collecte de données environnementales, contrôle automatique de l'éclairage et infrastructure complète conteneurisée.

01

Contexte & objectifs

Projet réalisé en équipe dans le cadre de CESI. L'objectif : instrumenter des salles de classe avec des capteurs d'environnement (température, humidité, luminosité, COVs) et créer un système capable de visualiser ces données en temps réel, tout en automatisant le contrôle de l'éclairage selon la luminosité ambiante et la présence dans la salle.

Au-delà des capteurs, le projet impliquait de concevoir une architecture complète : du capteur au tableau de bord, en passant par le transport des données, le stockage et l'API.

02

Architecture

Edge (capteurs)

ESP32 pour la collecte locale. Zigbee pour le réseau de capteurs sans fil, faible consommation.

ESP32ZigbeeCapteurs T°/Humidité/Lux/COV

Boîtier capteurs

Boîtier sur-mesure modélisé en 3D et imprimé pour loger proprement les composants.

Fusion 360FDM

Broker & transport

MQTT achemine les données des capteurs vers le backend. Zigbee2MQTT fait l'interface entre le réseau Zigbee et le broker, en gérant les devices Zigbee : concentrateur, routeurs et end devices.

MQTTZigbee2MQTTRaspberry Pi

Backend & API

API REST en Node.js avec contrat d'API défini en amont. Python pour les scripts d'analyse.

Node.jsPythonAPI RESTContrat d'API

Frontend

Visualisation 3D du bâtiment avec Babylon.js. Connexion temps réel au backend via MQTT over WebSocket et récupération des données d'analyse via l'API REST.

Next.jsBabylon.jsMQTT over WebSocketAPI REST

Infrastructure

L'ensemble tourne dans des conteneurs Docker, portable et reproductible sur n'importe quelle machine.

DockerDocker Compose
Schéma d'architecture du système IoT

Schéma d'architecture — du capteur au tableau de bord

03

Ma contribution

J'ai pris en charge l'ensemble du backend et de l'infrastructure. Côté API, j'ai commencé par établir un contrat d'API clair avant d'écrire une ligne de code, ce qui a permis à l'équipe front de travailler en parallèle sans attendre.

J'ai ensuite développé l'API en Node.js, mis en place le broker MQTT sur Raspberry Pi, écrit les scripts Python de traitement, et conteneurisé l'ensemble avec Docker Compose pour que la stack soit portable et reproductible.

J'ai aussi modélisé et imprimé les boîtiers pour les nœuds capteurs. Les membres de l'équipe ont fait du très bon travail sur le frontend.

Backend Node.jsAPI RESTMQTT brokerDockerPython3D modeling
04

Démo

Résultat

Un système fonctionnel de A à Z : capteurs qui remontent des données réelles, API qui répond, frontend qui affiche, lumières qui s'adaptent automatiquement, et tout ça qui tourne dans Docker. Un des projets dont je suis le plus fier, autant pour la qualité technique que pour la coordination d'équipe.

Terminé