Qu'est-ce que c'est
Le Raspberry Pi Compute Module 4 (CM4) est une plateforme de calcul embarqué basée sur le SoC Broadcom BCM2711, avec quatre cœurs ARM Cortex-A72 à 1,5 GHz et jusqu'à 8 Go de RAM LPDDR4X. Contrairement aux versions à carte complète du Raspberry Pi, le CM4 adopte un format de module compact (55 × 40 mm) qui facilite son intégration dans du matériel industriel personnalisé.
Il intègre une connectivité sans fil 802.11ac et Bluetooth 5.0, un stockage eMMC soudé (jusqu'à 32 Go) et une interface d'extension haute densité avec 28 broches GPIO et des bus I²C, SPI et UART. Sa consommation en pleine charge avoisine 5 W, ce qui le rend viable pour une installation dans des environnements ferroviaires où l'alimentation est limitée.
Rôle dans IN-SIGHT
Chaque Pod IoT d'IN-SIGHT intègre un CM4 qui fait office d'unité de traitement edge. En exécutant la logique d'analyse directement à bord du véhicule, le système élimine la dépendance à la connectivité en temps réel et réduit radicalement le volume de données transmises au cloud.
- Acquisition : Interface directe avec les capteurs MEMS via SPI à des fréquences jusqu'à 6 667 Hz. Lecture de l'accéléromètre, du gyroscope et du microphone MEMS à chaque cycle.
- Prétraitement DSP : Application de fenêtres de Hann, FFT de 1024 points et filtres IIR passe-bande pour extraire les fréquences caractéristiques de chaque sous-système (roulements, roues, mécanisme de portes).
- Détection primaire : Exécution du Filtre de Kalman Étendu local qui compare l'état actuel à la référence Golden Run stockée en eMMC.
- Empaquetage et chiffrement : Sérialisation des métriques en JSON compact et transmission via MQTT sur TLS 1.3 vers Azure IoT Hub.
- Device Twin : Synchronisation bidirectionnelle de l'état de configuration avec le cloud, incluant des seuils adaptatifs et la version du firmware.
Latence edge : Le CM4 complète le cycle acquisition → DSP → détection en moins de 5 ms, ce qui permet une réponse en temps réel sans nécessiter de connectivité au cloud.
Pipeline de traitement
Le logiciel embarqué du CM4 est écrit en Python 3.11 avec des modules critiques accélérés par numba JIT. Le pipeline suit ce flux :
Capteur MEMS (SPI @6667 Hz)
│
▼
Buffer circulaire (2048 échantillons)
│
▼
Fenêtre de Hann → FFT 1024pt → Filtre IIR
│
▼
Extraction de caractéristiques
(RMS, percentiles, fréquences crête)
│
▼
Filtre de Kalman Étendu (EKF)
│
├─ Sans anomalie → agrège et envoie (30 s)
└─ Anomalie → envoie immédiatement + alerte