Tous les produits
Search
Centre de documentation

:Connexion à IoT Platform via MQTT

Dernière mise à jour :Aug 10, 2026

Cette rubrique décrit les opérations d'API que vous devez appeler lorsque vous utilisez Link SDK for C pour connecter un appareil à IoT Platform via Message Queuing Telemetry Transport (MQTT).

IOT_MQTT_Construct

  • Prototype

    void *IOT_MQTT_Construct(iotx_mqtt_param_t *pInitParams)
  • Description

    Si vous définissez le paramètre pInitParams sur NULL lors de l'appel de l'opération pour vous connecter à IoT Platform via MQTT, les valeurs par défaut sont utilisées pour les autres paramètres.

  • Paramètre

    Paramètre

    Type

    Catégorie

    Description

    pInitParams

    iotx_mqtt_param_t *

    Requête

    Le paramètre d'initialisation MQTT. Si vous spécifiez NULL pour le paramètre de requête, les valeurs par défaut sont utilisées pour les paramètres de la structure.

  • Paramètres de la structure

    typedef struct {
        uint16_t                   port;
        const char                 *host;
        const char                 *client_id;
        const char                 *username;
        const char                 *password;
        const char                 *pub_key;
        const char                 *customize_info;
        uint8_t                    clean_session;
        uint32_t                   request_timeout_ms;
        uint32_t                   keepalive_interval_ms;
        uint32_t                   write_buf_size;
        uint32_t                   read_buf_size;
        iotx_mqtt_event_handle_t    handle_event;
    } iotx_mqtt_param_t, *iotx_mqtt_param_pt;

    Paramètre

    Description

    port

    Le numéro de port du serveur MQTT.

    host

    L'endpoint du serveur MQTT.

    client_id

    L'ID du client MQTT.

    username

    Le nom d'utilisateur utilisé pour se connecter au serveur MQTT.

    password

    Le mot de passe utilisé pour se connecter au serveur MQTT.

    pub_key

    La méthode de chiffrement et la clé pour la connexion MQTT.

    clean_session

    Indique s'il faut utiliser la fonctionnalité de session propre (clean session) de MQTT.

    request_timeout_ms

    Le délai d'expiration pour les messages MQTT.

    keepalive_interval_ms

    Le délai d'expiration pour les signaux de maintien de connexion (heartbeats) MQTT.

    write_buf_size

    La taille maximale du tampon utilisé pour stocker les messages MQTT à envoyer.

    read_buf_size

    La taille maximale du tampon utilisé pour stocker les messages MQTT reçus.

    handle_event

    La fonction de rappel personnalisée que vous souhaitez utiliser pour recevoir les données d'événement d'un module MQTT.

    customize_info

    Les données personnalisées à signaler. Séparez les paires clé-valeur dans une chaîne par des virgules (,). Par exemple, "pid=123456,mid=abcd"; est utilisé pour décrire les informations relatives à un fabricant et à un module.

    Remarque

    Si vous définissez les éléments de la structure pInitParams sur 0 ou si vous définissez le paramètre pInitParams sur NULL, les paramètres prédéfinis par défaut sont utilisés.

  • Valeurs de retour

    Valeur

    Description

    NULL

    Échec

    Non-NULL

    Handle MQTT

IOT_MQTT_Destroy

  • Prototype

    int IOT_MQTT_Destroy(void **phandle);
  • Description

    Appelez cette opération pour fermer une connexion MQTT et libérer les ressources associées.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    phandle

    void **

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

  • Valeurs de retour

    Valeur

    Description

    0

    Succès

    < 0

    Échec

IOT_MQTT_Yield

  • Prototype

    int IOT_MQTT_Yield(void *handle, int timeout_ms);
  • Description

    Appelez cette opération pour recevoir les paquets réseau et transmettre les messages contenus dans ces paquets à une fonction de rappel personnalisée.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    timeout_ms

    int

    Requête

    Le délai d'expiration pour les requêtes de réception des paquets.

  • Description de la valeur de retour

    Valeur

    Description

    0

    Succès

IOT_MQTT_CheckStateNormal

  • Prototype

    int IOT_MQTT_CheckStateNormal(void *handle);
  • Description

    Appelez cette opération pour interroger l'état d'une connexion MQTT.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

  • Description de la valeur de retour

    Valeur

    Description

    0

    Déconnecté

    1

    Connecté

IOT_MQTT_Subscribe

  • Prototype

    int IOT_MQTT_Subscribe(void *handle,
                            const char *topic_filter,
                            iotx_mqtt_qos_t qos,
                            iotx_mqtt_event_handle_func_fpt topic_handle_func,
                            void *pcontext);
  • Description

    Appelez cette opération pour vous abonner à un sujet MQTT d'IoT Platform.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    topic_filter

    const char *

    Requête

    Le sujet auquel vous souhaitez vous abonner.

    qos

    iotx_mqtt_qos_t

    Requête

    La politique de qualité de service (QoS).

    topic_handle_func

    iotx_mqtt_event_handle_func_fpt

    Requête

    La fonction de rappel que vous souhaitez utiliser pour recevoir les messages MQTT.

    pcontext

    void *

    Requête

    Le contexte personnalisé. Le contexte est renvoyé par la fonction de rappel.

  • Description de la valeur de retour

    Valeur

    Description

    0

    Succès

    < 0

    Échec

IOT_MQTT_Subscribe_Sync

  • Prototype

    int IOT_MQTT_Subscribe_Sync(void *handle,
                                const char *topic_filter,
                                iotx_mqtt_qos_t qos,
                                iotx_mqtt_event_handle_func_fpt topic_handle_func,
                                void *pcontext,
                                int timeout_ms);
  • Description

    Appelez cette opération pour vous abonner à un sujet MQTT d'IoT Platform. Cette opération fonctionne de manière synchrone.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    topic_filter

    const char *

    Requête

    Le sujet auquel vous souhaitez vous abonner.

    qos

    iotx_mqtt_qos_t

    Requête

    La politique QoS.

    topic_handle_func

    iotx_mqtt_event_handle_func_fpt

    Requête

    La fonction de rappel que vous souhaitez utiliser pour recevoir les messages MQTT.

    pcontext

    void *

    Requête

    Le contexte personnalisé. Le contexte est renvoyé par la fonction de rappel.

    timeout_ms

    int

    Requête

    Le délai d'expiration pour l'appel synchrone.

  • Description de la valeur de retour

    Valeur

    Description

    0

    Succès

    < 0

    Échec

IOT_MQTT_Unsubscribe

  • Prototype

    int IOT_MQTT_Unsubscribe(void *handle, const char *topic_filter);
  • Description

    Appelez cette opération pour vous désabonner d'un sujet d'IoT Platform.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    topic_filter

    const char *

    Requête

    Le sujet dont vous souhaitez vous désabonner.

  • Description de la valeur de retour

    Valeur

    Description

    0

    Succès

    < 0

    Échec

IOT_MQTT_Publish

  • Prototype

    int IOT_MQTT_Publish(void *handle, const char *topic_name, iotx_mqtt_topic_info_pt topic_msg);
  • Description

    Appelez cette opération pour publier des messages sur un sujet.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    topic_name

    const char *

    Requête

    Le sujet sur lequel vous souhaitez publier des messages.

    topic_msg

    iotx_mqtt_topic_info_pt

    Requête

    Les messages que vous souhaitez publier.

  • Description de la valeur de retour

    Valeur

    Description

    > 0

    Succès. La valeur est renvoyée lors de la réception de messages QoS 1. Il s'agit de l'ID du message MQTT contenu dans le paquet signalé. Cette valeur correspond à la valeur du champ messageId du protocole MQTT.

    0

    Succès. La valeur est renvoyée lors de la réception de messages QoS 0.

    < 0

    Échec

IOT_MQTT_Publish_Simple

  • Prototype

    int IOT_MQTT_Publish_Simple(void *handle, const char *topic_name, int qos, void *data, int len)
  • Description

    Appelez cette opération pour publier des messages sur un sujet.

    Remarque
    • IOT_MQTT_Publish : envoie des messages courants.

    • IOT_MQTT_Publish_Simple : envoie des messages avec davantage d'options de configuration.

    Appelez l'opération IOT_MQTT_Publish pour envoyer des messages courants. Appelez l'opération IOT_MQTT_Publish_Simple pour envoyer des messages avec davantage d'options de configuration.

  • Paramètres

    Paramètre

    Type

    Catégorie

    Description

    handle

    void *

    Requête

    Le handle MQTT. Vous pouvez définir ce paramètre sur NULL.

    topic_name

    const char *

    Requête

    Le sujet sur lequel vous souhaitez publier des messages.

    qos

    int

    Requête

    La politique QoS.

    data

    void *

    Requête

    Les messages que vous souhaitez publier.

    len

    int

    Requête

    La longueur des messages.

  • Description de la valeur de retour

    Valeur

    Description

    > 0

    Succès. La valeur est renvoyée lors de la réception de messages QoS 1. Il s'agit de l'ID du message MQTT contenu dans le paquet signalé. Cette valeur correspond à la valeur du champ messageId du protocole MQTT.

    0

    Succès. La valeur est renvoyée lors de la réception de messages QoS 0.

    < 0

    Échec