La qualité de service (QdS) ou Quality of Service
(QoS) est la capacité de transmettre sur un type de trafic donné
en fonction de la disponibilité, de la vitesse, du délai de
transmission, de la gigue, du taux de perte de paquets, etc. dans de bonnes
conditions. En d'autres termes, la QoS permet aux périphériques
réseau de différencier le trafic et de lui appliquer
différents comportements.
Trois niveaux de qualité de service (QoS) sont
définis pour la publication des messages :
QoS 0 : Livraison une fois maximum.
Les messages sont envoyés en fonction de la
capacité maximale du réseau TCP/IP sous-jacent. Aucune
réponse n'est attendue. Aucune sémantique de relance n'est
définie dans le protocole. Par conséquent, le message n'atteindra
pas du tout l'agent de destination, ni n'arrivera qu'une seule fois. Le niveau
QoS 0 est également appelé fire and forget.
Figure 6 : représentation de la QoS 0 (source :
hivemq.com)
QoS 1 : Livraison au moins une fois.
L'arrivée d'un message QoS 1 au broker est reconnue.
Si un lien identifiable ou une unité d'envoi échoue, ou si aucun
message de confirmation n'est reçu dans un certain laps de temps,
l'expéditeur envoie à nouveau une copie du message.
Par conséquent, le message arrivera certainement, mais
il peut effectuer cette opération plusieurs fois.
DUT R&T - Mémoire 2020 - BOURGEAY Raphaël 16
Figure 7 : représentation de la QoS 1 (source :
hivemq.com)
QoS 2 : Livraison exactement une fois.
Pour le niveau QoS 2, d'autres flux de protocoles que QoS 1
seront utilisés afin que le message ne soit pas envoyé de
manière répétée à l'application
réceptrice. Il s'agit du plus haut niveau de service utilisé lors
de la répétition inappropriée de messages. Cela aura un
impact sur le trafic réseau, mais étant donné l'importance
du contenu du message, cet impact est généralement acceptable. La
qualité de service peut être sélectionnée message
par message, ce qui permet la libération de messages secondaires avec le
niveau de QoS 0 et la distribution de messages importants avec QoS 2.
Ces niveaux sont atteints grâce à d'autres
échanges entre l'expéditeur et le destinataire, et plus la
qualité demandée est élevée, plus les
échanges sont nécessaires pour vérifier la publication
comme indiqué. Pour tous les niveaux supérieurs à
zéro, l'identifiant est associé au message pour lui permettre
d'être suivi, MQTT offre la possibilité d'attendre jusqu'à
65535 messages (l'identifiant de message réserve 16 bits)
Figure 8 : représentation de la QoS 1 (source :
hivemq.com)
7.5 Exploitation de données
Node-RED est un langage de programmation graphique pour
développer des objets connectés en combinant des blocs
fonctionnels. Node-RED est un projet open source gratuit pris en charge par
IBM. Node-RED est un programme qui fonctionne en liant des fonctions
représentées sous forme de briques. Le flux de données est
transmis d'un processus à un autre (d'une fonction à une
DUT R&T - Mémoire 2020 - BOURGEAY Raphaël 17
autre). Les paramètres fournis par certaines fonctions
ne doivent être définis qu'à l'aide d'une liste ou d'un
champ de sélection. Il existe des centaines de plugins dans tous les
domaines permettant d'enregistrer les données dans une base de
données (MySQL (My Structured Query Language), MongoDB
(Mongo Data Base)...), de contrôler les entrées/sorties
Arduino ou Raspberry (ajouter une interface graphique pour tracer des
graphiques, afficher des jauges, commander un relai à l'aide d'un
bouton...)
8 Conception de la station météorologique
8.1 Choix des éléments matériels