Todos los productos
Search
Centro de documentos

IoT Platform:Conexión o desconexión de subdispositivos

Última actualización: Sep 03, 2026

Los subdispositivos se pueden conectar o desconectar de forma individual o por lotes. Antes de conectar un subdispositivo, debe registrarlo en IoT Platform para establecer una relación topológica entre el subdispositivo y el gateway. Cuando el subdispositivo se conecta, IoT Platform verifica su identidad mediante la relación topológica para determinar si tiene acceso al gateway.

Nota
  • Solo se pueden entregar mensajes con calidad de servicio (QoS) 0 entre los subdispositivos e IoT Platform.

  • Un gateway no puede tener más de 2,000 subdispositivos conectados a IoT Platform. Si se alcanza este límite, IoT Platform rechaza todas las solicitudes de conexión posteriores.

  • El número máximo de subdispositivos que se pueden conectar o desconectar en un solo lote es de 50.

  • Si una solicitud para conectar o desconectar varios subdispositivos se ejecuta correctamente, todos los subdispositivos se conectan o desconectan según lo esperado. Si la solicitud falla, ninguno de los subdispositivos logra conectarse o desconectarse, y el parámetro de respuesta data contiene la información del dispositivo.

Conexión de un subdispositivo a IoT Platform

Datos ascendentes:

  • Tema de solicitud:/ext/session/${productKey}/${deviceName}/combine/login

  • Tema de respuesta:/ext/session/${productKey}/${deviceName}/combine/login_reply

Nota

Los subdispositivos utilizan el gateway para comunicarse con IoT Platform. Los temas anteriores corresponden al gateway. Reemplace las variables

${productKey}

y

${deviceName}

en los temas con la información del gateway.

Ejemplo de solicitud en formato Alink JSON:

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

Reemplace los valores de los parámetros

productKey

y

deviceName

en el cuerpo del mensaje con la información correspondiente del subdispositivo.

Tabla 1. Parámetros de solicitud

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

params

Object

Parámetros de la solicitud. Para obtener más información, consulte la siguiente tabla de params.

Tabla 2. params
ParámetroTipoDescripción
deviceNameStringNombre del subdispositivo.
productKeyStringClave del producto al que pertenece el subdispositivo.
signString

Firma del subdispositivo. El procedimiento de firma del subdispositivo es idéntico al de un dispositivo conectado directamente.

Procedimiento:

  1. Ordene alfabéticamente todos los parámetros enviados al servidor y concaténelos con sus valores. No se requiere ningún símbolo de separación entre los parámetros y sus valores. Debe excluir los parámetros sign, signMethod y cleanSession.
  2. Calcule la firma mediante el algoritmo especificado en el parámetro signMethod y el valor del parámetro DeviceSecret.

    Utilice el resultado del cálculo como valor del parámetro sign.

Ejemplo de cálculo del valor del parámetro sign:

hmac_md5(deviceSecret, clientIdal12345****&device1234deviceNamedevice1234productKeyal12345****timestamp1581417203000)
signMethodStringAlgoritmo de firma. Valores válidos: hmacSha1, hmacSha256, hmacMd5 y Sha256.
timestampStringMarca de tiempo en milisegundos.
clientIdStringIdentificador del dispositivo. Puede establecer este parámetro con un valor que combine la clave del producto y el nombre del dispositivo mediante la siguiente sintaxis: productKey&deviceName.
cleanSessionString
  • Si este parámetro se establece en true, se borran todos los mensajes QoS 1 no recibidos mientras el subdispositivo estuvo desconectado.
  • Si este parámetro se establece en false, se conservan todos los mensajes no recibidos durante la desconexión del subdispositivo.

Ejemplo de respuesta en formato Alink JSON:

{
  "id":"123",
  "code":200,
  "message":"success"
  "data":{
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tabla 3. Parámetros de respuesta

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

code

Integer

Código de estado. El valor 200 indica que la solicitud se ejecutó correctamente.

message

String

Mensaje de respuesta.

data

Object

Información del subdispositivo que se devuelve independientemente de si la solicitud se ejecuta correctamente o falla. Para obtener más información, consulte la siguiente tabla de data.

Tabla 4. data

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Mensajes de error:

Código de error

Mensaje de error

Observaciones

460

request parameter error

Se devuelve porque los parámetros de la solicitud no son válidos.

429

rate limit, too many subDeviceOnline msg in one minute

Se devuelve porque el dispositivo superó el límite de solicitudes de autenticación permitidas. El dispositivo ha sido limitado.

428

too many subdevices under gateway

Se devuelve porque se excedió el límite de subdispositivos conectados.

6401

topo relation not exist

Se devuelve porque no existen relaciones topológicas entre el gateway y el subdispositivo.

6100

device not found

Se devuelve porque el subdispositivo no existe.

521

device deleted

Se devuelve porque el subdispositivo fue eliminado.

522

device forbidden

Se devuelve porque el subdispositivo está deshabilitado.

6287

invalid sign

Se devuelve porque la contraseña o la firma del subdispositivo no es válida.

Conexión de subdispositivos en lotes

Importante

Puede conectar un máximo de 50 subdispositivos a IoT Platform simultáneamente.

Datos ascendentes:

  • Tema de solicitud:/ext/session/${productKey}/${deviceName}/combine/login

  • Tema de respuesta:/ext/session/${productKey}/${deviceName}/combine/batch_login_reply

Nota

Los subdispositivos utilizan el gateway para comunicarse con IoT Platform. Los temas anteriores corresponden al gateway. Reemplace las variables

${productKey}

y

${deviceName}

en los temas con la información del gateway.

Ejemplo de solicitud en formato Alink JSON:

{
  "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****",
     }]
  }
}
Nota

Reemplace los valores de los parámetros

productKey

y

deviceName

en el cuerpo del mensaje con la información correspondiente del subdispositivo.

Tabla 5. Parámetros de solicitud

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

params

Object

Parámetros de la solicitud. El parámetro deviceList incluye los parámetros obligatorios para autenticar los subdispositivos que desea conectar. Para obtener más información, consulte la siguiente tabla de deviceList.

Tabla 6. deviceList

Ejemplo de respuesta en formato Alink JSON:

{
  "id":"123",
  "code":"200",
  "message":"success",
  "data":[{
      "productKey": "al12345****",
      "deviceName": "device1234"
    },{
      "deviceName": "device4321",
      "productKey": "al12345****"
    }]
}
Tabla 3. Parámetros de respuesta

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

code

Integer

Código de estado. El valor 200 indica que la solicitud se ejecutó correctamente.

message

String

Mensaje de respuesta.

data

Object

Información del subdispositivo que se devuelve independientemente de si la solicitud se ejecuta correctamente o falla. Para obtener más información, consulte la siguiente tabla de data.

Tabla 4. data

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Mensajes de error:

Código de error

Mensaje de error

Observaciones

460

request parameter error

Se devuelve porque los parámetros de la solicitud no son válidos.

429

rate limit, too many subDeviceOnline msg in one minute

Se devuelve porque el dispositivo superó el límite de solicitudes de autenticación permitidas. El dispositivo ha sido limitado.

428

too many subdevices under gateway

Se devuelve porque se excedió el límite de subdispositivos conectados.

6401

topo relation not exist

Se devuelve porque no existen relaciones topológicas entre el gateway y el subdispositivo.

6100

device not found

Se devuelve porque el subdispositivo no existe.

521

device deleted

Se devuelve porque el subdispositivo fue eliminado.

522

device forbidden

Se devuelve porque el subdispositivo está deshabilitado.

6287

invalid sign

Se devuelve porque la contraseña o la firma del subdispositivo no es válida.

Desconexión de un subdispositivo de IoT Platform

Datos ascendentes:

  • Tema de solicitud:/ext/session/${productKey}/${deviceName}/combine/logout

  • Tema de respuesta:/ext/session/${productKey}/${deviceName}/combine/logout_reply

Nota

Los subdispositivos utilizan el gateway para comunicarse con IoT Platform. Los temas anteriores corresponden al gateway. Reemplace las variables

${productKey}

y

${deviceName}

en los temas con la información del gateway.

Ejemplo de solicitud en formato Alink JSON:

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

Reemplace los valores de los parámetros

productKey

y

deviceName

en el cuerpo del mensaje con la información correspondiente del subdispositivo.

Tabla 7. Parámetros de solicitud

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

params

Object

Parámetros de la solicitud. Estos parámetros especifican la información del subdispositivo que desea desconectar.

Tabla 8. params

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Ejemplo de respuesta en formato Alink JSON:

{
  "id": "123",
  "code": 200,
  "message": "success",
  "data": {
      "deviceName": "device1234",
      "productKey": "al12345****"
    }
}
Tabla 9. Parámetros de respuesta

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

code

Integer

Código de estado. El valor 200 indica que la solicitud se ejecutó correctamente.

message

String

Mensaje de respuesta.

data

Object

Información del subdispositivo que se devuelve independientemente de si la solicitud se ejecuta correctamente o falla. Para obtener más información, consulte la siguiente tabla de data.

Tabla 10. data

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Mensajes de error:

Código de error

Mensaje de error

Observaciones

460

request parameter error

Se devuelve porque los parámetros de la solicitud no son válidos.

520

device no session

Se devuelve porque la sesión del subdispositivo no existe.

Desconexión de varios subdispositivos en lotes

Importante

Puede desconectar un máximo de 50 subdispositivos de IoT Platform simultáneamente.

Datos ascendentes:

  • Tema de solicitud:/ext/session/${productKey}/${deviceName}/combine/batch_logout

  • Tema de respuesta:/ext/session/${productKey}/${deviceName}/combine/batch_logout_reply

Nota

Los subdispositivos utilizan el gateway para comunicarse con IoT Platform. Los temas anteriores corresponden al gateway. Reemplace las variables

${productKey}

y

${deviceName}

en los temas con la información del gateway.

Ejemplo de solicitud en formato Alink JSON:

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

Reemplace los valores de los parámetros

productKey

y

deviceName

en el cuerpo del mensaje con la información correspondiente del subdispositivo.

Tabla 7. Parámetros de solicitud

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

params

Object

Parámetros de la solicitud. Estos parámetros especifican la información del subdispositivo que desea desconectar.

Tabla 8. params

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Ejemplo de respuesta en formato Alink JSON:

{
  "id":"123",
  "code":"200",
  "message":"success",
  "data":[{
      "productKey": "al12345****"
      "deviceName": "device1234"
    },{
      "deviceName": "device4321",
      "productKey": "al12345****"
    }]
}
Tabla 9. Parámetros de respuesta

Parámetro

Tipo

Descripción

id

String

Identificador del mensaje. Valores válidos: de 0 a 4294967295. Cada identificador de mensaje debe ser único para el dispositivo.

code

Integer

Código de estado. El valor 200 indica que la solicitud se ejecutó correctamente.

message

String

Mensaje de respuesta.

data

Object

Información del subdispositivo que se devuelve independientemente de si la solicitud se ejecuta correctamente o falla. Para obtener más información, consulte la siguiente tabla de data.

Tabla 10. data

Parámetro

Tipo

Descripción

deviceName

String

Nombre del subdispositivo.

productKey

String

Clave del producto al que pertenece el subdispositivo.

Mensajes de error:

Código de error

Mensaje de error

Descripción

460

request parameter error

Se devuelve porque los parámetros de la solicitud no son válidos.

520

device no session

Se devuelve porque la sesión del subdispositivo no existe.

Referencias

Para obtener más información sobre cómo conectar subdispositivos a IoT Platform, consulte Device registration.

Para obtener más información sobre códigos de error y soluciones, consulte Error codes received by devices.