Tous les produits
Search
Centre de documentation

IoT Platform:Connecter un appareil à Alibaba Cloud IoT Platform avec Paho MQTT C (pour systèmes non embarqués)

Dernière mise à jour :Aug 10, 2026

Utilisez la bibliothèque open source Paho MQTT C (pour les systèmes non embarqués) afin de connecter un appareil à Alibaba Cloud IoT Platform et d'échanger des messages.

Remarques importantes

Les étapes décrites dans cette rubrique sont exécutées en tant qu'utilisateur standard. Si une opération requiert des droits administrateur, préfixez la commande par sudo.

Prérequis

Un produit et un appareil ont été créés dans une instance depuis la console IoT Platform. Vous disposez d'un certificat d'appareil et d'un endpoint MQTT. Les informations du certificat incluent le ProductKey, le DeviceName et le DeviceSecret. Pour plus d'informations, consultez les rubriques suivantes :

Préparer l'environnement de développement

Cet exemple utilise Ubuntu 16.04 LTS comme environnement de développement. Exécutez les commandes suivantes pour installer les dépendances requises.

sudo apt-get update
sudo apt-get install build-essential git sed cmake

Télécharger la bibliothèque Paho MQTT C

  1. Exécutez la commande suivante pour cloner la bibliothèque Paho MQTT C.

    git clone https://github.com/eclipse/paho.mqtt.c.git
    Remarque

    Cette démonstration a été créée à partir de la branche master. L'ID de commit est f7799da95e347bbc930b201b52a1173ebbad45a7.

  2. Exécutez les commandes suivantes pour compiler et installer la bibliothèque Paho.

    mkdir build
    cmake ..
    make -j
    sudo make install
    cd ..
    rm -rf build

Se connecter à IoT Platform

  1. Téléchargez le package de démonstration. Le package décompressé contient les fichiers suivants :

    Nom du fichier

    Description

    CMakeLists.txt

    Fichier de configuration principal du projet.

    src/samples/MQTTAsync_publish.c

    Contient la logique de connexion de l'appareil à IoT Platform et d'échange de messages.

    src/samples/aiot_mqtt_sign.c

    Génère les paramètres de connexion MQTT. Lors de l'exécution de aiot_c_demo.c, ce fichier appelle la fonction aiotMqttSign() pour calculer les paramètres username, password et clientId.

    src/samples/CMakeLists.txt

    Fichier de configuration du projet de démonstration.

  2. Dans le fichier src/samples/MQTTAsync_publish.c, mettez à jour les informations de l'appareil (ProductKey, DeviceName et DeviceSecret) avec vos propres informations de certificat d'appareil.

    #define EXAMPLE_PRODUCT_KEY            "Your_ProductKey" 
    #define EXAMPLE_DEVICE_NAME            "Your_DeviceName" 
    #define EXAMPLE_DEVICE_SECRET          "Your_DeviceSecret"
  3. Dans le fichier src/samples/MQTTAsync_publish.c, tcp://iot-0***********l.mqtt.iothub.aliyuncs.com:443 représente le nom de domaine d'accès.

    Remarque

    Pour plus d'informations sur les formats d'endpoint pour les instances publiques et Enterprise, consultez Consulter les informations sur l'endpoint de l'instance.

    #define ADDRESS     "tcp://iot-0***********l.mqtt.iothub.aliyuncs.com:443"
  4. Remplacez les fichiers originaux du répertoire de la bibliothèque Paho MQTT C par les fichiers correspondants issus du package de démonstration téléchargé.

  5. Exécutez les commandes suivantes pour compiler le projet.

    mkdir build    // Run this command in the root directory of the project.
    cd build
    cmake ..
    make -j
  6. Une fois la compilation terminée, accédez au répertoire build et exécutez la commande suivante pour démarrer le programme.

    ./src/samples/MQTTAsync_publish

    Si le programme s'exécute correctement, la sortie de journal suivante indique que l'appareil est connecté à IoT Platform.

    clientid: ty***1&a1****kc|timestamp=2524608000000,_v=paho-c-standard-1.0.0,securemode=3,signmethod=hmacsha256,lan=C|
    username: ty***1&a1****kc
    password: 1BB**************************************************3621
    Waiting for publication of Hello World!
    on topic /sys/a1*****kc/ty********1/thing/event/property/post for client
    Successful connection
    Message with token value 1 delivery confirmed
    Successful disconnection