Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Principes de base de MQTT

MQTT est une architecture de publication/abonnement développée principalement pour connecter des appareils à bande passante et à puissance limitée sur des réseaux sans fil. Il s'agit d'un protocole simple et léger qui s'exécute sur des sockets TCP/IP ou WebSockets. MQTT sur WebSockets peut être sécurisé avec SSL. L'architecture de publication/abonnement permet de pousser les messages vers les appareils clients sans que l' appareil ait besoin d'interroger en permanence le serveur.

Le MQTT broker est le point central de communication et il est chargé de répartir tous les messages entre les expéditeurs et les destinataires légitimes. Un client est tout appareil qui se connecte au broker et peut publier ou s'abonner à des rubriques pour accéder aux informations. Une rubrique contient les informations de routage pour le broker. Chaque client qui souhaite envoyer des messages les publie dans un certain sujet, et chaque client qui souhaite recevoir des messages s'abonne à un certain sujet. Le broker distribue tous les messages avec le sujet correspondant aux clients appropriés.

ThingSpeak™ a un MQTT broker à l'URL mqtt3.thingspeak.com et au port 1883. Le broker ThingSpeak prend en charge à la fois la publication MQTT et l'abonnement MQTT, comme indiqué dans les diagrammes suivants.

Publication MQTT

Cette figure décrit la structure des rubriques. Le broker accuse réception d'une demande CONNECT correcte avec CONNACK.

MQTT S'abonner

Cette figure décrit la structure des rubriques. Le broker accuse réception d'une demande SUBSCRIBE correcte avec SUBACK.

Créer un appareil ThingSpeak MQTT

L'accès MQTT à vos canaux, y compris les informations d'identification, est géré par un MQTT device ThingSpeak. Votre appareil est configuré avec les informations d'identification nécessaires pour que votre client MQTT puisse communiquer avec ThingSpeak et pour autoriser des canaux spécifiques. Utilisez les étapes suivantes pour créer un MQTT device.

  1. Dans le menu ThingSpeak , cliquez sur Devices > MQTT.

    Device menu

  2. Sur la page Appareils MQTT, cliquez sur Add a new device.

    Add device option

  3. Remplissez la boîte de dialogue Ajouter un nouvel appareil :

    New device dialog

    1. Indiquez un nom appareil .

    2. Fournissez une description facultative.

    3. Dans la section Autoriser les canaux, choisissez un canal dans le menu, puis cliquez sur Add Channel. Répétez cette opération jusqu'à ce que vous ayez tous les canaux que vous souhaitez connecter à l' appareil dans la liste des canaux autorisés. Définissez chacun pour autoriser la publication et autoriser l'abonnement si nécessaire.

    4. Cliquez sur Add Device.

    5. À ce stade, ThingSpeak génère une liste d'informations d'identification pour votre appareil qui comprend l'ID client, le nom d'utilisateur et le mot de passe. Vous pouvez afficher et copier ces éléments à partir de cette page, ou cliquer sur Download Credentials pour enregistrer les informations d'identification dans un fichier local. "Important": Enregistrez ou enregistrez vos informations d'identification maintenant, car vous n'aurez plus l'occasion d'afficher ou d'enregistrer le mot de passe.

    6. Cliquez sur Done pour terminer la création de appareil .

Votre nouvel appareil apparaît maintenant sur la page Appareils MQTT. Vous pouvez modifier les paramètres de votre appareil et y ajouter des canaux en cliquant sur Edit. Vous pouvez utiliser l'ID client, le nom d'utilisateur et le mot de passe dans votre client MQTT pour accéder à votre MQTT device ThingSpeak afin de publier et de vous abonner à ses canaux.

Remarque

Vous pouvez avoir jusqu'à 100 appareils MQTT par utilisateur, avec un maximum de 10 canaux autorisés par appareil. Si vous avez besoin de plus d'appareils ou de canaux, Contact Support.

Pour plus d'informations sur l'utilisation d'un client MQTT de bureau, consultez Publier et s'abonner à un canal à l'aide du client Desktop MQTT.

Réinitialisation du mot de passe de l'appareil. Si vous devez réinitialiser le mot de passe de votre appareil à tout moment, vous pouvez le réinitialiser à partir de la page de modification de appareil :

  1. Sélectionnez Devices > MQTT.

  2. Dans la liste affichée de vos appareils MQTT, pour l' appareil que vous souhaitez réinitialiser, cliquez sur Edit pour afficher ses détails de configuration.

  3. Dans la section MQTT Credentials, cliquez sur l'icône de régénération pour réinitialiser le mot de passe. Les connexions utilisant l'ancien mot de passe seront désactivées.

    MQTT device password reset icon

Réponse du serveur pour les connexions

Si la connexion réussit, le MQTT broker ThingSpeak répond avec un accusé de réception de connexion, CONNACK. Le MQTT broker répond à une demande d'abonnement réussie avec un message SUBACK et relaie toutes les nouvelles données publiées sur le canal ou le champ abonné au client. Pour en savoir plus sur ces messages, consultez la spécification MQTT v3.1.1. Vous pouvez ensuite publier des messages sur des sujets en utilisant le formulaire Publish to a Channel Feed ou Publish to a Channel Field Feed.

Configuration du client MQTT

ThingSpeak a un MQTT broker à l'URL mqtt3.thingspeak.com. Configurez votre client MQTT pour communiquer avec le MQTT broker ThingSpeak en fonction de l'une des options suivantes :

Port

Type de connexion

Chiffrement

1883

TCP

Aucun

8883

TCP

TLS/SSL

80

WebSocket

Aucun

443

WebSocket

TLS/SSL

Lors de la configuration de votre connexion client, tenez compte des points suivants :

  • Si votre hardware prend en charge le mode de connexion par socket SSL sécurisé, utilisez ce mode pour communiquer avec le MQTT broker autant que possible.

  • ThingSpeak implémente la fonctionnalité de publication et d'abonnement MQTT avec QoS = 0. Ce protocole "tirer et oublier" signifie que votre client ne reçoit pas d'accusé de réception lorsque vous publiez sur un canal ThingSpeak.

  • Les connexions MQTT expirent après une heure d'inactivité.

  • Lorsque vous utilisez une connexion WebSocket, le chemin requis est /mqtt.

    • En utilisant la bibliothèque Paho avec Python® sur Raspberry Pi®, le chemin MQTT par défaut est "/mqtt", mais vous pouvez également le définir avec la ligne de code :

      client.ws_set_options("/mqtt")
    • Avec la CLI HiveMQ MQTT, vous définissez le chemin avec l'option de commande :

      mqtt pub … -ws -ws:path /mqtt … 

Voir aussi

| | |

Sujets associés

Sites web externes