子设备注册¶
在网关下注册子设备。
上行
请求 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  | 
结果返回码,  | 
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  | 
设备数量超过单个产品下可添加设备的最大值。  |