# 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