From ac3f8e175018972e942928bfad2bdfdfd23b747f Mon Sep 17 00:00:00 2001 From: medina5 Date: Tue, 9 Dec 2025 13:47:29 +0100 Subject: [PATCH] tp2 --- s.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tp2.md | 22 +++++++-------- 2 files changed, 95 insertions(+), 12 deletions(-) create mode 100644 s.md diff --git a/s.md b/s.md new file mode 100644 index 0000000..f64fcd0 --- /dev/null +++ b/s.md @@ -0,0 +1,85 @@ +## CoAP – Constrained Application Protocol + +REST pour objets très limités (remplace souvent HTTP dans l’IoT faible énergie). + +### Fonctionnement + +* Basé sur **UDP** +* Semblable à HTTP : GET / POST / PUT / DELETE +* Peut fonctionner en multicast +* Très faible consommation énergétique. + +### Domaines + +* IoT basse consommation (capteurs LoRa, Thread, 6LoWPAN) + +## OPC-UA – Open Platform Communications Unified Architecture + +### Objectif + +Standard industriel pour l’interopérabilité des automates. + +### Fonctionnement + +* Modèle client/serveur +* Naviguer dans un **espace d’adressage structuré** +* Propose sécurité, typage fort, modèles d’objet + +### Avantages + +* Idéal pour automates, SCADA, MES. +* Très riche et standardisé. + +### Limites + +* Plus complexe que MQTT/AMQP. +* Souvent plus lourd. + +# 6️⃣ **HTTP/WebSocket** + +Même si ce ne sont pas des protocoles spécialisés, ils servent souvent : + +## HTTP + +* Standard universel (API REST) +* Pour configuration, supervision + +## WebSocket + +* Canal bidirectionnel temps réel +* Pour dashboards interactifs (Node-RED Dashboard, Grafana Live…) + +--- + +# 🎯 **Comparaison synthétique** + +| Protocole | Type | Lourd/Léger | Cas d’usage | Fiabilité | +| -------------- | ------------------- | ------------- | -------------------------------- | -------------- | +| **MQTT** | Pub/Sub | ⭐ très léger | IoT, capteurs, télémetrie | QoS 0-1-2 | +| **AMQP** | Messagerie (queues) | moyen | Microservices, industrie avancée | ⭐⭐⭐ haute | +| **CoAP** | REST léger (UDP) | ⭐ ultra-léger | IoT basse énergie | medium | +| **OPC-UA** | Modèle industriel | lourd | Automates, SCADA | ⭐⭐⭐ | +| **Modbus/TCP** | Registres | léger | Automatisme traditionnel | faible | +| **HTTP** | Requête/réponse | moyen | APIs, configuration | dépend serveur | +| **WebSocket** | Temps réel | moyen | Dashboard, supervision | bonne | + +--- + +# 🎓 **Quel protocole pour vos étudiants GEII ?** + +👉 **MQTT** : parfait pour débuter (Node-RED, capteurs, Raspberry Pi). +👉 **AMQP** : excellent pour illustrer la différence « Pub/Sub simple » vs « routage complexe ». +👉 **Modbus/TCP** : indispensable pour les bases de l’automatisme. +👉 **OPC-UA** : pour la modernisation des systèmes industriels. +👉 **CoAP** : pour les projets IoT énergétique (bonus). + +--- + +Si cela convient, je peux vous préparer : + +✔ un **cours PDF complet** +✔ un **schéma comparatif** +✔ des **exercices / TP** (MQTT → Node-RED, AMQP avec RabbitMQ, Modbus avec un simulateur…) +✔ des **exemples de code** (C, Python, NodeJS) + +Souhaite-t-il un format particulier ? PDF ? Slides ? Un cours plus détaillé ? diff --git a/tp2.md b/tp2.md index 29a1718..4d3c737 100644 --- a/tp2.md +++ b/tp2.md @@ -184,22 +184,20 @@ Ajouter un histogramme pour le volume dans le réservoir - 9 - 9.5 -``` +```c #include - Histogram::BucketBoundaries buckets = { - 2, 5, 6, 7, 8, 9, 9.5 - }; +Histogram::BucketBoundaries buckets = { + 2, 5, 6, 7, 8, 9, 9.5 +}; - auto& hist_family = BuildHistogram() - .Name("volume") - .Help("volume du reservoir en m3") - .Register(*registry); +auto& hist_family = BuildHistogram() + .Name("volume") + .Help("volume du reservoir en m3") + .Register(*registry); auto& request_volume = hist_family.Add({}, buckets); -auto& request_duration_login = - hist_family.Add({{"endpoint", "/login"}}, buckets); - -request_duration_login.Observe(0.42); +request_volume.Observe(0.42); +```