Nouveaux challenges, nouveaux usages, prototypage rapide & sécurité des ports.
L’Internet des Objets (IoT) regroupe tous les objets capables de collecter des données, de les transmettre et parfois de réagir automatiquement. Exemple : un capteur de température qui envoie ses mesures à une application mobile.
Le prototypage rapide permet de créer rapidement un prototype fonctionnel pour tester une idée avant d’investir dans un produit complet.
Définir : qui utilise l’objet ? Dans quel contexte ? Quel problème résout-il ?
Choisir les capteurs, cartes (Arduino, ESP32, Raspberry Pi), modules radio, alimentation.
Programmer la logique, ouvrir les bons ports, envoyer les données vers une API ou un serveur.
Mettre le prototype en situation réelle, mesurer l’usage, corriger, simplifier.
Utilisation : maison connectée, capteurs environnementaux, monitoring simple.
Utilisation : robotique, IA embarquée, traitement local.
L’objet prend des décisions directement (par exemple : si obstacle détecté, arrêter le robot) et n’envoie que les données importantes au cloud.
Utilisation : domotique, capteurs répartis dans un bâtiment.
Chaque objet peut relayer les messages des autres : si un chemin est bloqué, le réseau en trouve un autre.
En réseau, un port est comme une porte numérotée sur un appareil (ordinateur, serveur, objet IoT). Un service écoute sur un port précis : si le port est ouvert, on peut communiquer ; s’il est fermé, la porte est bloquée.
Quand tu conçois un objet IoT, tu utilises des conditions logiques pour autoriser ou bloquer des actions. Exemple simple :
SI (capteur_ok == OUI) AND (port_443_ouvert == OUI)
ALORS envoyer_données();
SINON
ne_rien_envoyer();
| Capteur | Port | Condition AND | Condition OR |
|---|---|---|---|
| OUI | OUI | VRAI (on envoie) | VRAI |
| OUI | NON | FAUX | VRAI |
| NON | OUI | FAUX | VRAI |
| NON | NON | FAUX | FAUX |
Une carte comme un ESP32, une carte Arduino ou un microcontrôleur IoT contient plusieurs blocs électroniques qui travaillent ensemble. Voici les principaux composants :
| Composant | Rôle | Exemple dans un projet IoT |
|---|---|---|
| CPU / MCU (processeur / microcontrôleur) | Exécute le programme, prend les décisions, traite les données des capteurs. | Décide d’allumer une LED, d’envoyer une mesure au serveur, de fermer un relais, etc. |
| RAM (mémoire vive) | Stocke temporairement les variables et les données pendant que le programme s’exécute. | Buffer de mesures avant envoi, stockage de messages reçus, etc. |
| Mémoire Flash | Contient le programme (firmware) et parfois des paramètres sauvegardés. | Code Arduino ou firmware ESP32 gravé dans la carte, config Wi-Fi enregistrée, etc. |
| Module radio (Wi-Fi, Bluetooth, LoRa…) | Assure la communication sans fil avec les autres appareils ou le réseau. | ESP32 qui envoie des données en Wi-Fi vers une API, module LoRaWAN qui envoie des mesures longues distances. |
| GPIO (broches d’Entrée/Sortie) | Permettent de connecter des capteurs, des boutons, des LED, des moteurs, etc. | Broche numérique reliée à un bouton (entrée), ou à une LED / relais (sortie). |
| Bus de communication (I²C, SPI, UART) | Permettent à la carte de dialoguer avec d’autres composants (capteurs avancés, écrans, modules). | Capteur IMU en I²C, écran OLED en I²C/SPI, GPS en UART, etc. |
| Régulateur d’alimentation | Stabilise la tension fournie à la carte (5V, 3,3V) à partir d’une batterie ou d’un USB. | Permet d’alimenter la carte à partir d’une batterie Li-ion tout en fournissant 3,3V stables au CPU. |
| Connecteur USB / UART | Utilisé pour programmer la carte et parfois pour communiquer avec un PC. | Tu branches ta carte à l’ordinateur, tu téléverses le code, tu lis les logs série. |
| Horloge / oscillateur | Donne le rythme de fonctionnement au CPU (fréquence, timing). | Fixe la vitesse d’exécution du programme, responsable du “temps” dans la carte. |
Dans l’IoT et l’embarqué, on rencontre souvent deux notions : MCU (Microcontroller Unit) et SoC (System on Chip). Les deux sont des “puces intelligentes”, mais avec des niveaux de complexité différents.
| Aspect | MCU (Microcontrôleur) | SoC (System on Chip) |
|---|---|---|
| Complexité | Simple à modéré, conçu pour des tâches ciblées. | Très complexe, peut gérer un système complet (smartphone, PC embarqué). |
| Système d’exploitation | Souvent sans OS (bare-metal) ou avec un petit RTOS. | Peut faire tourner un OS complet (Linux, Android, etc.). |
| Mémoire | RAM et Flash intégrées, capacités limitées (quelques Ko à quelques Mo). | Peut gérer de la RAM externe importante, stockage massif, contrôleurs mémoire avancés. |
| Puissance de calcul | Fréquences modestes, 8/16/32 bits, axé sur la faible consommation. | Multi-cœurs, GPU, accélérateurs (IA, vidéo), bien plus puissant. |
| Exemples d’usage | ESP32, STM32, Arduino : capteurs, petits robots, objets simples. | SoC de smartphone, Raspberry Pi, box TV, caméras IP avancées. |
| Consommation | Très faible, idéal pour batterie longue durée. | Plus élevée, nécessite souvent une meilleure alimentation et dissipation. |