Connexion à WIS2 via MQTT
Résultats d'apprentissage
À la fin de cette session pratique, vous serez capable de :
- vous connecter au Global Broker de WIS2 en utilisant MQTT Explorer
- examiner la structure des sujets WIS2
- examiner la structure des messages de notification WIS2
Introduction
WIS2 utilise le protocole MQTT pour annoncer la disponibilité des données météorologiques/climatiques/hydrologiques. Le Global Broker de WIS2 s'abonne à tous les WIS2 Nodes du réseau et republie les messages qu'il reçoit. Le Global Cache s'abonne au Global Broker, télécharge les données dans le message puis republie le message sur le sujet cache
avec une nouvelle URL. Le Global Discovery Catalogue publie les métadonnées de découverte du Broker et fournit une API de recherche.
Voici un exemple de la structure de message de notification WIS2 pour un message reçu sur le sujet origin/a/wis2/br-inmet/data/core/weather/surface-based-observations/synop
:
{
"id": "59f9b013-c4b3-410a-a52d-fff18f3f1b47",
"type": "Feature",
"version": "v04",
"geometry": {
"coordinates": [
-38.69389,
-17.96472,
60
],
"type": "Point"
},
"properties": {
"data_id": "br-inmet/data/core/weather/surface-based-observations/synop/WIGOS_0-76-2-2900801000W83499_20240815T060000",
"datetime": "2024-08-15T06:00:00Z",
"pubtime": "2024-08-15T09:52:02Z",
"integrity": {
"method": "sha512",
"value": "TBuWycx/G0lIiTo47eFPBViGutxcIyk7eikppAKPc4aHgOmTIS5Wb9+0v3awMOyCgwpFhTruRRCVReMQMp5kYw=="
},
"content": {
"encoding": "base64",
"value": "QlVGUgAA+gQAABYAACsAAAAAAAIAHAAH6AgPBgAAAAALAAABgMGWx1AAAM0ABOIAAAODM0OTkAAAAAAAAAAAAAAKb5oKEpJ6YkJ6mAAAAAAAAAAAAAAAAv0QeYA29WQa87ZhH4CQP//z+P//BD////+ASznXuUb///8MgAS3/////8X///e+AP////AB/+R/yf////////////////////6/1/79H/3///gEt////////4BLP6QAf/+/pAB//4H0YJ/YeAh/f2///7TH/////9+j//f///////////////////v0f//////////////////////wNzc3Nw==",
"size": 250
},
"wigos_station_identifier": "0-76-2-2900801000W83499"
},
"links": [
{
"rel": "canonical",
"type": "application/bufr",
"href": "http://wis2bra.inmet.gov.br/data/2024-08-15/wis/br-inmet/data/core/weather/surface-based-observations/synop/WIGOS_0-76-2-2900801000W83499_20240815T060000.bufr4",
"length": 250
}
]
}
Dans cette session pratique, vous apprendrez à utiliser l'outil MQTT Explorer pour configurer une connexion client MQTT à un Global Broker de WIS2 et à afficher les messages de notification WIS2.
MQTT Explorer est un outil utile pour parcourir et examiner la structure des sujets pour un broker MQTT donné afin de réviser les données publiées.
Notez que MQTT est principalement utilisé pour la communication "machine à machine" ; cela signifie qu'il y aurait normalement un client qui analyse automatiquement les messages au fur et à mesure de leur réception. Pour travailler avec MQTT de manière programmatique (par exemple, en Python), vous pouvez utiliser des bibliothèques clientes MQTT telles que paho-mqtt pour vous connecter à un broker MQTT et traiter les messages entrants. Il existe de nombreux logiciels clients et serveurs MQTT, en fonction de vos besoins et de votre environnement technique.
Utilisation de MQTT Explorer pour se connecter au Global Broker
Pour visualiser les messages publiés par un Global Broker de WIS2, vous pouvez utiliser "MQTT Explorer" qui peut être téléchargé depuis le site web de MQTT Explorer.
Ouvrez MQTT Explorer et ajoutez une nouvelle connexion au Global Broker hébergé par MeteoFrance en utilisant les détails suivants :
- hôte : globalbroker.meteo.fr
- port : 8883
- nom d'utilisateur : everyone
- mot de passe : everyone
Cliquez sur le bouton 'ADVANCED', retirez les sujets préconfigurés et ajoutez les sujets suivants à souscrire :
origin/a/wis2/#
Note
Lors de la configuration des abonnements MQTT, vous pouvez utiliser les jokers suivants :
- Niveau unique (+) : un joker de niveau unique remplace un niveau de sujet
- Niveau multiple (#) : un joker de niveau multiple remplace plusieurs niveaux de sujet
Dans ce cas, origin/a/wis2/#
vous abonnera à tous les sujets sous le sujet origin/a/wis2
.
Cliquez sur 'BACK', puis sur 'SAVE' pour enregistrer vos détails de connexion et d'abonnement. Ensuite, cliquez sur 'CONNECT' :
Les messages devraient commencer à apparaître dans votre session MQTT Explorer comme suit :
Vous êtes maintenant prêt à explorer la structure des sujets et des messages WIS2.
Exercice 1 : Examiner la structure des sujets WIS2
Utilisez MQTT pour parcourir la structure des sujets sous les sujets origin
.
Question
Comment pouvons-nous distinguer le centre WIS qui a publié les données ?
Cliquez pour révéler la réponse
Vous pouvez cliquer sur la fenêtre de gauche dans MQTT Explorer pour développer la structure des sujets.
Nous pouvons distinguer le centre WIS qui a publié les données en regardant le quatrième niveau de la structure des sujets. Par exemple, le sujet suivant :
origin/a/wis2/br-inmet/data/core/weather/surface-based-observations/synop
nous indique que les données ont été publiées par un centre WIS avec l'identifiant de centre br-inmet
, qui est l'identifiant de centre pour l'Instituto Nacional de Meteorologia - INMET, Brésil.
Question
Comment pouvons-nous distinguer entre les messages publiés par les centres WIS hébergeant un passerelle GTS-to-WIS2 et les messages publiés par les centres WIS hébergeant un WIS2 Node ?
Cliquez pour révéler la réponse
Nous pouvons distinguer les messages provenant de la passerelle GTS-to-WIS2 en regardant l'identifiant de centre dans la structure des sujets. Par exemple, le sujet suivant :
origin/a/wis2/de-dwd-gts-to-wis2/data/core/I/S/A/I/01/sbbr
nous indique que les données ont été publiées par la passerelle GTS-to-WIS2 hébergée par Deutscher Wetterdienst (DWD), Allemagne. La passerelle GTS-to-WIS2 est un type spécial de diffuseur de données qui publie des données du Système mondial de télécommunication (GTS) vers WIS2. La structure des sujets est composée par les en-têtes TTAAii CCCC pour les messages GTS.
Exercice 2 : Examiner la structure des messages WIS2
Déconnectez-vous de MQTT Explorer et mettez à jour les sections 'Advanced' pour changer l'abonnement aux sujets suivants :
origin/a/wis2/+/data/core/weather/surface-based-observations/synop
cache/a/wis2/+/data/core/weather/surface-based-observations/synop
Note
Le joker +
est utilisé pour s'abonner à tous les centres WIS.
Reconnectez-vous au Global Broker et attendez que les messages apparaissent.
Vous pouvez visualiser le contenu du message WIS2 dans la section "Value" sur le côté droit. Essayez d'élargir la structure des sujets pour voir les différents niveaux du message jusqu'à atteindre le dernier niveau et examinez le contenu du message de l'un des messages.
Question
Comment pouvons-nous identifier le moment où les données ont été publiées ? Et comment pouvons-nous identifier le moment où les données ont été collectées ?
Cliquez pour révéler la réponse
Le moment où les données ont été publiées est contenu dans la section properties
du message avec une clé de pubtime
.
Le moment où les données ont été collectées est contenu dans la section properties
du message avec une clé de datetime
.
Question
Comment pouvons-nous télécharger les données à partir de l'URL fournie dans le message ?
Cliquez pour révéler la réponse
L'URL est contenue dans la section links
avec rel="canonical"
et définie par la clé href
.
Vous pouvez copier l'URL et la coller dans un navigateur web pour télécharger les données.
Exercice 3 : Examiner la différence entre les sujets 'origin' et 'cache'
Assurez-vous que vous êtes toujours connecté au Global Broker en utilisant les abonnements aux sujets origin/a/wis2/+/data/core/weather/surface-based-observations/synop
et cache/a/wis2/+/data/core/weather/surface-based-observations/synop
comme décrit dans l'Exercice 2.
Essayez d'identifier un message pour le même identifiant de centre publié à la fois sur les sujets origin
et cache
.
Question
Quelle est la différence entre les messages publiés sur les sujets origin
et cache
?
Cliquez pour révéler la réponse
Les messages publiés sur les sujets origin
sont les messages originaux que le Global Broker republie des WIS2 Nodes du réseau.
Les messages publiés sur les sujets cache
sont les messages pour lesquels les données ont été téléchargées par le Global Cache. Si vous vérifiez le contenu du message du sujet commençant par cache
, vous verrez que le lien 'canonical' a été mis à jour vers une nouvelle URL.
Il existe plusieurs Global Caches dans le réseau WIS2, donc vous recevrez un message de chaque Global Cache qui a téléchargé le message.
Le Global Cache ne téléchargera et ne republiera que les messages qui ont été publiés sur la hiérarchie des sujets ../data/core/...
.
Conclusion
Félicitations !
Dans cette session pratique, vous avez appris :
- comment vous abonner aux services du Global Broker de WIS2 en utilisant MQTT Explorer
- la structure des sujets WIS2
- la structure des messages de notification WIS2
- la différence entre les données de base et les données recommandées
- la structure des sujets utilisée par la passerelle GTS-to-WIS2
- la différence entre les messages du Global Broker publiés sur les sujets
origin
etcache