Rapport de stage en mécatronique 2025
Rapport de stage en mécatronique 2025
RAPPORT DE STAGE
Réalisé par : Yassine Kacem
Spécialité : Electromécanique
Je tiens à remercier en particulier M. Halim Kacem, qui m’a guidé avec patience et
compétence durant cette période. Ses conseils précieux, sa disponibilité et son expertise ont
été d’une aide inestimable pour moi et ont grandement contribué à mon apprentissage.
Un grand merci également à tous les professeurs qui m’ont aidé à mieux apprendre et à
progresser tout au long de mon parcours.
2
Table des matières :
3
III. Besoins fonctionnels................................................................................................................. 15
IV. Besoins non fonctionnels ......................................................................................................... 16
V. Identification des acteurs et des cas d’utilisation .................................................................... 16
1. Les acteurs............................................................................................................................ 17
2. Les cas d’utilisation .............................................................................................................. 17
3. Modèle général des cas d’utilisation.................................................................................... 17
VI. Raffinement des cas d’utilisation ............................................................................................. 18
VII. Gestion du projet ................................................................................................................. 19
1. Équipe et rôles ..................................................................................................................... 19
2. Product Backlog ................................................................................................................... 19
3. Planification.......................................................................................................................... 19
VIII. Conclusion ............................................................................................................................ 20
CHAPITRE 5 : Conception....................................................................................................................... 21
Introduction ....................................................................................................................................... 21
1. Choix de l’environnement de développement ..................................................................... 21
2. Architecture générale de l’application ................................................................................. 21
3. Création d’un nouveau projet Qt ......................................................................................... 22
4. Conception de l’interface graphique.................................................................................... 23
5. Étapes de développement........................................................................................................ 24
5.1 Configuration du port série ......................................................................................................... 24
Navigation entre les pages ................................................................................................................ 24
5.2 Envoi des commandes vers STM32 ............................................................................................. 25
5.3 Réception et affichage des données............................................................................................ 26
6. Communication avec STM32 .................................................................................................... 27
6.1 Initialisation du système : ........................................................................................................ 28
6.2 Configuration de l’UART :................................................................................................. 29
6.3 Boucle principale (while) : ....................................................................................................... 29
6.4 Traitement des données reçues : ............................................................................................ 29
6.5 Gestion des erreurs :........................................................................................................ 30
6.6 Fonction d’interruption UART.................................................................................................. 30
7. Communication avec l’interface Qt .................................................................................. 30
8. Résumé du fonctionnement ............................................................................................... 31
CONCLUSION ......................................................................................................................................... 32
4
Liste des figures :
Figure 1:localisation CSF ......................................................................................................................... 4
Figure 2:carte STM32F407Vg .................................................................................................................. 6
Figure 3: Raspberry PY ............................................................................................................................ 7
Figure 4: arduino UNO ............................................................................................................................ 8
Figure 5: Les différents utilisation de QT................................................................................................ 9
Figure 6: Méthode agile ........................................................................................................................ 10
Figure 7 : Méthode SCRUM .................................................................................................................. 11
Figure 8: la communication UART ........................................................................................................ 13
Figure 9: les premiers pas sur QT ......................................................................................................... 22
Figure 10:Interface principale développée sous Qt Creator ................................................................ 23
Figure 11:Fenêtre de contrôle des deux chambres.............................................................................. 24
5
Ce rapport présente le stage réalisé au sein du Centre Supérieur de Formation (CSF) dans le
domaine des systèmes embarqués. L’objectif principal était de mettre en pratique les
connaissances en STM32, C, C++, Linux et Qt à travers la réalisation d’un projet Smart Home.
Le système développé permet la gestion de l’éclairage de différentes chambres et l’affichage
de la température en temps réel sur une interface Qt. La communication entre la carte
STM32F407VG et le PC s’effectue via UART. Ce projet a permis de consolider mes
compétences en conception matérielle et logicielle de systèmes embarqués.
Mots-clés : STM32, Qt, C++, Systèmes embarqués, Smart Home, UART, Domotique, IoT.
1
Introduction générale
Dans le cadre de ma formation en ingénierie, j’ai eu l’opportunité d’effectuer un premier stage au sein
du Centre Supérieur de Formation (CSF). Ce stage s’inscrit dans la continuité de mon apprentissage
théorique et vise à renforcer mes compétences techniques à travers une expérience pratique dans le
Le CSF se distingue par la qualité de son encadrement et son orientation vers les technologies
avancées, notamment dans les domaines de l’électronique, de l’informatique industrielle et
du développement embarqué. Intégrer ce centre m’a permis de travailler dans un
environnement professionnel stimulant, où rigueur et innovation constituent les valeurs
fondamentales.
2
Chapitre 1 : Présentation du Centre Supérieur de
Formation
1. INTRODUCTION
Dans ce chapitre, nous présenterons le Centre Supérieur de Formation (CSF) en mettant en avant son
rôle principal, sa localisation, ainsi que ses principaux domaines d’activité, notamment la formation
professionnelle et la réalisation de projets
LE ROLE DE CSF
Depuis 2009, la date de création de leur activité en systèmes embarqués, ils ont réussi à créer un comité
solide d’experts dans ce domaine qui a assuré jusqu’à ce jour-là plus de:
20 sessions de formation pour les enseignants des grandes écoles (ENIT, INSAT, FST, ENISO...)
3
La localisation
2. Domaine d’activité
CSF, Centre Supérieur de Formation est un organisme de formation professionnelle multidisciplinaire,
leader et connu essentiellement grâce a son expertise en termes de développement des systèmes
embarqués et domaines connexes, ainsi que son savoir-faire pédagogique innovante dans la mise en
œuvre des formations. Il propose de multiples parcours en formation continue adaptées au grand
public, étudiants, salariés, demandeurs d'emploi, ainsi que ses services pour les entreprises
notamment la formation, adaptation de formation, consultation, acquisition de talents et montée en
compétences des employés. Avec 10 ans d’expérience en formation professionnelle, des milliers
d'heures de formation dispensées entre autres pour des élèves ingénieurs, des ingénieurs et des
enseignants universitaires et une notoriété chez les grandes entreprises exerçantes dans les
technologies avancés, CSF est votre partenaire idéale pour un meilleur positionnement professionnel.
4
Chapitre 2 : Contexte théorique et technologique
1. Microcontrôleur STM32F407VG
Avantages :
Connectivité : Grâce à ses interfaces CAN, SPI, I2C, UART et USB, il peut facilement
être intégré avec différents capteurs et systèmes de communication présents dans les
véhicules modernes.
Inconvénients :
Sécurité : Comme tout système connecté, il est crucial de protéger les données et de se
prémunir contre les cybermenaces, ce qui implique l’application rigoureuse de bonnes
pratiques de sécurité.
5
Figure 2:carte STM32F407Vg
2. Raspberry Pi
Avantages :
Inconvénients :
6
Figure 3: Raspberry PY
3. Arduino UNO
Avantages :
Inconvénients :
Gestion des capteurs : Nécessite une planification minutieuse pour plusieurs capteurs.
7
Figure 4: arduino UNO
5. Présentation de Qt
Qt est un framework multiplateforme permettant de développer des interfaces graphiques
interactives et des applications logicielles robustes. Il offre une large gamme de widgets, layouts
et outils pour concevoir des interfaces ergonomiques et intuitives. Dans ce projet, Qt est utilisé
pour :
1. Recevoir les données de température et l’état des LED depuis la STM32 via UART.
2. Afficher ces informations en temps réel sur l’interface graphique.
3. Permettre à l’utilisateur de contrôler les lumières de chaque chambre via des boutons
interactifs.
4. Assurer une communication fiable et bidirectionnelle avec le microcontrôleur.
8
Figure 5: Les différents utilisation de QT
6. Problématique
Le projet vise à développer un système modulaire pour la gestion et la supervision d’une maison
intelligente. L’objectif est de concevoir une solution capable d’interfacer avec une interface
utilisateur Qt, permettant de suivre en temps réel l’état des différents capteurs (température,
humidité, luminosité) et de contrôler les actionneurs (LED, ventilateurs, buzzers). Le système
doit garantir la sécurité des occupants, la régulation de la consommation énergétique et la
flexibilité pour l’ajout de nouveaux modules.
7. Solution adaptée
Nous avons proposé la mise en place d’un système embarqué basé sur STM32F407VG,
permettant l’acquisition et le traitement des données des capteurs. L’interface utilisateur Qt
permet le suivi en temps réel et le contrôle des actionneurs. Les données peuvent également
être envoyées vers un serveur cloud pour un suivi à distance et une analyse dynamique. Ce
9
système assure une surveillance rapide et précise, permettant la détection immédiate de
problèmes et la régulation des conditions ambiantes dans la maison.
1. Méthodes agiles
Les méthodes agiles permettent une gestion flexible et efficace des projets, favorisant la
satisfaction client, l’adaptabilité aux changements et la livraison rapide des fonctionnalités.
Parmi ces méthodes, la plus utilisée est la méthodologie Scrum.
2. Méthodologie Scrum
Scrum divise le projet en itérations appelées « sprints » (2 à 4 semaines). Les tâches sont
estimées, planifiées et exécutées à l’aide d’User Stories. Les réunions quotidiennes permettent
de suivre l’avancement et résoudre les obstacles. Les rôles principaux sont :
10
Figure 7 : Méthode SCRUM
3. Chronogramme de travail
La gestion du projet est assurée via un diagramme de Gantt, répartissant les tâches en six phases
principales : planification, conception, développement, tests, intégration et documentation
finale.
Conclusion
Ce chapitre a présenté l’analyse préliminaire du projet Smart Home, l’étude des solutions
matérielles, la problématique, la solution retenue et la méthodologie de travail. L’approche
Scrum associée à l’utilisation de STM32F407VG et Qt permet de garantir une conception
modulable, sécurisée et efficace, assurant la performance et le confort d’utilisation dans un
environnement domestique intelligent.
11
Chapitre 3 : Analyse et conception du système
Introduction
Ce chapitre est consacré à l’analyse détaillée et à la conception du système Smart Home. Il présente le
cahier des charges, l’architecture matérielle et logicielle, ainsi que la communication entre le
microcontrôleur STM32F407VG et l’interface Qt sur PC. L’objectif est de définir clairement les besoins
fonctionnels et techniques, d’établir les protocoles de communication et de garantir une solution fiable,
extensible et ergonomique pour la supervision et le contrôle de la maison intelligente.
12
• Interface Qt sur PC :
• Liaison UART :
Protocoles et algorithmes
13
• Transmission UART : trame simple avec start/stop bits et checksum pour la
vérification des données.
• Qt : parsing des données reçues, mise à jour des widgets et génération de
notifications.
Sécurité et fiabilité
Tests et validation
Cette approche détaillée assure une conception robuste et fonctionnelle, prête pour la mise en
œuvre finale et l’intégration avec d’autres modules de la Smart Home.
Conclusion
Ce chapitre a permis de structurer le projet Smart Home en définissant le cahier des charges,
l’architecture du système et les protocoles de communication entre STM32 et Qt. L’analyse détaillée
a assuré que le système soit fonctionnel, sécurisé et capable de répondre aux besoins de supervision
et de contrôle en temps réel. Cette conception constitue la base solide pour le développement et
l’intégration du logiciel et du matériel dans les chapitres suivants.
14
Chapitre 4 : Analyses et spécifications de besoins
I. Introduction
Après avoir présenté le contexte général du projet, ce chapitre sera consacré à la définition des
besoins fonctionnels et non fonctionnels de notre système Smart Home. Nous identifierons
également les acteurs impliqués dans le système ainsi que les cas d’utilisation associés. Enfin,
nous présenterons la méthodologie de gestion de projet adoptée afin de garantir une
planification rigoureuse et un développement efficace.
L’analyse fonctionnelle consiste à identifier les principales fonctions que le système doit
assurer pour répondre aux attentes de l’utilisateur.
Dans le cadre de ce projet de maison intelligente, notre système se compose de deux parties
principales :
15
• Alimenter les capteurs et les LED connectées.
• Lire les valeurs analogiques provenant du capteur de température (ex. LM35).
• Envoyer périodiquement les données mesurées via le port UART.
• Recevoir les commandes provenant du PC (allumer/éteindre les lumières).
• Gérer l’état des chambres selon les ordres reçus.
• Performance : le système doit être réactif, avec une communication UART fluide et
une mise à jour rapide des informations sur l’interface Qt.
• Fiabilité : la communication entre la STM32 et le PC doit être stable et sans perte de
données.
• Simplicité : l’interface Qt doit être intuitive, claire et facile d’utilisation.
• Extensibilité : le système doit permettre l’ajout futur de nouveaux capteurs (humidité,
mouvement, etc.) ou d’autres fonctions de contrôle domotique.
• Disponibilité : le système doit pouvoir fonctionner en continu, sans redémarrage
fréquent.
16
1. Les acteurs
Deux acteurs principaux interagissent avec le système :
17
VI. Raffinement des cas d’utilisation
Élément Description
Titre Gestion de la maison intelligente
Résumé Permet de surveiller la température et de contrôler les lumières dans
chaque chambre.
Acteur Utilisateur (via Qt)
Précondition STM32 connectée et capteurs opérationnels
Postcondition État des équipements mis à jour
Scénario - Consulter la température des chambres
principal - Allumer/éteindre les lumières
- Recevoir les alertes de température élevée
Élément Description
Titre Communication STM32 ↔ PC
Résumé Échange bidirectionnel de données entre la carte STM32 et l’interface
Qt
Acteur Utilisateur, STM32
Précondition Port série configuré (115200 bauds, 8 bits, 1 stop bit)
Postcondition Données transmises et affichées avec succès
Scénario - Envoi des mesures depuis STM32 vers PC
principal - Réception des commandes du PC
- Mise à jour en temps réel de l’interface Qt
18
VII. Gestion du projet
1. Équipe et rôles
Le projet a été réalisé selon la méthodologie Agile Scrum, favorisant une planification par
itérations.
L’équipe projet était composée comme suit :
2. Product Backlog
Le Product Backlog regroupe les fonctionnalités à développer sous forme de "User Stories".
3. Planification
Une seule Release a été planifiée pour la livraison finale du système complet Smart Home.
Les sprints ont permis une approche incrémentale :
19
VIII. Conclusion
Ce chapitre a permis de définir les besoins fonctionnels et non fonctionnels du système Smart
Home, tout en identifiant les acteurs et les cas d’utilisation.
Nous avons également présenté la planification et la méthodologie de développement adoptées
selon l’approche Agile Scrum. Ces éléments constituent la base de la conception matérielle et
logicielle qui sera détaillée dans les chapitres suivants.
20
CHAPITRE 5 : Conception
Introduction
21
1. STM32 → envoie des données capteurs sous forme de trames via UART.
2. Qt → reçoit ces trames, les décode et met à jour l’interface utilisateur.
3. Qt → peut également envoyer des commandes à STM32 pour actionner des dispositifs
(LED, relais, etc.).
22
4. Conception de l’interface graphique
23
Figure 11:Fenêtre de contrôle des deux chambres
5. Étapes de développement
La communication série est gérée par la classe Device, utilisant la bibliothèque QSerialPort.
Le port est configuré dès le lancement du programme grâce à la fonction Port_Config() :
Cette fonction initialise la liaison UART (vitesse, bits de stop, parité, etc.) et vérifie la
connexion avec le STM32.
24
Cela permet une gestion claire et fluide des écrans, simulant un mini-système de menu
intégré.
Lorsque l’utilisateur appuie sur les boutons Allumer ou Éteindre, une commande spécifique
est envoyée au microcontrôleur :
25
Ces valeurs (“1”, “2”, “3”, “4”) sont reçues par le STM32 qui active ou désactive les
actionneurs correspondants (lampes, ventilateurs, etc.).
Lorsqu’une trame est reçue depuis le STM32, le signal readyRead() est émis et connecté au
slot Display_Info() :
SLOT(Display_Info()));
26
Le traitement des données reçues se fait dans la fonction suivante :
Cette méthode décode la trame reçue, met à jour les LCDNumber et affiche l’état textuel des
actionneurs.
27
Ce mode de communication garantit une simplicité, une faible latence et une fiabilité élevée
pour un système embarqué.
28
6.2 Configuration de l’UART :
L’interface UART2 est configurée à une vitesse de transmission de 115200
bauds, avec :
• 8 bits de données,
• 1 bit de stop,
• sans parité,
• mode bidirectionnel (TX/RX).
29
• Le microcontrôleur renvoie la même donnée au PC pour confirmer la
bonne exécution de la commande.
30
8. Résumé du fonctionnement
Conclusion
Ce chapitre a détaillé le processus complet de conception de l’application Qt :
de la création de l’interface graphique à la mise en place de la communication série avec le
microcontrôleur STM32.
Grâce à la puissance du framework Qt, nous avons pu développer une interface ergonomique,
réactive et connectée, offrant une interaction fluide entre l’utilisateur et le système embarqué.
31
Conclusion générale
Sur le plan personnel, ce stage m’a permis de développer une meilleure autonomie, une
rigueur dans la gestion de projet, et une capacité d’analyse face aux problèmes techniques
rencontrés. L’encadrement de M. Halim Kacem au sein du CSF m’a également permis
32
Bibliographie :
extension://efaidnbmnnnibpcajpcglclefindmkaj/[Link]
[Link]
[Link]
extension://efaidnbmnnnibpcajpcglclefindmkaj/[Link]
[Link]
extension://efaidnbmnnnibpcajpcglclefindmkaj/[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
33