Appearance
直连设备一型一密设备的HTTPS动态注册
设备如果没有在平台添加,您需要对设备进行身份注册,标识您的设备,可接受同一设备的多次注册请求。
已注册的设备,后续的每次设备断电后重新上线时都会先经过平台认证,认证通过后,设备才能与平台建连,进行后续的通信。
主要针对一型一密的设备动态注册
云平台接口地址
../gateway/hmiot-device-auth-server/device/registerAndExtras
边缘平台接口地址
../zhcs-edge-hub/v1/device/registerAndExtras
请求方式
POST
请求数据类型
Content-Type: application/json
请求示例
json
{
"productKey": "8725dfbe93a64c5db1653ca766c036ce",
"deviceName": "sn1234或mac123456",
"deviceId": "8725dfbe93a64c5db1653ca766c036ce_sn1234",
"timestamp": "1632445949000",
"sign": "4AC02E63D4D6E80020492B310CAF4C42",
"signMethod": "hmacmd5"
}请求参数说明
| 参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| productKey | String | 是 | 产品唯一标识。 |
| deviceName | String | 是 | 产品下的设备唯一标识。请注意,这里的设备唯一标识,请使用设备管理平台预注册设备时约定使用的设备唯一信息,如设备的MAC地址、IMEI或SN码等。支持英文字母、数字、下划线(_),请不要使用关键字如:time、of、value等 |
| deviceId | String | 否 | 设备ID,用于唯一标识一个设备。如果填写该参数,平台将设备ID设置为该参数值;如果不填写该参数,设备ID由平台分配获得,生成规则为productKey + _ + deviceName拼接而成。 |
| timestamp | String | 是 | 当前时间的时间戳。 |
| sign | String | 是 | 签名。 加签方法:将所有提交给服务器的参数(sign、signMethod除外)按照字母顺序排序,然后将参数和值依次拼接(无拼接符号)。通过signMethod指定的加签算法,使用产品的ProductSecret,对加签内容进行加签。 加签计算示例如下: hmac_md5(productSecret, deviceNamesn1234productKey8725timestamp163*)。 |
| signMethod | String | 是 | 签名方法,目前支持hmacmd5、hmacsha1、hmacsha256。 |
响应示例
json
{
"code": {
"code": "0",
"msg": "操作成功"
},
"result": {
"isPreRegister": "0",
"mqttIp": "xxx.openvalley.net",
"mqttPort": "10040",
"mqttsPort": "10041",
"productKey": "a1234******",
"deviceName": "deviceName1234",
"deviceId": "8725dfbe93a64c5db1653ca766c036ce_sn1234",
"deviceSecret": "adsfw******"
}
}响应参数说明
参数名称 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| code | Object | 是 | 调用结果对象。 |
| code | String | 是 | 0为成功,非0为失败。 |
| msg | String | 是 | 此次请求结果说明,成功或失败,具体的失败原因等信息。 |
| result | Object | 是 | 返回结果数据对象。 |
| isPreRegister | String | 是 | 1表示已存在的设备, 0表示新注册的设备。 |
| mqttIp | String | 是 | MQTT连接地址。 |
| mqttPort | String | 是 | MQTT的端口。 |
| mqttsPort | String | 是 | MQTTS的端口。 |
| productKey | String | 是 | 产品唯一标识。 |
| deviceName | String | 是 | 产品下的设备唯一标识。 |
| deviceId | String | 是 | 设备ID,用于唯一标识一个设备。如果填写该参数,平台将设备ID设置为该参数值;如果不填写该参数,设备ID由平台分配获得,生成规则为productKey + _ + deviceName拼接而成。 |
| deviceSecret | String | 是 | 设备密钥。 |