This commit is contained in:
JOLIMAITRE Matthieu 2024-03-11 13:06:55 +01:00
parent a619a2142e
commit 3e468bfda0
5 changed files with 229 additions and 0 deletions

98
iot/02_standards.md Normal file
View file

@ -0,0 +1,98 @@
# Standards
## Introduction
## MQTT
Message Queue Telemetry Transport
Protocole de transmission de télémesure en machine-to-machine léger.
Basé sur des files d'attentes avec un API basé sur le patron de Notification.
Commande
Notification
- créée en 1999 par IBM et Eurotech.
- adopté par OASIS (version actuelle 5.0)
### Exemple
```
+----------+
| Client A |-.
+----------+ | +---------------+
| | Application X |
+----------+ `>+--------+<==>+---------------+
| Client B |-->| Broker |
+----------+ .>+--------+<==>+---------------+
| \ | Application Y |
+----------+ | \ +---------------+
| Client C |-' \__ abonnement / notification IP
+----------+ \__ messages
```
- n Clients (STM32, Aruino, Rapberry Pi)
- 1 Broker (en ligne, serveur)
- m Appilications (PC, Smartphone)
### Modèles
Topic
- Des queues parallèlles de messages.
- Permet aux clients d'échanger des informations d'une sémantique spécifique.
Session
- Une session qui identifie l'ensemble des topics et la séquence des messages reçus.
- Toutes les communications client / serveur se feront par sessions.
Subscriptions
- Contrairement aux sessions, un abonnement attache un client à un topic.
```
clients applications
+-----------+ +- broker -+ +------------+
| | | +--1-->| |
| publisher +--1-->| topic 1 | | subscriber |
| | | +--4-->| |
+-----------+ | topic 2 | +------------+
| |
+-----------+ | topic 3 | +------------+
| +--1-->| | | |
| publisher | | topic 4 +--4-->| subscriber |
| +--2-->| | ^\ | |
+-----------+ ^\ +----------+ \ +------------+
\ \_ subscription -> notifications
\_ publications
```
### Trame
```
+----+-+-+-+-----------+---------+-----------+
| 4 |1|2|1| 8 | C | remaining |
+----+-+-+-+-----------+---------+-----------+
|Type|D|Q|R| remaining | options | DATA |
+----+-+-+-+-----------+---------+-----------+
^\^\^\ ^^^^^^^^^\ ^^^^^^^\_ champ d'options
\ \ \ \_ taille de DATA
\ \ \_ RETAIN
\ \__ QoS
\___ DUPL
```
- type
- 3: publish
- .: ...
- DUPL : drapeau signifiant que le message est une duplication
- QoS : Qualité de service
- 0: envoyé
- 2: une reception
- 3: toute les réceptions
-
## CoAP
## Comparaisons
## IoT pour la gestion d'appareils : LwM2M