95 lines
2.3 KiB
Markdown
95 lines
2.3 KiB
Markdown
|
|
# Protocoles de communication industriels et IoT**
|
|||
|
|
|
|||
|
|
Dans l’industrie comme dans l’IoT, on doit faire communiquer des capteurs, automates, serveurs, tableaux de bord, etc.
|
|||
|
|
Plusieurs protocoles existent, chacun optimisé pour un usage : faible bande passante, fiabilité élevée, déploiement dans le cloud, compatibilité historique…
|
|||
|
|
|
|||
|
|
|
|||
|
|
## MQTT – Message Queuing Telemetry Transport
|
|||
|
|
|
|||
|
|
Protocole **pub/sub (publish/subscribe)** ultra-léger, conçu pour les capteurs IoT et les réseaux à faible débit.
|
|||
|
|
|
|||
|
|
### Fonctionnement
|
|||
|
|
|
|||
|
|
* Un **broker** (Mosquitto, EMQX, HiveMQ…) centralise la communication.
|
|||
|
|
* Les **clients publient** des messages sur un *topic*.
|
|||
|
|
* D’autres clients **s’abonnent** à ces topics.
|
|||
|
|
|
|||
|
|
Exemple :
|
|||
|
|
|
|||
|
|
* Un capteur publie `temperature = 26°` sur `salle1/temp`.
|
|||
|
|
* Une interface Node-RED ou un automate s’abonne → reçoit en temps réel.
|
|||
|
|
|
|||
|
|
### Avantages
|
|||
|
|
|
|||
|
|
* Très léger, faible consommation réseau.
|
|||
|
|
* Temps réel simple.
|
|||
|
|
* QoS (Quality of Service) :
|
|||
|
|
|
|||
|
|
* **0** : au mieux
|
|||
|
|
* **1** : exactement un message reçu
|
|||
|
|
* **2** : sans doublon
|
|||
|
|
|
|||
|
|
### Limites
|
|||
|
|
|
|||
|
|
* Modèle simple → pas de files persistantes complexes.
|
|||
|
|
* Moins adapté aux transactions ou aux règles métier avancées.
|
|||
|
|
|
|||
|
|
### Domaine typique
|
|||
|
|
|
|||
|
|
* IoT
|
|||
|
|
* Domotique
|
|||
|
|
* Télémetrie en réseau contraint
|
|||
|
|
|
|||
|
|
|
|||
|
|
## AMQP – Advanced Message Queuing Protocol
|
|||
|
|
|
|||
|
|
Protocole orienté **file de messages** utilisé dans les systèmes distribués, cloud, microservices.
|
|||
|
|
|
|||
|
|
Implémentation la plus connue : **RabbitMQ**.
|
|||
|
|
|
|||
|
|
### Modèle de communication
|
|||
|
|
|
|||
|
|
Plus complet que MQTT :
|
|||
|
|
|
|||
|
|
* **Queues** (files d’attente)
|
|||
|
|
* **Exchanges** (direct, topic, fanout, headers)
|
|||
|
|
* **Routes** des messages selon des règles
|
|||
|
|
* Messages **persistants**, **accusés de réception**, **dead-letter queues**…
|
|||
|
|
|
|||
|
|
### Avantages
|
|||
|
|
|
|||
|
|
* Fiabilité élevée (transactions, ack).
|
|||
|
|
* Routage intelligent.
|
|||
|
|
* Très adapté aux architectures microservices.
|
|||
|
|
|
|||
|
|
### Limites
|
|||
|
|
|
|||
|
|
* Protocole plus lourd que MQTT.
|
|||
|
|
* Moins adapté aux réseaux IoT très contraints.
|
|||
|
|
|
|||
|
|
### Domaines
|
|||
|
|
|
|||
|
|
* Backends cloud
|
|||
|
|
* Intégration applicative
|
|||
|
|
* Flux de commandes industrielles complexes
|
|||
|
|
* Chaînes de traitement log d'entreprise
|
|||
|
|
|
|||
|
|
|
|||
|
|
# Modbus/TCP
|
|||
|
|
|
|||
|
|
Protocole historique utilisé en automatisme.
|
|||
|
|
|
|||
|
|
### Fonctionnement
|
|||
|
|
|
|||
|
|
* Client/serveur
|
|||
|
|
* Lecture/écriture de registres
|
|||
|
|
* Pas de sécurité native
|
|||
|
|
* Simple, minimaliste
|
|||
|
|
|
|||
|
|
### Domaines
|
|||
|
|
|
|||
|
|
* Automates
|
|||
|
|
* Variateurs
|
|||
|
|
* Capteurs industriels
|
|||
|
|
* Bancs de test
|