Single-Board Computers — Linux embarqué pour l'IoT industriel¶
Un SBC n'est pas un MCU évolué : c'est une architecture logicielle radicalement différente, avec des avantages et des contraintes que beaucoup d'équipes découvrent trop tard en projet.
SBC vs MCU : une question d'architecture¶
Un microcontrôleur exécute directement son firmware sur le matériel, en maîtrisant chaque cycle d'horloge. Un SBC fait tourner un système d'exploitation complet — Linux dans la grande majorité des cas — avec les abstractions, la latence et la richesse logicielle que cela implique.
La conséquence principale est déterminante : un SBC ne peut pas garantir de temps réel dur. Le scheduler Linux, les interruptions matérielles, les écritures en mémoire flash — tous introduisent des jitters de quelques microsecondes à plusieurs millisecondes. Pour de la commande d'axe à haute fréquence ou de l'acquisition synchrone au microseconde, un MCU dédié reste obligatoire.
En revanche, un SBC offre ce qu'un MCU n'offre jamais facilement : TCP/IP complet, TLS natif, base de données locale, Python/Node.js, conteneurs Docker, mise à jour OTA via gestionnaire de paquets.
Raspberry Pi 4 et 5¶
Raspberry Pi 4 Model B¶
Le Pi 4 est la plateforme de référence du prototypage IoT industriel léger. Avec un SoC Broadcom BCM2711 (Cortex-A72 quad-core 1,8 GHz), jusqu'à 8 Go de RAM LPDDR4, deux ports USB 3.0, un port Gigabit Ethernet et Wi-Fi/BT intégrés, il couvre la quasi-totalité des cas d'usage gateway.
Points de vigilance :
- Consommation active : 3 à 7 W selon charge. Non adapté à une alimentation batterie longue durée.
- Démarrage long : entre 15 et 45 secondes selon la configuration du système d'exploitation.
- Stockage sur microSD : l'endurance est limitée (~10 000 cycles d'écriture). En production, utiliser un SSD NVMe via adaptateur ou boot USB.
- Pas de RTC intégrée : une RTC externe (DS3231) est nécessaire si la synchronisation temporelle hors réseau est requise.
Raspberry Pi 5¶
Sorti en 2023, le Pi 5 monte en performance avec le SoC Broadcom BCM2712 (Cortex-A76 quad-core 2,4 GHz), un contrôleur PCIe 2.0 natif (accès direct à un SSD NVMe), et une RTC intégrée. La consommation au pic atteint 12 W — un adaptateur 5 V/5 A est recommandé.
| Caractéristique | Pi 4 (8 Go) | Pi 5 (8 Go) |
|---|---|---|
| SoC | BCM2711 | BCM2712 |
| Cœurs / fréquence | 4 × Cortex-A72 @ 1,8 GHz | 4 × Cortex-A76 @ 2,4 GHz |
| RAM | 1/2/4/8 Go LPDDR4 | 4/8 Go LPDDR4X |
| PCIe natif | Non | PCIe 2.0 × 1 |
| RTC | Non | Oui (pile bouton) |
| Conso max | ~7 W | ~12 W |
| Prix (8 Go) | ~80 € | ~90 € |
Compute Module 4 et 5¶
Positionnement¶
Le Compute Module est la version industrialisable du Raspberry Pi. Le module lui-même (CM4 ou CM5) concentre le SoC, la RAM et la Flash eMMC sur un connecteur haute densité. La carte mère (carrier board) est fournie par le client ou un partenaire — elle expose uniquement les interfaces nécessaires au produit final.
Cette architecture apporte :
- Un facteur de forme maîtrisé (55 × 40 mm pour le CM4)
- L'absence de connecteurs fragiles (microSD, USB A) exposés
- La possibilité de concevoir une carrier board avec exactement les connecteurs requis
- Une meilleure dissipation thermique (pad métallique sous le module)
Carrier boards industrielles¶
Des fournisseurs comme Waveshare, Seeed Studio ou IO Industries proposent des carrier boards certifiées DIN Rail avec bornes à vis, isolation galvanique, alimentation 12–24 V, et connecteurs CAN/RS-485. Pour les productions supérieures à 500 unités, la conception d'une carrier board sur mesure devient rentable.
CM4 vs CM5¶
Le CM5 (annoncé en 2024) intègre le SoC BCM2712 du Pi 5 et est compatible mécaniquement avec les carrier boards CM4 existantes — un avantage majeur pour les mises à jour de gamme.
Alternatives au Raspberry Pi¶
BeagleBone Black — temps réel via PRU¶
Le BeagleBone Black (Texas Instruments AM335x, Cortex-A8 1 GHz) inclut deux cœurs PRU (Programmable Real-time Unit) à 200 MHz capables d'exécuter du code en temps réel dur à 5 ns de résolution. C'est la plateforme de référence pour les applications nécessitant à la fois Linux et du temps réel dur (contrôle de moteur pas-à-pas, protocoles industriels temps réel type EtherCAT).
NVIDIA Jetson Nano / Orin — ML embarqué¶
| Référence | CPU | GPU | TOPS | TDP |
|---|---|---|---|---|
| Jetson Nano | 4 × A57 | 128 cœurs Maxwell | 0,5 | 5–10 W |
| Jetson Orin NX 8 Go | 6 × A78AE | 1024 cœurs Ampere | 40 | 10–25 W |
| Jetson Orin AGX 64 Go | 12 × A78AE | 2048 cœurs Ampere | 275 | 15–60 W |
Les modules Jetson sont dimensionnés pour l'inférence de réseaux de neurones en temps réel : vision par ordinateur, détection d'anomalies, classification audio. NVIDIA propose JetPack (Ubuntu + CUDA + TensorRT) comme environnement cible.
Orange Pi 5 / 5 Plus¶
L'Orange Pi 5 (RK3588S, 8 cœurs big.LITTLE) est une alternative moins chère (~60–80 €) avec un NPU intégré à 6 TOPS. Sa maturité logicielle est inférieure au Raspberry Pi, mais sa communauté croît rapidement et Rockchip offre un support noyau mainline depuis 2023.
Tableau de décision : SBC vs MCU¶
flowchart TD
A[Définir le besoin] --> B{Temps réel dur\n< 1 ms garanti ?}
B -->|Oui| C[MCU obligatoire\nSTM32 / nRF / ESP32]
B -->|Non| D{Pile réseau complète\nou applications Linux ?}
D -->|Non| E{Puissance de calcul\nélevée nécessaire ?}
D -->|Oui| F[SBC adapté\nRaspberry Pi / CM4]
E -->|Oui, ML / vision| G[Jetson Orin\nou Orange Pi 5]
E -->|Non| C
F --> H{Production\n> 500 unités ?}
H -->|Oui| I[Compute Module\n+ carrier board custom]
H -->|Non| J[Raspberry Pi 4/5\ncarte standard] | Critère | MCU (STM32F4) | SBC (Raspberry Pi 4) | SBC industriel (CM4) |
|---|---|---|---|
| Démarrage | < 1 ms | 20–45 s | 15–40 s |
| Temps réel dur | Oui (µs) | Non | Non |
| Pile TCP/IP | Partielle (lwIP) | Complète | Complète |
| Langages disponibles | C/C++ | Python, Node, Go, Rust… | Python, Node, Go, Rust… |
| Mise à jour OTA | Manuelle (bootloader) | apt / Mender / Balena | apt / Mender / Balena |
| Consommation veille | < 10 µA | ~400 mA (idle) | ~250 mA (idle) |
| Coût (unité) | ~2–5 € | 45–90 € | 35–80 € (module seul) |
| Durée de vie produit | 15 ans (garanti ST) | EOL non garantie | EOL non garantie |
Architecture typique avec un SBC dans un système IoT¶
flowchart LR
subgraph Terrain
S1[Capteur 1\nI2C/SPI]
S2[Capteur 2\nRS-485]
A1[Actionneur\nRelais/PWM]
end
subgraph MCU_Coprocesseur["MCU coprocesseur (optionnel)"]
M[STM32\nTemps réel]
end
subgraph SBC["SBC — Raspberry Pi CM4"]
L[Linux + Python]
DB[SQLite / InfluxDB]
AG[Agent MQTT/HTTP]
end
subgraph Cloud
C[Broker MQTT\nou API REST]
end
S1 -->|I2C| M
S2 -->|UART| M
M -->|UART/SPI| L
A1 -->|GPIO| M
L --> DB
L --> AG
AG -->|TLS| C Ce qu'il faut retenir¶
- Un SBC exécute Linux et offre toute la richesse logicielle associée, au prix d'une latence non déterministe et d'une consommation incompatible avec l'alimentation sur batterie.
- Le Compute Module 4/5 est la version industrialisable du Raspberry Pi : facteur de forme maîtrisé, carrier board sur mesure, pas de connecteurs fragiles exposés.
- Pour le temps réel dur, il faut un coprocesseur MCU ; pour l'inférence ML embarquée, les modules Jetson Orin s'imposent.
- La combinaison SBC + MCU coprocesseur est fréquente dans les gateways industrielles complexes.
Chapitre suivant : Interfaces matérielles — I2C, SPI, UART, RS-485 : les protocoles qui relient capteurs et microcontrôleurs sur un PCB ou dans une armoire électrique.