# Informatique embarquée et objets connectés
> Montres connectées, thermostats intelligents, voitures autonomes, drones... Les objets du quotidien deviennent de plus en plus "intelligents".
>
> Mais comment fonctionnent ces objets connectés ? Qu'est-ce qui les rend capables de percevoir leur environnement et d'agir dessus ?
---
## Le Programme
| Contenus | Capacités attendues |
|----------|---------------------|
| Systèmes informatiques embarqués | Identifier les composants d'un système embarqué |
| Interface homme-machine (IHM) | Décrire les interactions entre l'homme et la machine |
| Capteurs, actionneurs | Identifier les capteurs et actionneurs d'un objet connecté |
| Algorithmes et programmes | Écrire un programme simple de commande d'un système |
---
## Qu'est-ce qu'un système embarqué ?
### Définition
Un **système embarqué** est un système informatique intégré dans un appareil pour réaliser une tâche spécifique. Contrairement à un ordinateur généraliste, il est conçu pour une fonction précise.
**Caractéristiques** :
- Intégré dans un objet (pas visible)
- Conçu pour une tâche spécifique
- Fonctionne souvent en temps réel
- Généralement peu gourmand en énergie
### Exemples de systèmes embarqués
| Domaine | Exemples |
|---------|----------|
| **Transport** | ABS, GPS, pilote automatique, régulateur de vitesse |
| **Maison** | Thermostat, alarme, robot aspirateur, box internet |
| **Santé** | Pacemaker, pompe à insuline, tensiomètre |
| **Loisirs** | Console de jeux, drone, montre connectée |
| **Électroménager** | Lave-linge, micro-ondes, réfrigérateur |
> **Question** : Combien de systèmes embarqués possédez-vous chez vous ?
### Historique
| Année | Événement |
|-------|-----------|
| 1961 | Premier système embarqué : ordinateur de guidage Apollo |
| 1971 | Premier microprocesseur (Intel 4004) |
| 1980s | Systèmes embarqués dans l'automobile (ABS) |
| 1990s | Téléphones portables |
| 2000s | Smartphones, objets connectés |
| 2010s | Explosion de l'IoT (Internet des Objets) |
---
## L'Internet des Objets (IoT)
### Définition
L'**IoT** (*Internet of Things* ou Internet des Objets) désigne l'ensemble des objets physiques connectés à Internet, capables de collecter et d'échanger des données.
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Capteur │────▶│ Internet │────▶│ Application │
│ (mesure) │ │ (cloud) │ │ (smartphone)│
└─────────────┘ └─────────────┘ └─────────────┘
```
### Quelques chiffres
- **2024** : Plus de 15 milliards d'objets connectés dans le monde
- **2030** : Estimation de 30 milliards d'objets connectés
- Une maison connectée peut contenir plus de 50 objets IoT
### Exemples d'objets connectés
| Objet | Fonctionnalités |
|-------|-----------------|
| **Montre connectée** | Podomètre, fréquence cardiaque, notifications |
| **Thermostat intelligent** | Régulation automatique, contrôle à distance |
| **Enceinte connectée** | Assistant vocal, musique, domotique |
| **Caméra de surveillance** | Détection de mouvement, alerte smartphone |
| **Bracelet fitness** | Suivi d'activité, sommeil, GPS |
| **Ampoule connectée** | Contrôle couleur/intensité, programmation |
---
## Architecture d'un système embarqué
### Les composants principaux
Un système embarqué est composé de trois éléments essentiels :
```
┌─────────────────────────────────────────────────────┐
│ SYSTÈME EMBARQUÉ │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────┐ │
│ │ CAPTEURS │───▶│ MICROCONTRÔ- │───▶│ACTIONNEURS│ │
│ │ (entrées)│ │ LEUR │ │ (sorties) │ │
│ └──────────┘ │ (traitement) │ └──────────┘ │
│ └──────────────┘ │
└─────────────────────────────────────────────────────┘
```
| Composant | Rôle | Exemples |
|-----------|------|----------|
| **Capteurs** | Mesurer l'environnement | Température, lumière, mouvement |
| **Microcontrôleur** | Traiter les informations | Arduino, Raspberry Pi, micro:bit |
| **Actionneurs** | Agir sur l'environnement | Moteur, LED, buzzer, écran |
### Le cycle de fonctionnement
```
1. PERCEVOIR 2. DÉCIDER 3. AGIR
(capteurs) (programme) (actionneurs)
│ │ │
▼ ▼ ▼
Température Si T > 25°C Allumer
= 28°C alors... ventilateur
```
---
## Les capteurs
### Définition
Un **capteur** est un dispositif qui mesure une grandeur physique (température, lumière, pression...) et la convertit en signal électrique exploitable par le microcontrôleur.
### Types de capteurs
| Capteur | Mesure | Applications |
|---------|--------|--------------|
| **Température** | Chaleur (°C) | Thermostat, météo |
| **Luminosité** | Intensité lumineuse (lux) | Éclairage automatique |
| **Mouvement (PIR)** | Présence/déplacement | Alarme, éclairage |
| **Distance (ultrason)** | Distance (cm) | Radar de recul, robot |
| **Humidité** | Taux d'humidité (%) | Arrosage automatique |
| **Accéléromètre** | Accélération, inclinaison | Smartphone, manette |
| **GPS** | Position géographique | Navigation, tracking |
| **Microphone** | Son | Assistant vocal |
| **Caméra** | Image | Reconnaissance faciale |
### Capteurs analogiques vs numériques
| Type | Signal | Exemple |
|------|--------|---------|
| **Analogique** | Valeur continue (0 à 1023) | Potentiomètre, capteur de lumière |
| **Numérique** | 0 ou 1 (ON/OFF) | Bouton, détecteur de mouvement |
---
## Les actionneurs
### Définition
Un **actionneur** est un dispositif qui convertit un signal électrique en action physique (mouvement, lumière, son...).
### Types d'actionneurs
| Actionneur | Action | Applications |
|------------|--------|--------------|
| **LED** | Émet de la lumière | Indicateurs, éclairage |
| **Moteur** | Crée un mouvement | Robot, volet roulant |
| **Servomoteur** | Mouvement précis (angle) | Bras robotique, direction |
| **Buzzer** | Émet un son | Alarme, notifications |
| **Écran LCD** | Affiche du texte/images | Interface utilisateur |
| **Relais** | Commute un circuit | Domotique (lampes, prises) |
| **Électrovanne** | Contrôle un flux (eau, gaz) | Arrosage, chauffage |
---
## Interface Homme-Machine (IHM)
### Définition
L'**IHM** (Interface Homme-Machine) désigne l'ensemble des moyens permettant à un humain d'interagir avec une machine.
### Types d'interfaces
| Interface | Entrée (humain → machine) | Sortie (machine → humain) |
|-----------|---------------------------|---------------------------|
| **Visuelle** | Caméra, écran tactile | Écran, LED |
| **Sonore** | Microphone | Haut-parleur, buzzer |
| **Tactile** | Boutons, clavier, tactile | Vibrations |
| **Gestuelle** | Capteurs de mouvement | - |
| **Vocale** | Reconnaissance vocale | Synthèse vocale |
### Exemples d'IHM au quotidien
| Objet | Entrées | Sorties |
|-------|---------|---------|
| **Smartphone** | Écran tactile, micro, caméra | Écran, haut-parleur, vibreur |
| **Distributeur bancaire** | Clavier, carte, écran tactile | Écran, billets, ticket |
| **Borne de commande (fast-food)** | Écran tactile | Écran, ticket |
| **Console de jeux** | Manette, micro, caméra | TV, son, vibrations |
### Critères d'une bonne IHM
- **Intuitive** : facile à comprendre sans manuel
- **Ergonomique** : confortable à utiliser
- **Accessible** : utilisable par tous (handicap, âge...)
- **Réactive** : temps de réponse rapide
- **Cohérente** : comportement prévisible
---
## Le microcontrôleur
### Définition
Un **microcontrôleur** est un petit ordinateur sur une seule puce, contenant :
- Un processeur (CPU)
- De la mémoire (RAM et ROM)
- Des entrées/sorties (GPIO)
### Exemples de cartes de développement
| Carte | Caractéristiques | Usage |
|-------|------------------|-------|
| **Arduino Uno** | Simple, robuste, grande communauté | Débutants, prototypage |
| **micro:bit** | Capteurs intégrés, Bluetooth, simple | Éducation (collège/lycée) |
| **Raspberry Pi** | Mini-ordinateur complet, Linux | Projets avancés |
| **ESP32** | WiFi/Bluetooth intégré, puissant | IoT, projets connectés |
### La carte micro:bit
La **micro:bit** est une carte éducative très utilisée en SNT :
```
┌─────────────────────────┐
│ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │ ← Matrice LED 5x5
│ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │
│ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │
│ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │
│ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ │
│ │
│ [A] [B] │ ← Boutons A et B
│ (USB) │
│ ┌───────────┐ │
└────┴───────────┴────────┘
```
**Capteurs intégrés** :
- Accéléromètre (détecte les mouvements)
- Boussole (orientation)
- Thermomètre
- Capteur de lumière (via les LED)
- Microphone (v2)
---
## Programmer un système embarqué
### Langages de programmation
| Langage | Niveau | Utilisé pour |
|---------|--------|--------------|
| **Scratch/Blockly** | Débutant (blocs) | micro:bit, Arduino |
| **Python** | Intermédiaire | micro:bit, Raspberry Pi |
| **C/C++** | Avancé | Arduino, systèmes embarqués |
### Structure d'un programme embarqué
Un programme embarqué suit généralement cette structure :
```
1. INITIALISATION
- Configurer les capteurs
- Configurer les actionneurs
2. BOUCLE PRINCIPALE (répétée indéfiniment)
- Lire les capteurs
- Traiter les données
- Commander les actionneurs
```
### Exemple en Python (micro:bit)
```python
from microbit import *
# Boucle principale
while True:
# Lire le capteur de température
temperature = temperature()
# Afficher la température
display.scroll(str(temperature))
# Décision
if temperature > 25:
display.show(Image.SAD) # Trop chaud
else:
display.show(Image.HAPPY) # Température OK
sleep(1000) # Attendre 1 seconde
```
### Exemple avec les boutons
```python
from microbit import *
compteur = 0
while True:
# Si le bouton A est pressé
if button_a.was_pressed():
compteur = compteur + 1
display.show(compteur)
# Si le bouton B est pressé
if button_b.was_pressed():
compteur = 0
display.clear()
```
### Activité : Programmer la micro:bit
✏️ **À faire** sur [makecode.microbit.org](https://makecode.microbit.org) :
1. Créez un programme qui affiche votre prénom au démarrage
2. Ajoutez une fonctionnalité : quand on appuie sur A, afficher un smiley content
3. Quand on appuie sur B, afficher un smiley triste
4. Bonus : utiliser l'accéléromètre pour détecter quand on secoue la carte
---
## Enjeux et risques de l'IoT
### Sécurité
| Risque | Description | Exemple |
|--------|-------------|---------|
| **Piratage** | Prise de contrôle à distance | Caméra espionnée, serrure déverrouillée |
| **Botnet** | Objets utilisés pour des attaques | Attaque DDoS via des caméras |
| **Données personnelles** | Vol d'informations | Habitudes, localisation |
**Bonnes pratiques** :
- Changer les mots de passe par défaut
- Mettre à jour les firmwares
- Sécuriser son réseau WiFi
### Vie privée
Les objets connectés collectent énormément de données :
| Objet | Données collectées |
|-------|-------------------|
| **Montre connectée** | Rythme cardiaque, sommeil, position |
| **Enceinte connectée** | Conversations, requêtes vocales |
| **Aspirateur robot** | Plan de votre maison |
| **Thermostat** | Présence/absence, habitudes |
> **Question** : Seriez-vous prêt à partager ces données avec des entreprises ?
### Impact environnemental
- Consommation électrique permanente
- Durée de vie limitée (obsolescence)
- Difficulté de recyclage (composants électroniques)
- Extraction de ressources (métaux rares)
---
## Activités pratiques
### Activité 1 : Identifier les composants
✏️ Choisissez un objet connecté de votre quotidien et identifiez :
1. Les capteurs qu'il utilise
2. Les actionneurs qu'il possède
3. L'interface homme-machine
4. Les données qu'il collecte
### Activité 2 : Simulateur micro:bit
✏️ Sur [makecode.microbit.org](https://makecode.microbit.org) :
1. Créez un "dé électronique" qui affiche un nombre aléatoire de 1 à 6 quand on secoue la carte
2. Créez un "thermomètre" qui affiche la température et un symbole selon qu'il fait chaud ou froid
### Activité 3 : Domotique
✏️ Imaginez une maison connectée :
1. Listez 5 objets connectés utiles
2. Pour chacun, décrivez les capteurs et actionneurs
3. Réfléchissez aux avantages et inconvénients
---
## Pour aller plus loin
- 🎓 [micro:bit - Site officiel](https://microbit.org/fr/)
- 💻 [MakeCode - Éditeur en ligne](https://makecode.microbit.org)
- 📖 [Arduino - Tutoriels](https://www.arduino.cc/en/Tutorial/HomePage)
- 🎥 [C'est pas sorcier - Robots](https://www.youtube.com/watch?v=hN3QI4G8s6s)
- 📖 [CNIL - Objets connectés](https://www.cnil.fr/fr/objets-connectes)
---
## Synthèse
Complétez le texte suivant :
Un système _____________ est un système informatique intégré dans un objet pour réaliser une tâche spécifique.
Il est composé de trois éléments : les _____________ qui mesurent l'environnement, le _____________ qui traite les informations, et les _____________ qui agissent sur l'environnement.
L'_____________ (Interface Homme-Machine) permet à l'utilisateur d'interagir avec le système.
L'_____________ des Objets (IoT) désigne l'ensemble des objets physiques connectés à Internet.
Les objets connectés posent des questions de _____________ (piratage) et de vie _____________ (collecte de données).
---
Auteur : Florian Mathieu
Licence CC BY NC
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.