425 lines
15 KiB
Markdown
425 lines
15 KiB
Markdown
# 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
|
|
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.
|