文档

设备身份注册

更新时间:

设备上线之前您需要对设备进行身份注册,标识您的设备。

概述

接入物联网平台的设备身份注册有两种方式:

子设备的MQTT动态注册

  • 请求Topic:/sys/${productKey}/${deviceName}/thing/sub/register

  • 响应Topic:/sys/${productKey}/${deviceName}/thing/sub/register_reply

请求数据格式:

{
  "id": "123",
  "version": "1.0",
  "sys":{
      "ack":0
  },
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "a1234******"
    }
  ],
  "method": "thing.sub.register"
}

响应数据格式:

{
  "id": "123",
  "code": 200,
  "data": [
    {
      "iotId": "12344",
      "productKey": "a1234******",
      "deviceName": "deviceName1234",
      "deviceSecret": "xxxxxx"
    }
  ]
}

参数说明如下表。

参数

类型

说明

id

String

消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。

version

String

协议版本号,目前协议版本号唯一取值为1.0。

sys

Object

扩展功能的参数,其下包含各功能字段。

说明

使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。

ack

Integer

sys下的扩展功能字段,表示是否返回响应数据。

  • 1:云端返回响应数据。

  • 0:云端不返回响应数据。

重要

该功能配置说明,请参见物模型使用示例

如果未配置该功能,则无此参数,云端默认返回响应数据。

params

List

子设备动态注册的参数。

deviceName

String

子设备的名称。

productKey

String

子设备的产品ProductKey。

iotId

String

设备的唯一标识ID。

deviceSecret

String

设备密钥。

method

String

请求方法,取值thing.sub.register

code

Integer

结果信息。

错误码说明如下表。

错误码

消息

描述

460

request parameter error

请求参数错误。

6402

topo relation cannot add by self

设备不能将自己添加为自己的子设备。

401

request auth error

签名校验失败。

直连设备的HTTPS动态注册

  • URL模板:https://iot-auth.${YourRegionId}.aliyuncs.com/auth/register/device

  • HTTP方法:POST

    请求数据格式:

    POST /auth/register/device  HTTP/1.1
    Host: iot-auth.cn-shanghai.aliyuncs.com
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 123
    productKey=a1234******&deviceName=deviceName1234&random=567345&sign=adfv123hdfdh&signMethod=HmacMD5

    响应数据格式:

    {
      "code": 200,
      "data": {
        "productKey": "a1234******",
        "deviceName": "deviceName1234",
        "deviceSecret": "adsfw******"
      },
      "message": "success"
    }

    参数说明如下表。

    参数

    类型

    说明

    Method

    String

    请求方法,只支持POST。

    Host

    String

    HTTPS动态注册的设备接入地址,格式为iot-auth.${YourRegionId}.aliyuncs.com

    ${YourRegionId}:请替换为您的物联网平台设备所在地域的Region ID。

    • 支持HTTPS动态注册的地域:除华北2(北京)、华南1(深圳)以外的所有地域。

    • Region ID表达方法,请参见支持的地域

    Content-Type

    String

    设备发送给物联网平台的上行数据的编码格式。

    productKey

    String

    产品唯一标识。

    deviceName

    String

    设备名称。

    random

    String

    随机数。

    sign

    String

    签名。

    加签方法:

    1. 将所有提交给服务器的参数(signsignMethod除外)按照字母顺序排序,然后将参数和值依次拼接(无拼接符号)。

    2. 通过signMethod指定的加签算法,使用产品的ProductSecret,对加签内容进行加签。

    加签计算示例如下:

    hmac_sha1(productSecret, deviceNamedeviceName1234productKeya1234******random123)

    signMethod

    String

    签名方法,目前支持hmacmd5、hmacsha1、hmacsha256。

    code

    Integer

    结果信息。

    deviceSecret

    String

    设备密钥。