98 lines
2.7 KiB
Markdown
98 lines
2.7 KiB
Markdown
# 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
|