Fiche IA embarquée — cas d'usage local
1. IA Cloud vs Edge AI
IA Cloud : le modèle est hébergé sur un serveur distant (AWS, GCP, Azure). Les données sont envoyées via Internet, traitées, et le résultat est renvoyé. Avantages : puissance de calcul illimitée, modèles complexes. Inconvénients : latence réseau, dépendance à la connexion, coût de bande passante, vie privée.
Edge AI : le modèle est exécuté directement sur le microcontrôleur ou le Raspberry Pi. Inférence en temps réel, pas de dépendance réseau, latence nulle. Idéal pour Tuléar où la connexion est instable. Inconvénients : mémoire et puissance limitées, modèles simplifiés.
| Critère | IA Cloud | Edge AI |
|---|---|---|
| Lieu d'exécution | Serveur distant | Microcontrôleur / RPi |
| Latence | 100 ms − 1 s (selon réseau) | < 1 ms (temps réel) |
| Dépendance réseau | Obligatoire | Aucune |
| Consommation | Élevée (serveur + réseau) | Faible (mW) |
| Vie privée | Données envoyées à l'extérieur | Données locales |
| Modèles possibles | GPT, YOLO, ResNet (illimité) | TFLite quantifié, modèles < 1 Mo |
2. Frameworks pour l'IA embarquée
TensorFlow Lite — version allégée de TensorFlow pour mobile et embarqué. Convertit un modèle .h5 ou .keras en .tflite. Supporte la quantification (float16, int8) pour réduire la taille et accélérer l'inférence.
Edge Impulse — plateforme en ligne pour créer des modèles ML optimisés pour microcontrôleurs (Arduino, ESP32, STM32). Idéale pour la classification audio, la détection de mouvement, etc.
Arduino TensorFlow Lite — bibliothèque expérimentale permettant d'exécuter des modèles .tflite directement sur Arduino Nano BLE 33 et ESP32.
3. Cas d'usage IA+IoT à Madagascar
- Détection de maladies des plantes — caméra + modèle CNN sur RPi pour reconnaître le mildiou sur les feuilles de manioc. Alerte SMS immédiate.
- Classification des poissons — reconnaissance automatique des espèces de poissons au débarquement des pirogues à Tuléar. Suivi des quotas.
- Détection d'intrusion par audio — ESP32 + micro capte les sons (cris, moteurs, casse) et déclenche une alarme. Pas de caméra = respect de la vie privée.
a) Utilisez Google Teachable Machine pour entraîner un modèle de classification d'images (3 classes : capteur OK, capteur sale, capteur cassé). Exportez le modèle.
b) Identifiez et décrivez 3 cas d'usage IoT+IA spécifiques à Madagascar (hors exemples du cours).
c) BONUS — Déployez un modèle TensorFlow Lite sur ESP32 qui allume une LED si une température est classée comme "anormale".
#include <TensorFlowLite_ESP32.h>
#include "model_anomalie.h"
const int LED_ROUGE = 13;
float temperature = 0;
void setup() {
Serial.begin(115200);
pinMode(LED_ROUGE, OUTPUT);
if (!tflite_setup()) {
Serial.println("ERREUR TFLite");
while (1);
}
Serial.println("Modèle TFLite chargé !");
}
void loop() {
temperature = analogRead(34) * (3.3 / 4095.0) * 100;
float input[1] = {temperature};
float *output = tflite_infer(input);
if (output[0] > 0.5) {
digitalWrite(LED_ROUGE, HIGH);
Serial.print("⚠ ANOMALIE détectée: ");
Serial.println(temperature, 1);
} else {
digitalWrite(LED_ROUGE, LOW);
}
delay(1000);
}