子设备注册


在网关下注册子设备。

上行

  • 请求 TOPIC: /sys/{productKey}/{deviceKey}/thing/device/register

  • 响应 TOPIC: /sys/{productKey}/{deviceKey}/thing/device/register_reply


备注

TOPIC 中的 productKey 和 deviceKey 为网关的三元组。

请求数据格式


{
    "method":"thing.device.register",
    "id":"1",
    "params":[
        {
            "timezone":"+08:00",
            "deviceKey":"sample_dev_01",
            "productKey":"subDeviceProductKey1",
            "deviceAttributes":{
                "location":"Shanghai",
                "name":"dev_01"
            },
            "deviceName":{
                "defaultValue":"sample_dev_01",
                "i18nValue":{
                    "en_US":"eng_dev_01",
                    "zh_CN":"中文设备01"
                }
            },
            "deviceDesc":"dev desc"
        },
        {
            "timezone":"+09:00",
            "deviceKey":"sample_dev_02",
            "productKey":"subDeviceProductKey2",
            "deviceAttributes":{
                "location":"Beijing",
                "name":"dev_01"
            },
            "deviceName":{
                "defaultValue":"sample_dev_02",
                "i18nValue":{
                    "en_US":"eng_dev_02",
                    "zh_CN":"中文设备02"
                }
            },
            "deviceDesc":"dev desc"
        }
    ],
    "version":"1.1"
}

请求参数说明


参数

类型

是否必需

说明

method

String

必需

指定请求的操作类型。

id

String

可选

请求的唯一标识符。如果你使用 EnOS SDK,则无需提供 ID,系统会自动生成。如果你使用第三方 MQTT 工具,则可以提供 ID。

version

String

必需

协议版本号。

params

Array

必需

包含一个或多个子设备的信息,每个子设备是一个对象。

timezone

String

必需

子设备所在的时区,格式为 UTC 偏移量,例如 “+08:00”。

deviceKey

String

可选

子设备的 deviceKey,通常与 productKey 一起构成设备的唯一身份。若不指定将由系统自动生成。

productKey

String

必需

子设备的 productKey。

deviceAttributes

String

可选

子设备的自定义属性,键值对形式。

deviceName

String

必需

子设备的名称,支持多语言。至少提供 default 或 en_US 其中一个。

deviceDesc

String

可选

子设备的描述。

响应数据格式


{
  "code":200,
  "data":[
    {
      "deviceSecret":"yourDeviceSecret",
      "assetId":"assetId1",
      "deviceKey":"sample_dev_01",
      "productKey":"subDeviceProductKey1"
    },
    {
      "deviceSecret":"yourDeviceSecret",
      "assetId":"assetId2",
      "deviceKey":"sample_dev_02",
      "productKey":"subDeviceProductKey2"
    }
  ]
}

响应参数说明


参数

类型

说明

code

Integer

结果返回码,200 代表请求成功执行。

data

JSON

包含注册成功的子设备信息,每个子设备是一个对象。

deviceSecret

String

云端为子设备分配的密钥,用于后续认证和通信。

assetId

String

云端为子设备分配的资产 ID,唯一标识设备在云端的资源。

deviceKey

String

子设备的 Device Key,与请求中的 deviceKey 对应。

productKey

String

子设备的 Product Key,与请求中的 productKey 对应。

结果返回码


返回码

错误消息

释义

702

DeviceKey existed

自定义的 Device Key 已存在。

714

Generate deviceKey failed

自动生成 device key 失败。

739

Exceed the product max device size

设备数量超过单个产品下可添加设备的最大值。