Tous les produits
Search
Centre de documentation

IoT Platform:Connecter ou déconnecter des sous-dispositifs

Dernière mise à jour :Aug 09, 2026

Vous pouvez connecter ou déconnecter les sous-dispositifs individuellement ou par lots. Avant de connecter un sous-dispositif, vous devez l'enregistrer dans IoT Platform afin d'établir une relation topologique entre le sous-dispositif et la passerelle. Lorsque le sous-dispositif est connecté, IoT Platform vérifie son identité sur la base de cette relation topologique pour déterminer s'il peut accéder à la passerelle.

Remarque
  • Seuls les messages avec une qualité de service (QoS) 0 peuvent être transmis entre les sous-dispositifs et IoT Platform.

  • Le nombre de sous-dispositifs connectés à IoT Platform ne peut pas dépasser 2 000 pour une passerelle. Si ce seuil est atteint, IoT Platform rejette toutes les demandes de connexion ultérieures.

  • Le nombre de sous-dispositifs connectés ou déconnectés par lot ne peut pas dépasser 50.

  • Si une demande de connexion ou de déconnexion multiple aboutit, tous les sous-dispositifs sont connectés ou déconnectés comme prévu. En cas d'échec de la demande, aucun sous-dispositif n'est connecté ou déconnecté, et le paramètre de réponse data contient les informations relatives aux dispositifs.

Connecter un sous-dispositif à IoT Platform

Données ascendantes :

  • Sujet de la demande :/ext/session/${productKey}/${deviceName}/combine/login

  • Sujet de la réponse :/ext/session/${productKey}/${deviceName}/combine/login_reply

Remarque

Les sous-dispositifs utilisent la passerelle pour communiquer avec IoT Platform. Les sujets mentionnés ci-dessus concernent les passerelles. Remplacez les variables

${productKey}

et

${deviceName}

dans les sujets par les informations relatives à la passerelle.

Exemple de demande au format JSON Alink :

{
  "id": "123",
  "params": {
    "productKey": "al12345****",
    "deviceName": "device1234",
    "clientId": "al12345****&device1234",
    "timestamp": "1581417203000",
    "signMethod": "hmacmd5",
    "sign": "9B9C732412A4F84B981E1AB97CAB****",
    "cleanSession": "true"
  }
}
Remarque

Remplacez les valeurs des paramètres

productKey

et

deviceName

dans le corps du message par les informations correspondantes relatives au sous-dispositif.

Tableau 1. Paramètres de la demande
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour le dispositif.
params Object Paramètres de la demande. Pour plus d'informations, consultez le tableau params ci-dessous.
Tableau 2. params
ParamètreTypeDescription
deviceNameStringNom du sous-dispositif.
productKeyStringClé du produit auquel appartient le sous-dispositif.
signString

Signature du sous-dispositif. La procédure de signature est identique à celle d'un dispositif connecté directement.

Procédure :

  1. Triez tous les paramètres soumis au serveur par ordre alphabétique et concaténez les paramètres et leurs valeurs. Aucun symbole de séparation n'est requis entre ces éléments. Les paramètres sign, signMethod et cleanSession doivent être exclus.
  2. Utilisez l'algorithme spécifié par le paramètre signMethod et la valeur du paramètre DeviceSecret pour calculer la signature.

    Utilisez le résultat du calcul comme valeur du paramètre sign.

Exemple de calcul de la valeur du paramètre sign :

hmac_md5(deviceSecret, clientIdal12345****&device1234deviceNamedevice1234productKeyal12345****timestamp1581417203000)
signMethodStringAlgorithme de signature. Valeurs valides : hmacSha1, hmacSha256, hmacMd5 et Sha256.
timestampStringHorodatage en millisecondes.
clientIdStringID du dispositif. Vous pouvez définir ce paramètre en combinant la clé du produit et le nom du dispositif selon la syntaxe suivante : productKey&deviceName.
cleanSessionString
  • Si ce paramètre est défini sur true, tous les messages QoS 1 non reçus lors de la déconnexion du sous-dispositif sont supprimés.
  • Si ce paramètre est défini sur false, tous les messages non reçus lors de la déconnexion du sous-dispositif sont conservés.

Exemple de réponse au format JSON Alink :

{
  "id":"123",
  "code":200,
  "message":"success"
  "data":{
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tableau 3. Paramètres de la réponse
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour un dispositif.
code Integer Code d'état. La valeur 200 indique que la demande a abouti.
message String Message de réponse.
data Object Informations relatives au sous-dispositif renvoyées, que la demande ait réussi ou échoué. Pour plus d'informations, consultez le tableau data ci-dessous.
Tableau 4. data
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Messages d'erreur :

Code d'erreur Message d'erreur Remarques
460 request parameter error Le message d'erreur indique que les paramètres de la demande ne sont pas valides.
429 rate limit, too many subDeviceOnline msg in one minute Le message d'erreur indique que le nombre de demandes d'authentification envoyées par le dispositif dépasse la limite. Le dispositif est limité en débit.
428 too many subdevices under gateway Le message d'erreur indique que le nombre de sous-dispositifs connectés dépasse la limite.
6401 topo relation not exist Le message d'erreur indique qu'aucune relation topologique n'existe entre la passerelle et le sous-dispositif.
6100 device not found Le message d'erreur indique que le sous-dispositif n'existe pas.
521 device deleted Le message d'erreur indique que le sous-dispositif a été supprimé.
522 device forbidden Le message d'erreur indique que le sous-dispositif est désactivé.
6287 invalid sign Le message d'erreur indique que le mot de passe ou la signature du sous-dispositif n'est pas valide.

Connecter des sous-dispositifs par lots

Important

Vous pouvez connecter un maximum de 50 sous-dispositifs à IoT Platform simultanément.

Données ascendantes :

  • Sujet de la demande :/ext/session/${productKey}/${deviceName}/combine/login

  • Sujet de la réponse :/ext/session/${productKey}/${deviceName}/combine/batch_login_reply

Remarque

Les sous-dispositifs utilisent la passerelle pour communiquer avec IoT Platform. Les sujets mentionnés ci-dessus concernent les passerelles. Remplacez les variables

${productKey}

et

${deviceName}

dans les sujets par les informations relatives à la passerelle.

Exemple de demande au format JSON Alink :

{
  "id": "123",
  "params":{ 
     "deviceList":[{
        "productKey": "al12345****", 
        "deviceName": "device1234",
        "clientId": "al12345****&device1234",
        "timestamp": "1581417203000", 
        "cleanSession": "false",
        "signMethod": "hmacmd5",
        "sign": "9B9C732412A4F84B981E1AB97CAB****",
     }, {
        "productKey": "al12345****", 
        "deviceName": "device4321",
        "clientId": "al12345****&device4321",
        "timestamp": "1581417203000", 
        "cleanSession": "true",
        "signMethod": "hmacmd5",
        "sign": "9B9C732412A4F84B981E1AB97CAB****",
     }]
  }
}
Remarque

Remplacez les valeurs des paramètres

productKey

et

deviceName

dans le corps du message par les informations correspondantes relatives au sous-dispositif.

Tableau 5. Paramètres de la demande
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour le dispositif.
params Object Paramètres de la demande. Le paramètre deviceList inclut les paramètres requis pour authentifier les sous-dispositifs que vous souhaitez connecter. Pour plus d'informations, consultez le tableau deviceList ci-dessous.
Tableau 6. deviceList

Exemple de réponse au format JSON Alink :

{
  "id":"123",
  "code":"200",
  "message":"success",
  "data":[{
      "productKey": "al12345****",
      "deviceName": "device1234"
    },{
      "deviceName": "device4321",
      "productKey": "al12345****"
    }]
}
Tableau 3. Paramètres de la réponse
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour un dispositif.
code Integer Code d'état. La valeur 200 indique que la demande a abouti.
message String Message de réponse.
data Object Informations relatives au sous-dispositif renvoyées, que la demande ait réussi ou échoué. Pour plus d'informations, consultez le tableau data ci-dessous.
Tableau 4. data
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Messages d'erreur :

Code d'erreur Message d'erreur Remarques
460 request parameter error Le message d'erreur indique que les paramètres de la demande ne sont pas valides.
429 rate limit, too many subDeviceOnline msg in one minute Le message d'erreur indique que le nombre de demandes d'authentification envoyées par le dispositif dépasse la limite. Le dispositif est limité en débit.
428 too many subdevices under gateway Le message d'erreur indique que le nombre de sous-dispositifs connectés dépasse la limite.
6401 topo relation not exist Le message d'erreur indique qu'aucune relation topologique n'existe entre la passerelle et le sous-dispositif.
6100 device not found Le message d'erreur indique que le sous-dispositif n'existe pas.
521 device deleted Le message d'erreur indique que le sous-dispositif a été supprimé.
522 device forbidden Le message d'erreur indique que le sous-dispositif est désactivé.
6287 invalid sign Le message d'erreur indique que le mot de passe ou la signature du sous-dispositif n'est pas valide.

Déconnecter un sous-dispositif d'IoT Platform

Données ascendantes :

  • Sujet de la demande :/ext/session/${productKey}/${deviceName}/combine/logout

  • Sujet de la réponse :/ext/session/${productKey}/${deviceName}/combine/logout_reply

Remarque

Les sous-dispositifs utilisent la passerelle pour communiquer avec IoT Platform. Les sujets mentionnés ci-dessus concernent les passerelles. Remplacez les variables

${productKey}

et

${deviceName}

dans les sujets par les informations relatives à la passerelle.

Exemple de demande au format JSON Alink :

{
  "id": "123",
  "params": {
    "productKey": "al12345****",
    "deviceName": "device1234"
  }
}
Remarque

Remplacez les valeurs des paramètres

productKey

et

deviceName

dans le corps du message par les informations correspondantes relatives au sous-dispositif.

Tableau 7. Paramètres de la demande
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour le dispositif.
params Object Paramètres de la demande. Ces paramètres spécifient les informations relatives au sous-dispositif que vous souhaitez déconnecter.
Tableau 8. params
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Exemple de réponse au format JSON Alink :

{
  "id": "123",
  "code": 200,
  "message": "success",
  "data": {
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tableau 9. Paramètres de la réponse
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour un dispositif.
code Integer Code d'état. La valeur 200 indique que la demande a abouti.
message String Message de réponse.
data Object Informations relatives au sous-dispositif renvoyées, que la demande ait réussi ou échoué. Pour plus d'informations, consultez le tableau data ci-dessous.
Tableau 10. data
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Messages d'erreur :

Code d'erreur Message d'erreur Remarques
460 request parameter error Le message d'erreur indique que les paramètres de la demande ne sont pas valides.
520 device no session Le message d'erreur indique que la session du sous-dispositif n'existe pas.

Déconnecter plusieurs sous-dispositifs par lots

Important

Vous pouvez déconnecter un maximum de 50 sous-dispositifs d'IoT Platform simultanément.

Données ascendantes :

  • Sujet de la demande :/ext/session/${productKey}/${deviceName}/combine/batch_logout

  • Sujet de la réponse :/ext/session/${productKey}/${deviceName}/combine/batch_logout_reply

Remarque

Les sous-dispositifs utilisent la passerelle pour communiquer avec IoT Platform. Les sujets mentionnés ci-dessus concernent les passerelles. Remplacez les variables

${productKey}

et

${deviceName}

dans les sujets par les informations relatives à la passerelle.

Exemple de demande au format JSON Alink :

{
  "id": "123",
  "params":[{
            "productKey": "al12345****",
            "deviceName": "device1234"
          },{
            "productKey": "al12345****",
            "deviceName": "device4321"
      }]
}
Remarque

Remplacez les valeurs des paramètres

productKey

et

deviceName

dans le corps du message par les informations correspondantes relatives au sous-dispositif.

Tableau 7. Paramètres de la demande
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour le dispositif.
params Object Paramètres de la demande. Ces paramètres spécifient les informations relatives au sous-dispositif que vous souhaitez déconnecter.
Tableau 8. params
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Exemple de réponse au format JSON Alink :

{
  "id":"123",
  "code":"200",
  "message":"success",
  "data":[{
      "productKey": "al12345****"
      "deviceName": "device1234"
    },{
      "deviceName": "device4321",
      "productKey": "al12345****"
    }]
}
Tableau 9. Paramètres de la réponse
Paramètre Type Description
id String ID du message. Valeurs valides : 0 à 4294967295. Chaque ID de message doit être unique pour un dispositif.
code Integer Code d'état. La valeur 200 indique que la demande a abouti.
message String Message de réponse.
data Object Informations relatives au sous-dispositif renvoyées, que la demande ait réussi ou échoué. Pour plus d'informations, consultez le tableau data ci-dessous.
Tableau 10. data
Paramètre Type Description
deviceName String Nom du sous-dispositif.
productKey String Clé du produit auquel appartient le sous-dispositif.

Messages d'erreur :

Code d'erreur Message d'erreur Description
460 request parameter error Le message d'erreur indique que les paramètres de la demande ne sont pas valides.
520 device no session Le message d'erreur indique que la session du sous-dispositif n'existe pas.

Références

Pour plus d'informations sur la connexion des sous-dispositifs à IoT Platform, consultez Enregistrement des dispositifs.

Pour plus d'informations sur les codes d'erreur et les solutions, consultez Codes d'erreur reçus par les dispositifs.