Tous les produits
Search
Centre de documentation

IoT Platform:SDK C Link

Dernière mise à jour :Aug 10, 2026

Cette rubrique explique comment utiliser le SDK C Link pour connecter un appareil simulé (dans cet exemple, un interrupteur de veilleuse) à IoT Platform via MQTT et publier des données sur une rubrique personnalisée.

Prérequis

IoT Platform est activé.

Créer un produit et un appareil

  1. Connectez-vous à la console IoT Platform et cliquez sur la carte de l'instance cible.

  2. Dans le volet de navigation de gauche, choisissez Devices > Products, puis cliquez sur Create Product.

  3. Sur la page Create Product, définissez le paramètre Product Name sur NightLightSwitch et le paramètre Category sur Custom Category. Conservez les valeurs par défaut pour les autres paramètres. Ensuite, cliquez sur OK.

  4. Sur la page Create Product, cliquez sur Add dans la section Add Device.

  5. Sur la page Devices, cliquez sur Add Device.

  6. Dans la boîte de dialogue Add Device, saisissez un nom d'appareil. Par exemple : LightSwitch. Ensuite, cliquez sur OK.

    Pour Nickname, saisissez Quick Start.

  7. Dans la boîte de dialogue The devices have been added., cliquez sur Copy Device Certificate. Ensuite, enregistrez les informations du certificat de l'appareil sur un serveur local. Pour plus d'informations, consultez Certificats d'appareil.

Préparer l'environnement de développement

Dans cet exemple, l'environnement de développement est Ubuntu 16.04 et les outils de développement sont gcc et make. Pour plus d'informations, consultez Configurations du projet.

  1. Installez Ubuntu 16.04.

    Pour plus d'informations, consultez Ubuntu.

  2. Exécutez la commande suivante pour installer gcc et make :

    sudo apt-get -y install gcc make

Configurer le SDK

  1. Téléchargez un package de démonstration depuis Fichier de démonstration vers l'environnement de développement, puis décompressez le package.

    IoT Platform vous permet de développer des fonctionnalités personnalisées pour les SDK Link. Pour plus d'informations, consultez Obtenir le SDK Link pour C.

  2. Ouvrez le fichier ./LinkSDK/demos/mqtt_basic_demo.c et configurez les paramètres pertinents.

    • Configurez les paramètres utilisés pour spécifier les informations de connexion de l'appareil afin de le connecter à IoT Platform. Le tableau suivant décrit ces paramètres. Exemple de code :

      char *product_key       = "a18wP******";
      char *device_name       = "LightSwitch";
      char *device_secret     = "uwMTmVAMnGGHaAkqmeDY6cHxxB******";
      char  *mqtt_host = "a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com";

      Parameter

      Example

      Description

      mqtt_host

      a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com

      Le endpoint auquel vous souhaitez connecter l'appareil.

      • Pour les instances Enterprise Edition et les nouvelles instances publiques : trouvez le endpoint dans le panneau Development Configuration de la page Instance Details.

      • Si vous utilisez une instance publique d'une version précédente, le endpoint de l'instance publique est au format ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

      Pour plus d'informations sur les instances et les endpoints, consultez Afficher les endpoints d'instance.

      product_key

      a18wP******

      Les informations du certificat de l'appareil. Le certificat de l'appareil est enregistré sur votre serveur local après la création de l'appareil.

      Vous pouvez afficher le certificat de l'appareil sur la page Device Details dans la console IoT Platform. Pour plus d'informations, consultez Obtenir les informations de vérification de l'appareil.

      device_name

      LightSwitch

      device_secret

      uwMTmVAMnGGHaAkqmeDY6cHxxB******

    • Spécifiez une rubrique à laquelle l'appareil doit s'abonner pour recevoir des messages d'IoT Platform. Par exemple : /a18wP******/LightSwitch/user/get. Exemple de code :

      Remarque

      Si vous souhaitez utiliser cette fonctionnalité, décommentez le code situé entre les combinaisons barre oblique/astérisque (/**/).

          {
              char *sub_topic = "/a18wP******/LightSwitch/user/get";
              res = aiot_mqtt_sub(mqtt_handle, sub_topic, NULL, 1, NULL);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Example

      Description

      sub_topic

      /a18wP******/LightSwitch/user/get

      La rubrique sur laquelle l'appareil dispose de l'autorisation Subscribe. L'appareil peut recevoir des messages d'IoT Platform via cette rubrique.

      Vous pouvez afficher les rubriques personnalisées dans la console IoT Platform. Sur la page Product Details, cliquez sur l'onglet Topic Categories. Dans l'onglet qui s'affiche, cliquez sur Topic Category. Pour plus d'informations, consultez Qu'est-ce qu'une rubrique.

      Dans cet exemple, la rubrique personnalisée par défaut est utilisée. Description des paramètres :

      • a1oGs****** indique le ProductKey de l'appareil.

      • LightSwitch indique le DeviceName de l'appareil.

    • Spécifiez une rubrique que l'appareil peut utiliser pour envoyer des messages. Par exemple : /a18wP******/LightSwitch/user/update. Ensuite, spécifiez le contenu d'un message que vous souhaitez envoyer. Exemple de code :

      Remarque

      Si vous souhaitez utiliser cette fonctionnalité, décommentez le code situé entre les combinaisons barre oblique/astérisque (/**/).

           {
              char *pub_topic = "/a18wP******/LightSwitch/user/update";
              char *pub_payload = "{\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}";
              res = aiot_mqtt_pub(mqtt_handle, pub_topic, (uint8_t *)pub_payload, (uint32_t)strlen(pub_payload), 0);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Example

      Description

      pub_topic

      /a18wP******/LightSwitch/user/update

      La rubrique sur laquelle l'appareil dispose de l'autorisation Publish. L'appareil peut utiliser cette rubrique pour envoyer des messages à IoT Platform.

      Vous pouvez afficher les rubriques personnalisées dans la console IoT Platform. Sur la page Product Details, cliquez sur l'onglet Topic Categories. Dans l'onglet qui s'affiche, cliquez sur Topic Category. Pour plus d'informations, consultez Qu'est-ce qu'une rubrique.

      Dans cet exemple, la rubrique personnalisée par défaut est utilisée. Description des paramètres :

      • a1oGs****** indique le ProductKey de l'appareil.

      • LightSwitch indique le DeviceName de l'appareil.

      pub_payload

      {\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}

      Le message envoyé à IoT Platform.

      Dans cet exemple, une rubrique personnalisée est utilisée. Vous pouvez utiliser des formats de message personnalisés.

  3. Dans le répertoire racine du SDK, exécutez la commande make.

    Le fichier d'exemple de code exécutable ./output/mqtt-basic-demo est généré.

Résultat de l'exécution

Dans le répertoire racine du SDK, exécutez la commande suivante pour lancer le fichier exécutable :

./output/mqtt-basic-demo
  • Vous pouvez afficher le résultat de l'exécution sur l'appareil.

    • Les données de journal suivantes indiquent que l'appareil LightSwitch est connecté à IoT Platform.

      [1619768570.433][LK-0313] MQTT user calls aiot_mqtt_connect api, connect
      [1619768570.433][LK-0317] LightSwitch&a18wP******
      [1619768570.433][LK-0318] 933FE333F78F42E2AAD384F629C771277E06D459577942EA1F04ACFDFE******
      core_sysdep_network_establish host a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com port 8883, type 0
      establish tcp connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      success to establish tcp, fd=3
      local port: 49122
      [1619768570.599][LK-1000] establish mbedtls connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      [1619768570.600][LK-1000] success to establish mbedtls connection, (cost 45134 bytes in total, max used 47870 bytes)
      [1619768570.644][LK-0313] MQTT connect success in 212 ms
      AIOT_MQTTEVT_CONNECT
    • Les données de journal suivantes indiquent que l'appareil LightSwitch s'est abonné à la rubrique /a18wP******/LightSwitch/user/get.

      [1620373302.144][LK-0309] sub: /a18wP******/LightSwitch/user/get

      Une fois que l'appareil s'est correctement abonné à la rubrique, retournez dans la console IoT Platform. Sur l'onglet Topics de la page Device Details, recherchez la rubrique et cliquez sur Publish Message dans la colonne Actions. Dans la boîte de dialogue Publish Message, saisissez un message, par exemple « This is a test message from Alibaba Iot Platform. », pour simuler l'envoi d'un message d'IoT Platform à l'appareil.

    • Les données de journal suivantes indiquent que l'appareil LightSwitch utilise la rubrique /a18wP******/LightSwitch/user/update pour soumettre un message à IoT Platform.

      [1619768570.644][LK-0309] pub: /a18wP******/LightSwitch/user/update
      [LK-030A] > 7B 22 69 64 22 3A 22 31  22 2C 22 76 65 72 73 69 | {"id":"1","versi
      [LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 2C 22 70 61 72 61 6D | on":"1.0","param
      [LK-030A] > 73 22 3A 7B 22 4C 69 67  68 74 53 77 69 74 63 68 | s":{"LightSwitch
      [LK-030A] > 22 3A 30 7D 7D       
  • Connectez-vous à la console IoT Platform pour afficher l'état de l'appareil et les journaux d'opérations.

    • Dans le volet de navigation de gauche, choisissez Devices > Devices. Recherchez ensuite l'appareil et affichez son état. Si la valeur dans la colonne State/Enabled est Online, l'appareil est connecté à IoT Platform.

    • Dans le volet de navigation de gauche, choisissez Maintenance > Device Log. Sur la page Device Log, sélectionnez le produit NightLightSwitch. Vous pouvez afficher les journaux qui enregistrent les moments où les appareils du produit se sont connectés, ont souscrit à une rubrique et ont soumis des messages.

Si une erreur se produit lors du débogage, corrigez-la selon les instructions affichées. Pour plus d'informations, consultez Codes d'erreur reçus par les appareils.

Étapes suivantes

  • Une fois l'appareil connecté à IoT Platform, vous pouvez le gérer et le surveiller. Pour plus d'informations sur les fonctionnalités d'IoT Platform, consultez Fonctionnalités.

  • Pour plus d'informations sur l'utilisation du SDK Link pour C afin de configurer des fonctionnalités avancées, consultez Présentation.