Acquis d'apprentissage visés
- Appliquer les paradigmes de programmation et communication spécifiques à l’embarqué et à l’IoT
- Concevoir des infrastructures et solutions de service sécurisées adaptées pour les objets connectés
- Réaliser une solution IoT de bout en bout en identifiant les architectures matérielles, les réseaux des objets terminaux et la communication avec une plateforme de service IoT
Prérequis
- SR052 : Systèmes d’exploitation et langage de commande
- SR051 : Principes des réseaux et de l’IoT
- Bases de programmation en C/C++
Programme
- Systèmes temps réel — Fondamentaux
- Identifier et comprendre les contraintes temps réel (temps réel dur / mou) associées à une application embarquée IoT
- Analyser et quantifier ces contraintes ; préconiser un type de solution d’ordonnancement (Rate Monotonic, Earliest Deadline First)
- Analyse de faisabilité d’un jeu de tâches temps réel
- Programmation embarquée et RTOS
- Création de tâches, synchronisation et communication inter-processus sur un système d’exploitation temps réel (FreeRTOS)
- Gestion des priorités, sémaphores, mutex, files de messages
- Gestion de l’énergie : modes veille, deep sleep, duty cycling
- Ressources matérielles et périphériques
- Identification des ressources critiques matérielles et logicielles d’un noeud IoT (capteurs, actionneurs, interfaces de communication)
- Rôle et développement de pilotes de périphériques (GPIO, I2C, SPI, UART, ADC)
- Bus de communication embarqués et protocoles bas niveau
- Conception et outils
- Outils et langages de spécification pour le développement d’applications temps réel embarquées (diagrammes de séquence, machines à états)
- Chaîne de compilation croisée, débogage sur cible (JTAG/SWD)
- Intégration capteur-microcontrôleur-réseau : du capteur au cloud (MQTT, CoAP)
- Travaux pratiques
- TP1 : Prise en main FreeRTOS sur ESP32 — tâches, priorités, ordonnancement
- TP2 : Communication inter-tâches et gestion de capteurs (I2C/SPI)
- TP3 : Gestion de l’énergie et modes basse consommation
- TP4 : Intégration complète — acquisition capteur, traitement temps réel, envoi MQTT
Modalités d'évaluation
Deux contrôles continus au minimum, les TPs et un mini-projet embarqué.
Bibliographie
Jean-Philippe Babau — Systèmes temps réel embarqués — Hermes/Lavoisier Richard Barry — Mastering the FreeRTOS Real Time Kernel — freertos.org Kolban — Kolban’s Book on ESP32 — leanpub.com James F. Kurose et Keith W. Ross — Computer Networking — Éditions Pearson Phillip A. Laplante et al. — Real-Time Systems Design and Analysis: Tools for the Practitioner — Wiley-IEEE Press Elecia White — Making Embedded Systems: Design Patterns for Great Software — O’Reilly Media
Supports
Diaporamas, fiches de travaux dirigés et de travaux pratiques, plateformes embarquées (ESP32, STM32).