Tous les produits
Search
Centre de documentation

IoT Platform:Exemple : Connecter un appareil via un canal MQTT-WebSocket

Dernière mise à jour :Aug 10, 2026

Utilisez l'exemple de code Node.js fourni dans cette rubrique pour connecter un appareil à IoT Platform via un canal MQTT-WebSocket.

Prérequis

Créez un produit et un appareil, par exemple device2, dans la console IoT Platform de votre instance. Récupérez le certificat d'appareil contenant les paramètres ProductKey, DeviceName et DeviceSecret. Pour plus d'informations, consultez les rubriques suivantes :

Contexte

Pour en savoir plus sur la connexion des appareils basée sur WebSocket, consultez la rubrique Connexions MQTT-WebSocket.

Cet exemple utilise le SDK Link côté appareil d'IoT Platform pour simuler la connexion d'un appareil et l'échange de messages.

Remarque

Le chiffrement TLS est activé par défaut dans le SDK Link côté appareil. Aucune configuration supplémentaire n'est nécessaire.

Procédure

  1. Connectez-vous à la console IoT Platform.

  2. Sur la page Instance Overview, repérez l'instance de type données correspondante et cliquez dessus pour accéder à la page Instance Details.

  3. Sur votre ordinateur local, créez un fichier JavaScript, nommé par exemple iot_device.js, afin d'y stocker l'exemple de code Node.js.

    Voici l'exemple de code Node.js à utiliser :

    const iot = require('alibabacloud-iot-device-sdk');
    
    // The device certificate information.
    const productKey = 'a1W***';
    const deviceName = 'device2';
    const deviceSecret = 'ff01e59d1a***';
    
    // You must specify the instance ID for new public instances and Enterprise instances. You do not need to specify an instance ID for old public instances.
    const instanceId = '';
    
    // The ID of the region where the product and device reside.
    const region = 'cn-shanghai';
    
    const brokerUrl = instanceId
      ? `wss://${instanceId}.mqtt.iothub.aliyuncs.com:443`
      : `wss://${productKey}.iot-as-mqtt.${region}.aliyuncs.com:443`;
    
    const device = iot.device({
      productKey: `${productKey}`,
      deviceName: `${deviceName}`,
      deviceSecret: `${deviceSecret}`,
      brokerUrl,
      tls: true,
    });
    
    // Listen for the 'connect' event to establish an MQTT connection, subscribe to a custom topic, and send a message to IoT Platform through the custom topic.
    device.on('connect', () => {
      device.subscribe(`/${productKey}/${deviceName}/user/get`);
      console.log('connect successfully!');
      device.publish(`/${productKey}/${deviceName}/user/update`, 'hello world!');
    });
    
    // Listen for the 'message' event.
    device.on('message', (topic, payload) => {
      console.log(topic, payload.toString());
    });
    
    // Listen for the 'error' event.
    device.on('error', (error) => {
      console.error(error);
    });
    
    // If you want to disconnect from IoT Platform, remove the comment symbol from the next line and call the end() function.
    //device.end();

    Remplacez les valeurs des paramètres par les informations réelles de votre appareil, comme indiqué dans le tableau ci-dessous.

    Paramètre

    Exemple

    Description

    productKey

    a1W***

    Les informations du certificat d'appareil enregistrées lors de la création de l'appareil. Pour plus de détails, consultez la section Obtenir un certificat d'appareil.

    Vous pouvez également retrouver ces informations sur la page Device Details de l'appareil device2 dans la console.

    deviceName

    device2

    deviceSecret

    ff01e59d1a***

    instanceId

    ''

    L'ID de l'instance, disponible sur la page Instance Overview de la console IoT Platform.

    • Si un ID s'affiche, vous devez le spécifier.

    • Si la page Instance Overview n'existe pas ou si aucun ID n'est disponible, laissez ce paramètre vide. Par exemple : iotInstanceId = ''.

    Pour en savoir plus sur les instances, consultez la rubrique Aperçu des instances.

    region

    cn-shanghai

    Le code de la région où se trouve votre appareil IoT Platform. Pour consulter la liste des codes de région pris en charge, reportez-vous à la section Liste des régions.

  4. Ouvrez une fenêtre d'invite de commandes et accédez au répertoire contenant le fichier iot_device.js. Exécutez la commande suivante pour installer la bibliothèque Alibaba Cloud IoT SDK.

    npm install alibabacloud-iot-device-sdk --saveMQTT库

  5. Dans la fenêtre d'invite de commandes, exécutez la commande suivante pour lancer le fichier iot_device.js et démarrer l'appareil.

    node iot_device.js

    La sortie indique que l'appareil est connecté et a publié un message.接入设备

Consulter les journaux d'activité et tester la communication descendante

  1. Connectez-vous à la console IoT Platform.

  2. Dans le coin supérieur gauche de la console, sélectionnez la région où se trouve votre instance . Ensuite, sur la page Instance Overview, cliquez sur l'instance cible.

    Remarque

    Si la page Instance Overview n'apparaît pas, la page des fonctionnalités IoT Platform s'affiche à la place.

  3. Dans le volet de navigation de gauche, choisissez Device Management > Devices.

    Sous l'onglet Device List, le statut de l'appareil device2 est Online.设备在线

  4. Dans la colonne Actions de l'appareil device2, cliquez sur View. Sur la page Device Details, sélectionnez l'onglet Log Service, puis cliquez sur View Log.

    Sous l'onglet IoT Platform Logs, consultez les messages de journal.日志信息

  5. Dans la liste des journaux, repérez une entrée de type Device-to-Cloud Message et cliquez sur View pour visualiser les informations envoyées par l'appareil à IoT Platform.

    上报消息

  6. Testez la communication descendante en envoyant un message depuis IoT Platform vers l'appareil.

    1. Revenez à la page Devices. Sous l'onglet Device List, cliquez sur View dans la colonne Actions pour l'appareil device2

    2. Sur la page Device Details, sélectionnez l'onglet Topic List. Repérez le sujet auquel l'appareil est abonné, /a1W***/device2/user/get, et cliquez sur Publish Message.

    3. Saisissez un message, puis cliquez sur Confirm.

    4. Retournez dans la fenêtre d'invite de commandes où l'appareil est en cours d'exécution. L'appareil reçoit le message, ce qui confirme que la communication fonctionne correctement.

      接收消息

      Vous pouvez également retourner sous l'onglet IoT Platform Logs pour consulter les journaux de communication détaillés.

      通信日志