Aller au contenu

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.