Installation de satellites snips

Qu’est-ce que MQTT ?

Avant de passer à la suite, il faut que je t’explique rapidement ce qu’est MQTT car tous les échanges entre les composants snips se base là-dessus.

MQTT veut dire « Message Queuing Telemetry Transport ». En fait, c’est un protocole de messagerie de type publish/subscribe, c’est à dire publication/abonnement. On dit qu’on s’abonne à un topic.

On va essayer de prendre un exemple simple avec un facteur, des petites annonces et un lotissement de maison. Ces petites annonces sont spécialisées chacune dans une partie. Par exemple, les petites annonces immobilières, les petites annonces sur les voitures et les petites annonces sur les jouets.

chacune des maisons à la possibilité de s’abonner à 0, 1 voir à toutes les petites annonces.
Imaginons que la maison 1 souhaite poster une annonce sur la vente d’une voiture rouge 5 places diesel. Une fois l’annonce rédigée, elle appelle le facteur qui récupère l’annonce.

Le facteur va ensuite regarder la liste des maisons qui sont abonnées aux petites annonces voitures et va aller mettre cette annonce dans chacune des boites aux lettres des maisons concernées.

Et pour aller plus loin, chaque maison à la possibilité de s’abonner qu’à des petites annonces précises. Par exemple, voiture rouge coupé. dans ce cas, la maison abonnée à ce type de petites annonces ne recevra pas l’annonce que nous avons postée plus haut

Et en langage MQTT ?

Les topics sont dans ce format :

annonces/voitures/diesel/

tout est séparé par un slash  » / « . Tu remarqueras que plus tu vas vers la droite plus c’est précis. On va donc pour avoir des topics plus où moins dédiés par exemple :

annonces/voitures/diesel
annonces/voitures/essence/rouge
annonces/maison/cinq-chambres

Après, tu peux venir t’abonner à n’importe quel topic. Si tu souhaites avoir toutes les annonces sur les voitures, alors tu vas t’abonner à :

annonces/voitures/#

Et si tu veux t’abonner à toutes les petites annonces :

annonces/#

Et dans snips ?

Et bien pour snips, chaque composant va avoir son topic avec des « sous-topics » dédiés. Par exemple :

hermes/hotword : pour les mots clés
hermes/asr : Pour la reconnaissance vocale
hermes/tts : Pour la lecture du texte à haute voix

Mais pour hotword, il y’a des topics plus spécialisés comme :

hermes/hotword/< WAKEWORD_ID >/detected

A chaque fois que le composant hotword détectera le mot clé identifié par wakeword_id, alors il postera un message sur ce topic.

Derrière, il y a un composant de snips qui est abonné à ce topic et qui sait que lorsque le mot clé est détecté, c’est à lui de jouer

Voilà, j’espère que cela t’éclaire un peu plus sur MQTT. Je ne suis pas trop rentré dans les détails et j’ai parfois fait des raccourcis mais le but était que tu aies une vision générale de ce qu’est MQTT et comment ça fonctionne.

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.